关于定义初始值存放位置的一点疑惑?

2019-07-20 13:59发布

如果在代码中那个定义:u8 a[]={1,2,3};这应该属于编译的RW部分,最终会被放到ram中。
如果定义const u8[]={1,2,3};会被编译成RO部分,最终放在flash。
一上两种情况值定义是可以在代码运行时直接用的。但是如果定义u8 a[3]  __attribute__ ((at(0xd0000000)))={1,2,3};放在SDRAM中是有问题的。
请问这个应该怎么解决?是把SDRAM初始化放到main函数之前?谢谢啦!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。