工具/软件:Code Composer Studio
我 通过用于 Hercules TMS570LS31x 微控制器的 UART 引导加载程序将应用程序 bin 文件下载到 TMS570LS3137 HDK。如何更改引导加载程序和应用程序的 CMD 文件? 在 bl_config.h 中、我们可以看到"#define APP_START_ADDRESS 0x00020000"
引导加载程序 CMD:
存储器
{
引导程序(X):origin=0x00000000 length=0x00000020
Flash_API (RX):origin=0x00000020 length=0x000014E0
FLASH0 (RX):origin=0x00001500 length=0x002FEB00 //LS31x,RM48 Flash size 为0x300000
栈(RW):origin=0x08000000 length=0x00002000
SRAM (RW):origin=0x08002000 length=0x0002D000
}
部分
{
.intvecs:{}>向量
闪存 API:
{
fapi_UserDefinedFunctions.obj (.text)
bl_flash.obj (.text)
--library=..\lib\f021_API_CortexR4_be.lib (.text)
}load = flash_API、run = SRAM、load_start (api_load)、run_start (api_run)、size (api_size)
.text > FLASH0
.const > FLASH0
.cinit > FLASH0
.pinit > FLASH0
.data > SRAM
.bss > SRAM
}
应用程序 CMD:
/*------------------ *
/*链接器设置*/
--retain="*(.intvecs)"
/*用户代码开始(1)*/
/*用户代码结束*/
/*------------------ *
/*内存映射*/
存储器
{
引导程序(X):origin=0x00000000 length=0x00000020
FLASH0 (RX):origin=0x00000020 length=0x0017FFE0
FLASH1 (RX):origin=0x00180000 length=0x00180000
堆栈(RW):origin=0x08000000 length=0x00001500
RAM (RW):origin=0x08001500 length=0x0003EB00
/*用户代码开始(2)*/
/*用户代码结束*/
}
/*用户代码开始(3)*/
/*用户代码结束*/
/*------------------ *
/*段配置*/
部分
{
.intvecs:{}>向量
.text:{}> FLASH0| FLASH1
.const:{}> FLASH0| FLASH1
.cinit:{}> FLASH0| FLASH1
.pinit:{}> FLASH0| FLASH1
.bss:{}> RAM
.data :{}> RAM
.sysmem:{}>RAM
/*用户代码开始(4)*/
/*用户代码结束*/
}
我按如下方式更改了两个 CMD 文件:
但应用程序不运行、HDK 上的 LED D1 会立即熄灭。似乎出现了错误。
更改了引导加载程序 CMD:
--retain="*(.intvecs)"
存储器
{
引导程序(X):origin=0x00000000 length=0x00000020
Flash_API (RX):origin=0x00000020 length=0x000014E0
FLASH0 (RX):origin=0x00001500 length=0x0001EB00 //LS31x,RM48闪存大小为0x300000
FLASH1 (RX):origin=0x00020000 length=0x00180000
SRAM (RW):origin=0x08002000 length=0x0002D000
栈(RW):origin=0x08000000 length=0x00002000
}
部分
{
.intvecs:{}>向量
闪存 API:
{
fapi_UserDefinedFunctions.obj (.text)
bl_flash.obj (.text)
--library=..\lib\f021_API_CortexR4_be.lib (.text)
}load = flash_API、run = SRAM、load_start (api_load)、run_start (api_run)、size (api_size)
.text > FLASH0
.const > FLASH0
.cinit > FLASH0
.pinit > FLASH0
.data > SRAM
.bss > SRAM
}
更改的应用 CMD:
/*------------------ *
/*链接器设置*/
--retain="*(.intvecs)"
/*用户代码开始(1)*/
/*用户代码结束*/
/*------------------ *
/*内存映射*/
存储器
{
引导程序(X):origin=0x00020000 length=0x00000020
//FLASH0 (RX):origin=0x00000020 length=0x0017FFE0
FLASH1 (RX):origin=0x00020020 length=0x0017FFE0
堆栈(RW):origin=0x08030000 length=0x00001500
RAM (RW):origin=0x08031500 length=0x0003EB00
/*用户代码开始(2)*/
/*用户代码结束*/
}
/*用户代码开始(3)*/
/*用户代码结束*/
/*------------------ *
/*段配置*/
部分
{
.intvecs:{}>向量
.text:{}> FLASH1
.const:{}>FLASH1
.cinit:{}>FLASH1
.pinit:{}>FLASH1
.bss:{}> RAM
.data :{}> RAM
.sysmem:{}>RAM
/*用户代码开始(4)*/
/*用户代码结束*/
}