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.

基于TMS570平台Bootloader设计说明书

Other Parts Discussed in Thread: TMS570LS0232

看各位都在研究TMS570的Bootloader程序,分享一下本人在TMS570的Boot设计文档。

1.1      Flash地址分配

TMS570系列Flash地址从0x00000000开始,从地址其实开始必须先存放系统生成的intvecs函数。RAM地址从0x08000000开始具体的RAMFlash大小根据不同芯片类型确定。一下分配地址以TMS570LS0232为例。

Bootloader使用:

VECTORS    (X)   : origin=0x00000000 length=0x00000020

BOOT_LOAD  (RX)  : origin=0x00000020 length=0x00001200

FLASH_API  (RX)  : origin=0x00001220 length=0x00001200

FLASH0     (RX)  : origin=0x00002420 length=0x00005BE0

SRAM       (RW)  : origin=0x08002000 length=0x00005E00

STACK      (RW)  : origin=0x08000000 length=0x00001FF0

APP使用:

              VECTORS (X)  : origin=0x00008000 length=0x00000020

       FLASH0  (RX) : origin=0x00008020 length=0x00017FE0

       STACKS  (RW) : origin=0x08000000 length=0x00001500

RAM     (RW) : origin=0x08001500 length=0x00006B00

 

1.2      跳转命令

Bootloader跳转到APP指令:

                     g_ulTransferAddress = (uint32_t)APP_START_ADDRESS;

        ((void (*)(void))g_ulTransferAddress)();

 APP跳转到Bootloader指令:

                     g_ulTransferAddress = (uint32_t)BOOT_START_ADDRESS;

        ((void (*)(void))g_ulTransferAddress)();

 

 

1.3      相关说明

由于TMS570芯片对于Flash操作不能同时读写,所以有关对Flash操作的都需要将代码CopyRAM中执行,需要在一下位置进行修改。

1.      CMD文件中把相应的代码指定放入相应的区域,代码如下;

2.      在工程中的sys_core.asm文件中加入Copy功能函数

3.      需要在.h中声明该Copy函数。并在启动代码中调用执行。

1.1      Bootloader软件流程

1.1      App软件流程

1.2      APP程序集成Boot步骤:

1.       修改CMD文件,修改方法如2.1所示。

2.       添加文件xx.cxx.h文件到工程。

3.       工程目录添加F021驱动文件夹\F021 Flash API\02.01.01\include

4.       工程目录添加F021_API_CortexR4_BE.lib路径及其Lib文件。

6.       集成Bootloader APP软件,在CAN驱动中增加接收扩展帧MessegeBox

7.       CAN接收中断,引用xx.h

8.       sys_startup.c文件中屏蔽以下内容:

9.       CCS编译生成Hex文件,需要如下设置: