TI中文支持网
TI专业的中文技术问题搜集分享网站

求助TMS320VC5509A+AT25F1024N 自举(引导)失败问题

TMS320VC5509A+AT25F1024

PCB上,GPIO1=1,GPIO0=GPIO2=GPIO3=0,即SPI 24位引导模式。

hex55.exe boot55x.cmd将out 文件转换成bin文件。

SPI (24位地址)程序将bin文件写入AT25F1024

3K大小的bin写入到AT25F1024 ,重新上电,自举成功。   现在是一个42K大小的bin写入到AT25F1024,重新上电,TMS320VC5509A没反应。

在SPI程序中调试查看对AT25F1024写的结果:与bin文件一致(十六进制查看)。

请各位专家指教,给个解决问题的方向。多谢~~

paradisebird:

回复 Shine:

感谢回复!

1:程序是加载到片内。

2:是我应用程序的map文件吗?

ENTRY POINT SYMBOL: "_c_int00"  address: 00023000

.cinit       0   [ 00000400 ]  00000200          *   0000020f                    [ 00000400 ]  00000200          *   00000081   csl5509ax.lib : csl_dmadat.obj (.cinit)                 [ 00000502 ]  00000281          *   00000069                 : csl_mcbspdat.obj (.cinit)                 [ 000005d4 ]  000002ea          *   00000059   main.obj (.cinit)                 [ 00000686 ]  00000343          *   00000050   FS_Uart.obj (.cinit)                 [ 00000726 ]  00000393          *   00000025   csl5509ax.lib : csl_csldat.obj (.cinit)                 [ 00000770 ]  000003b8          *   00000013   rts55x.lib : atan.obj (.cinit)                 [ 00000796 ]  000003cb          *   00000011              : exp.obj (.cinit)                 [ 000007b8 ]  000003dc          *   0000000e              : exit.obj (.cinit)                 [ 000007d4 ]  000003ea          *   0000000b              : cos.obj (.cinit)                 [ 000007ea ]  000003f5          *   0000000b              : sin.obj (.cinit)                 [ 00000800 ]  00000400          *   0000000a              : _lock.obj (.cinit)                 [ 00000814 ]  0000040a          *   00000004              : errno.obj (.cinit)                 [ 0000081c ]  0000040e          *   00000001   –HOLE– [fill = 0]

工程编译时为-c选项(非-cr选项)

不太懂怎么判断.cinit 是否正确。

3. GEL中的函数(如C5509A_Init())要写到我的程序中吗?   这个没有。(成功自举的小程序同样也没有)。

4. 将程序LOAD到AT25F1024后,CCS重启,PCB掉电重启,ResetCPU后,从FF8000处开始执行,弹出对话框“Warning! No valid program is currently loaded into memory. …”

谢谢~~

paradisebird:

回复 paradisebird:

不好意思,再补充说明一下:我的现在在调试的程序,直接通过仿真器Load Program调试运行是成功的。

paradisebird:

回复 paradisebird:

继续补充~~:

boot55x.cmd:

-e _c_int00-boot-v5510:2-serial8-reg_config 0x1c00,0x2180-delay 0x100-b-o FS5509A.binFS5509A.out

hex55.exe 版本:3.3.2.0

Shine:

回复 paradisebird:

1. 是指执行hex.cmd文件后生成的.map文件, 你看一下有没有这个.cinit段就可以了.

2. 用仿真器跟踪bootloader时, 选择SPI boot mode了么? 具体方法如下.把仿真器连上,选择debug->Reset CPU。查看PC寄存器地址应该在0xff8000,选择file->load symbols->load symbols only,然后选择out文件,这样只载入符号定义,便于调试,然后按F8或F5开始跟踪.

paradisebird:

回复 Shine:

感谢回复!

1.是我的hex.cmd文件中没写 map文件的语句:-map bootloader.map

原内容:

-e _c_int00-boot-v5510:2-serial8-reg_config 0x1c00,0x2180-delay 0x100-b-o FS5509A.binFS5509A.out

