工具与软件:
我一直使用 CAN 设计 RM46引导加载程序
让我直接指出,在将闪存 API 复制到 RAM 后,像 Fapi_initializeAPI ()和 Fapi_initializeFlashBanks ()这样的函数没有正确执行,没有运行,我需要在 liker 命令中添加更多的东西。
我在下面附加了链接器命令
非常感谢您的建议。
谢谢你
--retain="*(.intvecs)"
小程序
{
VECTORS (X):origin=0x00000000 length=0x00000020
Flash_API (RX):origin=0x00000020 length=0x000024E0
FLASH0 (RX):origin=0x00002500 length=0x002FEB00 //LS31x 且 RM48闪存大小为0x30000
SRAM (RW):origin=0x08002000 length=0x0002D000
stack (RW):origin=0x08000000 length=0x00002000
}
部分中)
{
.intvecs :{}>向量
闪存 API:
{
..\Release\F021_API\5280edFunctions.obj Fapi_User (.text)
..\Release\bl_flash.obj (.text)
--library= F021_API_CortexR4_LE_V3D16.lib < FlashStateMachine.IssueFsmCommand.obj
FlashStateMachine.SetActiveBank.obj
FlashStateMachine.InitializeFlashBanks.obj
FlashStateMachine.EnableMainSectors.obj
FlashStateMachine.IssueFsmCommand.obj
FlashStateMachine.ScaleFclk.obj
init.obj
utilities.CalculateEcc.obj
utilities.WaitDelay.obj
utilities.CalculateFletcher.obj
READ.MarginByByBybe.obj
Read.Common.obj
Read.FlushPipeline.obj
READ.WdService.obj
ASYNC.WithAddress.obj
program.obj >(.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.
}