完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ti的工程师你们好!
自制的一块6678板子,多核跑程序时出现问题,定义在共享内存内的变量,其他核心无法正确读取数据 在BIOS内,我从共享内存内开辟了一段1K的空间,名字叫做MSMC_DATA. 在cfg内,使用如下指令定义一个新段ShareData并放入MSMC_DATA.内 Program.sectMap[".ShareData"] = new Program.SectionSpec(); Program.sectMap[".ShareData"].loadSegment = "MSMC_DATA"; 在程序内,使用DATA_SECTION将共享变量放入到ShareData段内 #pragma DATA_SECTION (TrackingInf1, ".ShareData")//sharedata is confided in the cfg file volatile TrackingInf TrackingInf1; 但是当程序运行过程中,如果TrackingInf1发生了改变,其他核心并不能正确读取变量的值, 所以是不是应该将其存储空间(MSMC_DATA)或者段(ShareData)定义为Noncacheable? 具体需要如何操作?是在cfg文件内进行还是在Main函数中? 如果有更好的解决办法又该如何处理? |
|
相关推荐
3 个讨论
|
|
谢谢你的回复! 不过我是在MSMC内开的共享空间,这个空间一部分开成non cache的话好像需要使用XMC进行空间映射 觉得这么做太麻烦了,最后就用MessageQ进行数据交互了 现在我的ShareRegion在共享L2内,只要我的结构体内不含有数组指针的话 我用MessageQ传结构体就不要进行Cache一致性维护了吧! 自定义的结构体如下 typedef struct TrackingMessage[ MessageQ_MsgHeader header; Uint32 X_locationori; Uint32 Y_locationori; Uint32 Boxori; Uint32 X_location; Uint32 Y_location; Uint32 Box; Uint32 Index; Uint32 CountMin; Uint32 CountIn; Uint32 status; ] TraMsg; |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
919 浏览 1 评论
531 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
408 浏览 1 评论
962 浏览 0 评论
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
2125 浏览 0 评论
54浏览 3评论
CC3100BOOST使用CC3200lunchXL进行烧录
908浏览 2评论
150浏览 2评论
191浏览 2评论
169浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-27 07:38 , Processed in 0.903803 second(s), Total 49, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号