arm 发表于 2013-3-13 11:12:36

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

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

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

按照这种方法,我试了,不行

xiaobendan001 发表于 2013-3-13 11:27:40

当然是 _at_

arm 发表于 2013-3-13 11:29:25

xiaobendan001 发表于 2013-3-13 11:27 static/image/common/back.gif
当然是 _at_

at 是变量的,,我的是常量,保存在flash区的常量

Tliang 发表于 2013-3-13 11:43:29

本帖最后由 Tliang 于 2013-3-13 11:50 编辑

汇编
ORG

jsjjccc 发表于 2013-3-13 12:16:53

我用你那方法试了下完全正确啊

arm 发表于 2013-3-13 12:31:23

jsjjccc 发表于 2013-3-13 12:16 static/image/common/back.gif
我用你那方法试了下完全正确啊

我用这方法解决了

在工程中建立一个新的文件,如InitVars.c,在其中对要处理的变量赋初值(假设是code变量):char code myVer = {"COPYRIGHT 2001-11"};然后将该文件加入工程,编译,打开M51文件,若定义的是code型,则在* * * C O D E M E M O R Y * * *下可找到:CODE xxxxH xxxxH UNIT ?CO?INITVARS然后在:Project->Options for Target ...->BL51 Locate:Code中填入:?CO?INITVARS(0x200)再次编译即可。

bbs2009 发表于 2013-3-13 12:56:53

Alimy 发表于 2013-3-13 13:39:51

本帖最后由 Alimy 于 2013-3-13 13:50 编辑

准备烧流水号什么的吧。。KEIL 程序定位(转) http://blog.csdn.net/hanhc1989/article/details/6215367

GZLJZ 发表于 2013-3-13 13:56:16

Alimy 发表于 2013-3-13 13:39 static/image/common/back.gif
准备烧流水号什么的吧。。KEIL 程序定位(转) http://blog.csdn.net/hanhc1989/article/details/6215367 ...

学习了,打开连接就是图片怎么不显示了?

Alimy 发表于 2013-3-13 14:03:25

本帖最后由 Alimy 于 2013-3-13 14:09 编辑

GZLJZ 发表于 2013-3-13 13:56 static/image/common/back.gif
学习了,打开连接就是图片怎么不显示了?

这个是放在ROM里面的。(Rand数组分别放在 ROM中的 0x3ff0(Rand)0x3ff1(Rand)0x3ff2(Rand))。。对了。flash不是xdata么?图片貌似失效了。这帖子本来就是阿莫论坛出去的。。http://blog.csdn.net/hanhc1989/article/details/6215367 这个我是可以看到的。

GZLJZ 发表于 2013-3-13 14:06:44

哦,那是我的IE浏览器有问题了,

lihw2@ 发表于 2013-3-13 14:36:15

char code dx516 _at_ 0x00ff;   code定义到rom里

bbs2009 发表于 2013-3-13 14:57:03

arm 发表于 2013-3-13 16:42:46

Alimy 发表于 2013-3-13 14:03 static/image/common/back.gif
这个是放在ROM里面的。(Rand数组分别放在 ROM中的 0x3ff0(Rand)0x3ff1(Rand)0x3ff2(Rand ...

谢谢,,,flash是code

xyz2008 发表于 2013-12-6 17:46:36

我试验了一下,成功了,上传工程,方便后面的人快速搞定
页: [1]
查看完整版本: keil c51 怎样绝对定位数组的起始地址