怎样分配const到程序存储器?

汪园园   2008-4-27 02:24 楼主
为了将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 最后编辑 ]

回复评论 (2)

你好,请问一下:dspar -x rts.src boot.asm
是在哪里操作,我怎么不能从源库中提取出boot.asm
谢谢!
点赞  2008-4-27 07:55
在Windows的DOS窗口中运行.
点赞  2008-4-27 09:45
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复