不同种类的机型会有不同的定义方法, 例如用于DSP56F800/E的Codewarrior V7.2可有二种定义方法: 1)const int 用于把一个常量定义在数据flash中; 2)__pmem const int (注意这里下划线是二个且中间没有空格)用于把一个常量定义在程序flash中,这个功能非常有用,它可以用来定义一个巨大的表格。作者: lhp5890 时间: 2005-6-8 16:09
usliwu:
codewarrior V7.0中第一种方法可行,第二种方法我是了一下,出现了错误如下:
Link Error : Fcounter(.const.data.pmem) in file ad.c is referenced but has not been written.
Check your linker command file.
Link failed.
我定义的数组名为counter[500];作者: lhp5890 时间: 2005-6-8 16:13
# .text sections
OBJECT (F_EntryPoint, Cpu.c) # The function _EntryPoint have to be placed at the beginning of the code
# section for proper functionality of the serial bootloader.
* (.text)
* (rtlib.text)
* (startup.text)
* (fp_engine.text)
* (user.text)
* (.const.data.pmem) #后加的
F_Pcode_end_addr = .;
# save address where for the data start in pROM
. = ALIGN(2);
__pROM_data_start = .;
} > .p_Code作者: usliwu 时间: 2005-6-9 13:20
请将你的email给,我将这个例子传给你。你也可以存CodeWarrior手册中找到答案。打开CoseWarrior; 点 Help ->CodeWarrior PDF Manual Folders 打开PDF 文件 "Targeting_56800E.pdf" 从135页-139页给出了如何使用Pflash存常数. 存138-139页给出了如何修改linker command file.
如果你使用PE,你要到CPU bean 中disable "Generate linker file": Open CPU bean -> Build options -> Generate linker file 将这个选项从Yes改为"no"作者: lhp5890 时间: 2005-6-10 09:28