keil c51 怎样绝对定位数组的起始地址

2020-01-25 15:31发布

   我有个数组:
unsigned char code table[3] = {1, 2, 3};
   假如要求在flash的0x1000处开始存放,怎么做呢?

网上有说:
   常量定位及初始化:
   新建一个TABLE.C, 写入
   char code table[]={ 初始值};
    KEIL定位:选择 option-->BL51 Locate, 在CODE:栏中写入如:
   ?CO?TABLE(0x7000)
   这样,table[]表就定位到了0x7000开始的程序段。

按照这种方法,我试了,不行
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
xiaobendan001
1楼-- · 2020-01-25 20:45
当然是 _at_
arm
2楼-- · 2020-01-26 00:45
xiaobendan001 发表于 2013-3-13 11:27
当然是 _at_

at 是变量的,,我的是常量,保存在flash区的常量
Tliang
3楼-- · 2020-01-26 04:58
本帖最后由 Tliang 于 2013-3-13 11:50 编辑

汇编
ORG
jsjjccc
4楼-- · 2020-01-26 07:30
我用你那方法试了下完全正确啊
arm
5楼-- · 2020-01-26 08:53
 精彩回答 2  元偷偷看……
jswd0810
6楼-- · 2020-01-26 14:01
你怎么还非得把它存到固定地址,让编译器自动处理不好吗?

一周热门 更多>