为了将const分配到程序存储器,我按书上说的方法,从源库中提取出boot.asm:
dspar -x rts.src boot.asm
然后将boot.asm中的
COSNT COPY .set 0 改为 CONST COPY .set 1
汇编boot.asm:
dspa -v boot.asm 产生boot.obj
接下来将引导程序存档到目标库中:
dspar -r rts2xx.lib boot.obj
以下是我的.CMD文件内容:
MEMORY
{
PAGE 0:
VEC: origin=0x0, length=0x40
EX_PM: origin=0x0044, length=0x7fbe
PAGE 1:
REG: origin=0x0, length=0x60
BLK_B2: origin=0x0060, length=0x20
BLK_B0: origin=0x0200, length=0x100
BLK_B1: origin=0x0300, length=0x100
PERIPH: origin=0x7000, length=0x1000
CPLD: origin=0x8000, length=0x100
STACK: origin=0x8100, length=0x0400
EX_DM: origin=0x8500, length=0x7A00
}
SECTIONS
{
vectors : { } > VEC PAGE 0
.text : { } > EX_PM PAGE 0
.cinit : { } > EX_PM PAGE 0
.switch : { } > EX_PM PAGE 0
.stack : { } > STACK PAGE 1
.bss : { } > EX_DM PAGE 1
.const : load = EX_PM PAGE 0, run = EX_DM PAGE 1
{
__const_run = .;
*(.c_mark)
*(.const)
__const_length = . - __const_run;
}
.sysmen : { } > EX_DM PAGE 1
}
可是在连接时出现如下的错误提示:
>> linking files for incompatible targets (library E:\\PROGRAMS\\OMR_2407A_B_LCD\\rts2xx.lib, member boot.obj)
请教各位老师,哪儿做得不对,应该怎么修改?谢谢!!!!
[ 本贴由 TURNTOGO 于 2007-4-28 10:29 最后编辑 ]
你好,请问一下:dspar -x rts.src boot.asm
是在哪里操作,我怎么不能从源库中提取出boot.asm
谢谢!