完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
自己写了一段小程序,想要实现core0和core1之间的数据通信。
其中使用了全局变量flag作为标志位,指示core0是否完成数据的操作。 软件:ccs5.4 6678仿真运行。 运行的步骤:先在core0中跑,然后手动切换到core1中跑相同的程序。 问题:当切换到core1中时,发现flag=0,但是data[100]中是core1执行完程序的数值0,1,2.......99。 而且在ccs的变量查看窗口看到core0和core1的flag所在地址是相同的。 请问:为什么flag不能同步呢? 程序: #include |
|
相关推荐
2个回答
|
|
0x0C000000开始的地址属于SL2,Cache一致性不能自动维护,需要手动维护,所以在每次写完flag以后要writeback,每次读之前要invalidate
|
|
|
|
hdfsf 发表于 2018-6-21 08:28 Allen Yin 谢谢你的回答! 在德仪社区看到了下面的方法:http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/6338.aspx The operations on Core 0 are: Write Flag at shared memory If(Cache is enabled for access shared memory) [ If(L2 Cache Size>0) [ CACHE_wbL2(flag address, size of flag); ] Else if(L1D Cache Size>0) [ CACHE_wbL1D(flag address, size of flag); ] ] The operations on Core 1 are: If(Cache is enabled for access shared memory) [ If(L2 Cache Size>0) [ CACHE_invL2(flag address, size of flag); ] Else if(L1D Cache Size>0) [ CACHE_invL1D(flag address, size of flag); ] ] If(Prefetch buffer is enabled for access Core X’s L2 RAM) [ Invalidate Prefetch Buffer; ] Read Flag at shared memory |
|
|
|
只有小组成员才能发言,加入小组>>
348 浏览 1 评论
543 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
789 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
660 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
79浏览 29评论
269浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
261浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
210浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
68浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 03:45 , Processed in 0.843287 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号