|
发表于 2012-8-23 14:05:36
|
显示全部楼层
本帖最后由 snark 于 2012-8-23 14:13 编辑
在网上搜索到2种方法:
1. 在makefile 中定义section,如下:
LDFLAGS = -Wl,--section-start=.mydatasection=0x001000,-Map=$(TARGET).map,--cref
然后引用
const unsigned char data[] __attribute__((section(".mydatasection")))={
0x10,0x20,0x30
};
2. 在连接脚本里修改设置.
在实验方法1
在makefile 中设置
LDFLAGS += -Wl,--section-start=.mydatasection=0x001500
在main.c中引用
const unsigned char mydata[4] __attribute((section(".mydatasection"))) = {'9','1','2','3'};
但是要注意,mydatasection 的定位地址,要是其它段没有用到的才可以,否则会报错,有地址重叠.
纯COPY(htt p://www . u sr.cn/News/74.html,去掉空格),第一个方法试验了可行。不知道那位老大知道FLASH变量的定位地址在其它段也用到的情况下,如何定义。 |
|