您好:
这样一个问题,我的CMD文件中有这样一条语句:
ramfuncs :{rts2800_ml.lib(.text)} LOAD = FLASHI, RUN = RAML0, LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
PAGE = 0
这时,.MAP文件是这样的:
ramfuncs 0 003da000 00000c38 RUN ADDR = 00008000
003da000 00000044 rts2800_ml.lib : boot.obj (.text)
003da044 0000004a : exit.obj (.text)
003da08e 00000009 : _lock.obj (.text)
003da097 00000014 : args_main.obj (.text)
003da0ab 000000f3 : atan2.obj (.text)
003da19e 0000008f : cos.obj (.text)
003da22d 00000078 : fs_add.obj (.text)
003da2a5 00000017 : fs_cmp.obj (.text)
003da2bc 00000083 : fs_div.obj (.text)
003da33f 0000005a : fs_mpy.obj (.text)
003da399 00000005 : fs_neg.obj (.text)
003da39e 00000025 : fs_toi.obj (.text)
003da3c3 00000029 : fs_tol.obj (.text)
003da3ec 0000001d : fs_tou.obj (.text)
003da409 00000022 : i_div.obj (.text)
003da42b 0000001a : i_tofs.obj (.text)
003da445 0000002a : l_div.obj (.text)
003da46f 00000041 : memcpy.obj (.text)
003da4b0 00000084 : pow.obj (.text)
003da534 0000008f : sin.obj (.text)
003da5c3 00000051 : sqrt.obj (.text)
003da614 0000000b : u_div.obj (.text)
003da61f 00000010 : u_tofs.obj (.text)
003da62f 0000008d : _log.obj (.text)
003da6bc 0000009e : exp.obj (.text)
003da75a 00000013 : frexp.obj (.text)
003da76d 00000030 : ldexp.obj (.text)
003da79d 00000017 DSP281x_SysCtrl.obj (ramfuncs)
003da7b4 00000151 fft.obj (ramfuncs)
003da905 0000027f Main.obj (ramfuncs)
003dab84 000000b4 Scia.obj (ramfuncs)
烧写进FLASH后,F2812不能启动;
而把ramfuncs :{rts2800_ml.lib(.text)} LOAD = FLASHI,
改成 ramfuncs : LOAD = FLASHI,后,能够正常烧写、启动与运行。我的实际目的是想把rts2800_ml.lib的常用函数放到RAM中运行以提高FFT的计算速度。
在最初几次尝试时,ramfuncs :{rts2800_ml.lib(.text)} LOAD = FLASHI, 是这样时,程序烧进FLASH后,有一个提示,大概意思是FLASH程序要对RAM的一些数据初始化,但后来就没有这个提示了。我的感觉是BOOT.obj不能放到RAM中。
如果不把这个放到RAM中,不知道该怎么写CMD
003da000 00000044 rts2800_ml.lib : boot.obj (.text)
003da044 0000004a : exit.obj (.text)
003da08e 00000009 : _lock.obj (.text)
比如这样写:而把ramfuncs :{cos.obj(.text)} LOAD = FLASHI, 编译是出错的,
请问我应该怎么写CMD呢?