DSP型号为5509A,板子是我们自己做的,现在是脱机阶段!想把已经调试好的程序通过HPI方式加载,按照TI文档提供的顺序将生成的bin文件加载到DSP后,并不能正常工作,我们的设置如下:
1.批处理文件设置:hex55.exe -bootorg -v5510:2 -memwidth 8 -romwidth 16 -map LED.mxp LED.out -e 0x1400 -b -o LED.bin (其中-e 0x1400是根据map文件中
ENTRY POINT SYMBOL: "_c_int00" address: 0x1400)
2.CCS中build options->linker中的设置为:-q -c -e0x1400 -m".\Debug\LED.map" -o".\Debug\LED.out" -x
3,cmd文件:
-w
-stack 0x1200
-sysstack 0x400
-heap 0x600
-lrts55x.lib
MEMORY
{
PAGE 0:
VECS : origin = 0000100h, length = 0000100h
/*HPIRAM: origin = 0200h length = 0700h*/
DARAM: origin = 0200h length = 06000h
/*DARAM1: origin = 06200h length =1200h*/
ROM: origin = 0010000h length = 02FFF0h
}
SECTIONS
{
.vectors : {} > VECS PAGE 0
.text: > DARAM PAGE 0
.data: > DARAM PAGE 0
.cinit > DARAM PAGE 0
.bss: > DARAM PAGE 0
.cio: > DARAM PAGE 0
.const > DARAM PAGE 0
.stack > DARAM PAGE 0
.sysstack > DARAM PAGE 0
.csldata: > DARAM PAGE 0
.dmaMem: {} > DARAM PAGE 0
.voicedata: {} > DARAM PAGE 0
.sysmem: {} > DARAM PAGE 0
.sourdata : {} > DARAM PAGE 0
.hpiRam: {} > DARAM PAGE 0
.hpiRam1: {} > DARAM PAGE 0
}
经过上面的设置后,将生成的bin文件通过HPI 加载到DSP后(经过对比加载的数据是正确的),并不能正常工作,load symbols only 单步运行后发现根本进不了main函数,将build options中的选项-c-改成cr后可以进main函数,但是在main函数运行的时候很多csl库中的函数根本没起作用,程序也不能正常工作,我想问下正确的HPI加载方式还需要设置什么地方?