完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
突击了解了一下hpm芯片,感觉挺好的,单核就达到了CORTEX-M7的速度。关于双核(主要是hpm6280)有些问题想求证一下。
1-共享内存交换数据,信箱做通知,互斥,信号量用,二者结合起到核间数据交换左右(这一条基本能理解)。 2-时钟,所有外设时钟均会在主核core0的板级初始化函数中做配置,并进行分组。比如uart0由core0控制,则其时钟就分组给cor0。同理,i2c1是由core1控制的,则其时钟就应该分组到group1,并关联到core1。这样的话,i2c1对core0就应该完全忽略其存在性,由core1做初始化并完全使用。同时,core1如果休眠,其管理的外设也会自动退出(如i2c1)。因为例程中的时钟初始化,只有机器定时器1是分到group1和core1的,所以不太确定。 3-只有共享内存(linker文件中已配好16k)是双核都能访问的,且该ram区只能是nocache型,本质上,这块共享内存地址和大小是不限的,保证双核一致且nocache即可,但不知道如果双核同时访问是否允许。 4-只要在core0中完成外设时钟初始化并分好组,各自核的所属外设就已明确,可以初始化和使用,另一核只需要留意不去访问之即可。 5-总结一下就是 .内存分配:共享内存一致且nocache。其它内存地址错开即可。 .外设分配:core0做板级初始化外设时钟时候由人工指定时钟分组以及该组隶属于哪个核。这一步就把各个外设的产权关系明确了。外设属于哪个核,就由该核初始化和使用。 不知道这样理解对不对。因为sdk例程相对简单,有些环节拿捏不准。 |
|
相关推荐
1个回答
|
|
关于双核问题的求证,您所提到的方法是一个常用的解决方案。双核架构中,可以通过共享内存实现两个核心之间的数据交换。可以通过信箱(mailbox)进行通知和互斥操作,通过信号量(semaphore)实现临界区的保护。这样,两个核心可以在共享内存中读取和写入数据,同时通过信箱和信号量确保数据的正确性。
关于时钟配置,您的理解是正确的。在主核的板级初始化函数中,可以配置外设时钟,并将其分组给相应的核心。这样,每个核心只需要初始化和使用自己管理的外设,对于其他核心管理的外设可以忽略其存在性。当其中一个核心进入休眠状态时,由另一个核心接管其管理的外设。 需要注意的是,具体的实现可能会根据芯片的架构和设计选择不同的方法和方案。以上只是一种常见的解决方案,具体的实现可能还受限于芯片的特性和设计选择。如果您有具体的双核芯片型号或厂商的技术文档,可以参阅其文档了解更详细的信息。
最佳答案
|
|
|
|
只有小组成员才能发言,加入小组>>
379个成员聚集在这个小组
加入小组465 浏览 1 评论
575 浏览 0 评论
先楫HPM6E00技术日 | 百人研讨共话工业应用创新及发展趋势
790 浏览 0 评论
819 浏览 0 评论
2038 浏览 22 评论
【盖楼抢好礼】欢迎先楫半导体HPMicro入驻电子发烧友社区!
22100浏览 532评论
2038浏览 22评论
USBX范例中启用 double FPU , 运行异常,卡死在tx_risc_v_trap_handler函数
2783浏览 5评论
1574浏览 5评论
请问Segger Embedded Studio这个窗口不小心拉出来悬浮后怎么塞回去?
2680浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-3 04:11 , Processed in 0.538076 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号