如何在多核之间共同读写相同地址的变量? - TMS320C6678 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4312|回复: 3
打印 上一主题 下一主题

如何在多核之间共同读写相同地址的变量?

[复制链接]

32

主题

97

帖子

2049

积分

金牌会员

Rank: 6Rank: 6

积分
2049
跳转到指定楼层
楼主
发表于 2016-8-11 12:51:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   我的做法是这样的:
1、首先在两个核对应的工程中在CMD文件中划分一块MEMORY,也就是MSM多核共享区的一个子块。
2、然后在各自工程的源文件中定义一个全局指针变量,具体是这样的 volatile Uint32 *Gpio_communication_flag = (volatile Uint32 *)(0x0c000000);       然后让这个指针变量指向地址在上述划分的MEMORY中的内存空间。
  用仿真器连上Core0和Core1后加载程序,我在Core1中是要改变*Gpio_communication_flag他的值,然后我在Core0中查看它的值是不是我写进去的值,结果发现不是的。请问这样做有什么问题吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
推荐
发表于 2016-8-11 19:54:52 | 只看该作者
IRONMAN 发表于 2016-8-11 15:36
那要怎么解决?使用这个函数吗?WritebackCache((void *)uipDst, uiByteCount);

Not exactly right
读之前 CacheInv
写之后 CacheWB
回复 支持 1 反对 0

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-11 13:41:31 | 只看该作者
可以 光盘有例程就是这种方式
一般不一致是缓存问题
回复 支持 反对

使用道具 举报

32

主题

97

帖子

2049

积分

金牌会员

Rank: 6Rank: 6

积分
2049
板凳
 楼主| 发表于 2016-8-11 15:36:07 | 只看该作者
希望缄默 发表于 2016-8-11 13:41
可以 光盘有例程就是这种方式
一般不一致是缓存问题

那要怎么解决?使用这个函数吗?WritebackCache((void *)uipDst, uiByteCount);

点评

Not exactly right 读之前 CacheInv 写之后 CacheWB  详情 回复 发表于 2016-8-11 19:54
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-4-28 06:25 , Processed in 0.041874 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表