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.

[参考译文] RM44L520:使用 Fapi_issueProgrammingCommand (、、、Fapi_Auto EccGeneration)生成 ECC 时出现问题、保存为0x00000000

Guru**** 2348500 points
Other Parts Discussed in Thread: RM44L520
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1494798/rm44l520-problem-with-ecc-generation-using-fapi_issueprogrammingcommand-fapi_autoeccgeneration-being-saved-as-0x00000000

器件型号: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的另一个项目中正常运行、使用相同的链接脚本文件和下载代码。

为什么会出现此问题? 如果您对解决方案有任何建议、请告诉我。

此致

基因

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好。

    这是我的错。  

    发生问题是因为我没有启用中断。

     谢谢你。