打印

请教KEIL CODE区覆盖的问题

[复制链接]
2156|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tides|  楼主 | 2011-2-28 23:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定义了如下两个数组在CODE区里,编译的时候显示覆盖警告错误,请高人指点如何解决,后一个数据需要放在CODE区(程序表格),前面这个是仿真器必须设置的代码。

char code SST516[3] _at_ 0x003b;
unsigned int code ATab[45] =
{17,......,707};

相关帖子

沙发
ayb_ice| | 2011-3-1 08:30 | 只看该作者
错开即可

使用特权

评论回复
板凳
tides|  楼主 | 2011-3-1 19:29 | 只看该作者
2# ayb_ice
错不开啊!我就是觉得奇怪

使用特权

评论回复
地板
ayb_ice| | 2011-3-1 20:09 | 只看该作者
仔细看编译提示信息
很可能是和中断向量重叠了
另外后面那个数据没有绝对定位是没有问题的

使用特权

评论回复
5
xjycug| | 2011-3-1 21:11 | 只看该作者
呵呵,一个数组另外定义一个文件,比如文件名为ABCD.c。建立工程。
使用Option中的BL51 Locate选项中的Code设置项设置即可。
设置为:?CO?ABCD(0x0100),定义的代码起始地址为0x0100。
编译工程,生成 .hex文件,
然后单独下载该代码到单片机。可以保证代码段内的数据。
方法有点笨,不过好使,呵呵。
如果楼主没有特别的地址要指定,可以把_at_ 0x003b去掉就没有问题。
好像_at_ 不能用于数组的情况。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

16

帖子

0

粉丝