请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:RM44L520 工具与软件:
团队成员好!
已使用 Fapi_issueProgrammingCommand (,, Fapi_Auto EccGeneration) API 实现了程序下载功能。
然而、当将程序下载到 BANK0 0x00000000地址时、ECC 计算变为0x00000000、并写入0xF0400000。
我已确认该程序可正常下载到 Bank0。


另外、当使用 J-Tag 进行下载时、程序运行正常。 (设置了自动 ECC 生成)
此时、当检查0xF0400000地址时、ECC 值正常存储。

链接脚本文件如下所示。
/* Linker Settings */
--retain="*(.intvecs)"
/* USER CODE BEGIN (1) */
/* USER CODE END */
/*----------------------------------------------------------------------------*/
/* Memory Map */
MEMORY
{
VECTORS (X) : origin=0x00000000 length=0x00000200
FLASH_API (RX) : origin=0x00000200 length=0x00001E00 // fill=0xffffffff
FLASH0 (RX) : origin=0x00002000 length=0x003e000 // (0x40000 - size(FLASH_API) - size(VECTORS)) //fill=0xffffffff
STACKS (RW) : origin=0x08000000 length=0x00003000
RAM (RW) : origin=0x08003000 length=0x0001d000
/* USER CODE BEGIN (2) */
/* USER CODE END */
}
/* USER CODE BEGIN (3) */
/* USER CODE END */
/*----------------------------------------------------------------------------*/
/* Section Configuration */
SECTIONS
{
.excpt_vecs : START( ulFlashStartAddr ) {} palign=8 > VECTORS
.intvecs : {} > VECTORS
.text : {} > FLASH0
.const : {} > FLASH0 //END( ulFlashEndAddr ) {} palign=8 > FLASH0
.cinit : {} > FLASH0
.pinit : {} > FLASH0
.bss : {} > RAM
.data : {} > RAM
.sysmem : {} > RAM
flashAPI :
{
--library= ..\F021_LIB\F021_API_CortexR4_LE.lib < FlashStateMachine.IssueFsmCommand.obj
FlashStateMachine.SetActiveBank.obj
FlashStateMachine.InitializeFlashBanks.obj
FlashStateMachine.EnableMainSectors.obj
FlashStateMachine.IssueFsmCommand.obj
FlashStateMachine.ScaleFclk.obj
FlashStateMachine.EnableEepromSectors.obj
Init.obj
Utilities.CalculateEcc.obj
Utilities.WaitDelay.obj
Utilities.CalculateFletcher.obj
Read.MarginByByte.obj
Read.Common.obj
Read.FlushPipeline.obj
Read.WdService.obj
Async.WithAddress.obj
Program.obj > (.text)
..\Debug\HM\source\FlashDrv.obj (.text)
} palign=8, load = FLASH_API, run = 0x0801c000, LOAD_START(api_load), RUN_START(api_run), SIZE(api_size)
/* USER CODE BEGIN (4) */
/* USER CODE END */
}
我已经确认、它在使用 RM44L520的另一个项目中正常运行、使用相同的链接脚本文件和下载代码。
为什么会出现此问题? 如果您对解决方案有任何建议、请告诉我。
此致
基因