2.这个步骤我以前不会,学习了!!!

我晚上才有时间再调试。 再次感谢!~~

paradisebird:

回复 paradisebird:

********************************************************************************TMS320C55x COFF/Hex Converter                                             v3.3.2********************************************************************************

INPUT FILE NAME: <FS5509A.out>OUTPUT FORMAT:   Binary

PHYSICAL MEMORY PARAMETERS   Default data width   :   8   Default memory width :   8   Default output width :   8

BOOT LOADER PARAMETERS   Table Type:    SERIAL PORT (McBSP 8 bit Mode)   Entry Point:    0x00023000  (_c_int00)

OUTPUT TRANSLATION MAP——————————————————————————–00000000..00ffffff  Page=0  Memory Width=8  ROM Width=8——————————————————————————–   OUTPUT FILES: FS5509A.bin [b0..b7]

   CONTENTS: 00000000..0000a7ab   BOOT TABLE                          vectors : dest=00000100  size=00000200  width=00000001                           .cinit : dest=00000400  size=0000041e  width=00000001                           .const : dest=00000820  size=00000184  width=00000001                             .bss : dest=00020000  size=00001dfc  width=00000001                            .text : dest=00023000  size=000081d2  width=00000001

——————————————————————————–00000000..00ffffff  Page=1  Memory Width=8  ROM Width=8  "*DEFAULT PAGE 1*"——————————————————————————–   NO CONTENTS

paradisebird:

回复 paradisebird:

感谢Shine Zhang!刚才跟踪bootloader发现引导成功了。学习了很多东西,但与之前相比其实没有变化。之所以一直认为失败,是因为整个引导过程用时约6秒,之前我每次重启后都没有等待这么长时间去测。BIN文件大小42K,引导时间这么长应该也是有些问题吧。暂不结帖…

Shine:

回复 paradisebird:

在你的hex cmd文件中, -reg_config 0x1c00,0x2180, PLLM只设了3, 不知道你的clkin是多少MHz, 试试设成DSP的最高主频, 这样跑起来会快点.

zhihui xuan:

回复 Shine:

你好,shine:

我遇到了和他很相似 的问题,烧写8k的例程可以,烧写自己的程序78K没反应,等了1分钟也是。

我用的是C5515,环境是CCS5.2,硬件平台是EZdsp5515.

我的CMD是:

-boot-map demoboot.map-v5505-serial8-b-e 0x0001b655-o .\CSL_CodecTestExample.bin.\CSL_CodecTestExample.out

ROMS{  PAGE 0:      ROM : origin = 020000h length = 018000h}

 

MAP是:

********************************************************************************TMS320C55x Hex Converter                                                  v4.3.5********************************************************************************

INPUT FILE NAME: <.\CSL_CodecTestExample.out>OUTPUT FORMAT:   Binary

PHYSICAL MEMORY PARAMETERS   Default data width   :   8   Default memory width :   8   Default output width :   8

BOOT LOADER PARAMETERS   Table Type:    SERIAL PORT (McBSP 8 bit Mode)   Entry Point:    0x0001b655

OUTPUT TRANSLATION MAP——————————————————————————–00020000..00037fff  Page=0  Memory Width=8  ROM Width=8  "ROM"——————————————————————————–   OUTPUT FILES: .\CSL_CodecTestExample.bin [b0..b7]

   CONTENTS: 00020000..00033811   BOOT TABLE                            .text : dest=00009000  size=000127a0  width=00000001                           .cinit : dest=0001c588  size=0000017c  width=00000001                          .switch : dest=0001c704  size=000000e4  width=00000001                           .const : dest=0001b7a0  size=00000de8  width=00000001

麻烦帮我看下有没有什么问题?

赞(0)
未经允许不得转载:TI中文支持网 » 求助TMS320VC5509A+AT25F1024N 自举(引导)失败问题
分享到: 更多 (0)