TI中文支持网
TI专业的中文技术问题搜集分享网站

多核同步变量赋值问题。

我这出现了一个问题,在主程序中在MSM段定义了一个共享多核同步变量isDATAInitialized。在中断程序中也做了声明,但是该变量在中断程序中无法修改,已经维护了cache一致性。

编译的时候有如下warning,一直不清楚是什么意思。

Section ".MSRAM" requires a STATIC_BASE relative relocation, but is located at 0x0c000000, which is probably out of range of the STATIC_BASE. STATIC_BASE is located at 0x00828818. Might be required to correct placement of ".MSRAM" so it lies within 0x8000 of the STATIC_BASE.  SAR_IMAGE_PROCESS   C/C++ Problem

relocation from function "IPC_ISR" to symbol "isDATAInitialized" overflowed; the 26-bit relocated address 0x2e05dfa is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file = "./ipc_interrupt.obj", offset = 0x0000068c, section = ".text")  SAR_IMAGE_PROCESS   C/C++ Problem

relocation from function "IPC_ISR" to symbol "isDATAInitialized" overflowed; the 26-bit relocated address 0x2e05dfa is too large to encode in the 15-bit unsigned field (type = 'R_C6000_SBR_U15_W' (13), file = "./ipc_interrupt.obj", offset = 0x00000694, section = ".text")  SAR_IMAGE_PROCESS   C/C++ Problem

请问waring出现的原因,和改变isDATAInitialized的办法。直接往该地址写值是可以的,但是感觉不规范。

Andy Yin1:

什么叫在中断程序中对变量进行声明?共享变量定义及声明均需要是全局的。

赞(0)
未经允许不得转载:TI中文支持网 » 多核同步变量赋值问题。
分享到: 更多 (0)