工具/软件:TI C/C++编译器
下面的数据部分pragma出现了问题(F2.8375万S, CGTv 6.4。4)
例如,链接器命令已简化
内存
{
第0页:/*程序*/
MEM1 :原点= 0x00b000,长度0x0.4万
第1页:/*数据*/
RAM_STacks:原点= 0x0.0002万,长度0x0007FE
CLA_RAM: 原点= 0x0.8万,长度= 0x0.2万 /* CLA RAM LS0-3 */
}
章节
{
my_CLA_RAM :> CLA_RAM,第=1页
}
在C文件中, 变量被声明为这样
#pragma data_section(sample,"CLA_RAM);//放置在CLA_RAM中,而不是my_CLA_RAM中
UINT16样本=0;
在*.CLA文件包含的*.h文件中,
extern UINT16样本;
当放置在CLA_RAM中时,变量 "SAMPLE" 位于堆栈区域的0x0.0002万处。 没有发出警告。 当然,当放置在my_CLA_RAM中时,没有问题。
所以,只是想知道这种放置在堆垛区的情况,以及为什么没有发出警告。 这导致了一个奇怪的调试会话, 其根本原因是 CLA无法访问RAM中的变量。
谢谢!
Eric