Board logo

标题: 程序中如何在固定地址装入常数表 [打印本页]

作者: city_rip    时间: 2008-12-8 16:31     标题: 程序中如何在固定地址装入常数表

各位大侠好,在下想问一下如何在DSP程序中固定写入一个常数表,

即,把数据:0x6600 0x8899 0x2211~~~~~~~~~~~~0x8888,这些数据放在程序FLASH的0x00001000开始的地址空间,请问如何定义或写?只要程序烧进去了,不用运行程序,数据就在程序FLASH的0x00001000开始的地址空间,我找了网站上没有看到这些资料,谢谢大侠!


作者: strongchen    时间: 2008-12-10 09:55

定义一个常量数组就可以了。
作者: city_rip    时间: 2008-12-11 13:16     标题: 谢谢版主的回答,但是还不明白;请说详细点好吗

谢谢版主的回答,但是还不明白;请说详细点好吗

const unsigned int rf_init={3612,3769,3455,3612};

请问版主如何指定这些数据存储在FLASH区的0X1000呢?


作者: strongchen    时间: 2008-12-11 17:00

用这样的格式就可以了:

const unsigned int rf_init[]@0x1000 ={3612,3769,3455,3612};


作者: Fiona.Kuang    时间: 2008-12-11 17:55

56800E 编译器应该不认识这种写法
作者: Fiona.Kuang    时间: 2008-12-11 17:56

QUOTE:
以下是引用strongchen在2008-12-11 17:00:00的发言:

用这样的格式就可以了:

const unsigned int rf_init[]@0x1000 ={3612,3769,3455,3612};

56800的编译器应该不认识这种写法


作者: Fiona.Kuang    时间: 2008-12-11 17:57

定义一个段,并在LCF文件中分配地址
作者: city_rip    时间: 2008-12-12 17:13

const unsigned int rf_init[]@0x1000 ={3612,3769,3455,3612};

同意Fiona.Kuang的,这种写法CW编译器出错

请问Fiona.Kuang,LCF文件是什么文件,我没有找到这种文件

我用的是CW7.3版本的

谢谢!


作者: Fiona.Kuang    时间: 2008-12-12 17:27

可能版主说的是其他版本的CodeWarrior 吧,如果要在CW for DSC里这么做的话,只有定义一个section, 并把你的数组放在这个section里面,然后在LCF中分配地址,我不知道比这更简单的方法。

LCF- linker command file, 你可以在Targeting Manual 里找到相关的描述


作者: Fiona.Kuang    时间: 2008-12-12 17:27

QUOTE:
以下是引用Fiona.Kuang在2008-12-12 17:27:00的发言:

LCF- linker command file,扩展名.cmd






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0