硬件平台:C6678 评估板
我想设置一个全局量数据结构,每个core都有读的权限,每个core对自己负责的部分有写的权限。
请问:这个全局量我怎么配置,或者如何编写代码,才能多所有的core可见。
此数据结构不会被经常访问,但有4k的样子,是不是可以放在DDR中,由多个core进行共享,如果这样,如何对工程进行编写或设置?
如果可以请写个简单的例子,希望不吝赐教,万分感激。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
硬件平台:C6678 评估板
我想设置一个全局量数据结构,每个core都有读的权限,每个core对自己负责的部分有写的权限。
请问:这个全局量我怎么配置,或者如何编写代码,才能多所有的core可见。
此数据结构不会被经常访问,但有4k的样子,是不是可以放在DDR中,由多个core进行共享,如果这样,如何对工程进行编写或设置?
如果可以请写个简单的例子,希望不吝赐教,万分感激。
Yu,
您可以把这个变量放在DDR或者MSMC, 每个核的工程重复定义这个变量并通过cmd文件的memory将其放在相同的memory, 例如:
cmd文件:
shared_DDR: o = 0x80000000 l = 0x01000000
.share_Var > shared_DDR
C文件用下面的语句将变量指定到.share_Var 段
#pragma DATA_SECTION( Var_name, .share_Var)
多核共享数据要注意cache一致性维护的问题。 如果对cache的特性不了解,可以看sprugw0b.pdf。 或者将这个共享数据定义为non-cacheable