This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320VC5502 在线烧写程序

Other Parts Discussed in Thread: TMS320VC5502

本人最近一个项目用到TMS320VC5502芯片,现在在编写bootloader引导程序遇到一些困难,主要是以下几个方面:

1)被引导的程序 怎样有.OUT文件变成. HEX文件,输出时Intel 格式还是ASCII格式, 最令我疑惑的是,hex怎么变成.dat,自己写了一个VC去装换,老是不对。

2)引导程序和被引导程序 的cmd文件内存怎么划分开来,能不能用同一个cmd文件?

3) 5502的EMIF 配置成16位了,根据数据手册的说:内部地址线(A1-A21)对应外部地址线(A2-A22) ,那么我操作flash ,地址为:0x025555 , 那岂不是写入不进去A0了? 可是事实是,我用这种方式已近写数据到flash了,而且开发板的例程也是这样的。

诸多疑惑,还望高人指点,在下感激不尽!

  • CCS附带有一个应用程序(C5000系列是hex500.exx)可以把.out程序转成.hex格式的加载表,你到安装目录下可以找到。

    根据我用C6000的经验,引导程序和被引导程序是可以在同一个CMD文件中划分的。

  • TMS320VC5502的固件转换可使用工具程序--\C5500\cgtools\bin\HEX55.exe,使用方法可参考文档spra911,HEX55的相关配置参数可参考spru280的14章节。HEX55支持多种格式,可根据需要自己编制CMD文件。bootloader需要使用一定的DARAM空间,但引导完成之后,这部分空间是可以被应用程序使用的。我的做法是,在应用程序中分配一部分DARAM作为堆的空间,Bootloader用完之后,应用程序可以使用。

    5502的EMIF 配置成16位时,光靠总线每个CE通道只能使用1MWord空间,即20位地址。如Flash在CE1,则地址为0x200000-0x2FFFFF。若Flash在CE0,则地址为0x008000-0x0FFFFF,前64KWord地址被DARAM占用。向SST39VF16/32类的FLASH挂接在CE0上是无法使用的。