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.

CCS5.3中3137如何使程序代码区定位在规定的区域内

Other Parts Discussed in Thread: HALCOGEN

1、使用串口的isp下载程序,程序代码应该从0X00020000开始,如何设置;

2、是否可支持程序在RAM中运行(觉得应该可以),如何设置,是否比FLASH中快,以前了解过DSP可以将FLASH的代码COPY到RAM中运行,这一条只是了解一下,实际可能不会用到,3137是否像STM的ARM-M3那样支持直接在RAM中运行程序,这样特别是开发板可以减少FLASH的使用频率,增加寿命。

3、从VIM章节了解到3137应该是不支持中断向量重定向的,但是在工程生成的.map文件中从0开始有20H字节的VECTORS是什么??

4、3137 reference Manual中de VIM 寄存器章节 offset 地址没有顺序往下排,在HAL生成的VimBase的定义中比如FIRQPR3应该是个reserved,不是只有96个中断吗,怎么会有4个32位的寄存器呢(HAL生成的代码是否不够严谨)

  • Hi XiaoFeng,

    1、请参考Wiki page上的Bootloader例程。http://processors.wiki.ti.com/index.php/TMS570_Hercules_MCU_Bootloader

    2、程序可以在RAM中运行,请使用Memcopy函数,把程序从Flash中Copy到RAM中。

    3、3137可以中断向量重定向,只要重新配置vimRAM数组就可以了。

    4、你说的没错,FIRQPR3应该是没有的,请不要使用。同样,其他相类似的几组寄存器,最后一个“3”的请不要使用。

    Regards,

    Jay

  • 可能是我描述的不清楚,有关Bootload的Application code定位问题。

    按照例程描述,应用程序代码是从0x00020000开始的,那么我在使用CCS编译link时,是不是要设置成代码从0x20000开始呢,不然下载进去不就乱套了。

    是不是有像DSP2000系列的一样有一个CMD文件来进行link定位呢??例程中好像没有涉及!!

    另外我注意到bootload程序没有使用中断,是否是为了防止和应用程序的中断相冲突??

  • Hi XiaoFeng,

    应用程序代码的地址定义不能与Bootloader有重叠。也是在CMD文件中定义的。如果用Halcogen生成的代码,CMD在sourse文件夹内,叫sys_link.cmd。

    关于中断,应用程序是可以有中断的。因为在sys_startup.c里面,会把中断向量表重新初始化一遍,那样就不会与Bootloader的有冲突。

    Regards,

    Jay