你好! 我对引导加载程序有疑问。 我使用了开发套件中的启动加载程序。
现在,我想在主板中使用启动加载程序,因为它具有 TMS570LS3137PGE 微卡。
当我复制文件和标题并进行编译时,程序在 bl_link.cmd 中出现问题。
"./source/bl_link.cmd",第102行:错误#10099-D:程序将无法装入可用内存,或者该部分包含一个需要无法为该部分生成的蹦床的呼叫站点。对于“flashAPI”大小0x1010,加载定位失败。 可用内存范围:
FLASH0大小:0x10000未使用:0xb48最大孔:0xb48
错误10010:链接期间遇到错误;未构建“LabOSat 02-Engine.out”
包含在 include 文件中的 Flash API。
这是与开发套件一起使用的同一个 ecode。 我是否需要更改 BL_LINK_cmd 以与 TMS570LS3137PGE 一起使用? 或者我是否需要对产品进行另一项更改?
我离开 bl_link.cmd 是因为它很有帮助。
非常感谢!!
bl_link.cmd:
/*----------------- *
/*链接器设置*/
--retain="*(.intvecs)"
/*用户码开始(1)*/
/*用户代码结束*/
/*----------------- *
/*内存映射*/
内存
{
引导程序(X):Origal=0x00000000 length=0x00000020 vfill = 0xffffffff
FLASH0 (RX):Origin =0x00000020 Length=0x00010000 vfill = 0xffffffff
FLASH1 (RX):Origal=0x00010020 length=0x07FF1FE0 vfill = 0xffffffff
SRAM (rwx):origy=0x08002000 length=0x00002000
堆栈(RW):原点=0x08004000长度=0x00002000
/*用户代码开始(2)*/
错误1
ECC_VEC (R):Original=(0xf0400000 +(START(向量)>> 3))
长度=(大小(向量)>3)
ecc={算法=algoL2R5F021,input_range=vectors}
ECC_FLA0 (R):Original=(0xf0400000 +)(开始(FLASH0)>> 3)
长度=(大小(FLASH0)>> 3)
ecc={算法=algoL2R5F021,input_range=FLASH0}
ECC_FLA1 (R):Original=(0xf0400000 +)(开始(FLASH1)>> 3)
长度=(大小(FLASH1)>> 3)
ecc={算法=algoL2R5F021,input_range=FLASH1 }
#endif
/*用户代码结束*/
}
/*用户码开始(3)*/
ECC
{
algoL2R5F021:address_mask = 0xfff8 /*地址位31:3 */
hamming_mask = R4 /*在掩码*/中使用 R4/R5内部版本
奇偶校验掩码= 0x0c /*设置哪些 ECC 位为偶数和奇数奇偶校验*/
镜像= F021 /* RM57Lx 和 TMS570LCx 构建于 F021 */中
}
/*用户代码结束*/
/*----------------- *
/*区段配置*/
章节
{
.intvecs:{}>矢量
闪存 API:
{
..\sources\Fapi_UserDefinedFunctions.obj (.text)
..\sources\BL_flash.obj (.text)
--library="F021_API_CortexR4_be_V3D16.lib"(.text)
} palign =8 load = FLASH0,run = SRAM,load_start (apiLoadStart),run_start (apiRunStart),size (apiLoadSize)
text:{}> FLASH0/*已初始化的可执行代码和常量*/
.const:{} load=FLASH0, run = SRAM,load_start(connstLoadStart),run_start(connstRunStart),size(connstLoadSize)
电影:{}>电影 H0|电影 H1
Pinit:{}> FLASH0 | FLASH1
.bss:{}> SRAM
数据:{}> SRAM
sysmem:{}> SRAM
/*用户码开始(4)*/
/*用户代码结束*/
}
/*用户代码开始(5)*/
/*用户代码结束*/
/*----------------- *
/*其他*/
/*用户码开始(6)*/
/*用户代码结束*/
/*----------------- *