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.

[参考译文] CCS/RM44L920:从 F021版本1.00.00迁移到2.01.01

Guru**** 2481325 points
Other Parts Discussed in Thread: RM44L920

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/700400/ccs-rm44l920-migrating-from-f021-version-1-00-00-to-2-01-01

器件型号:RM44L920

工具/软件:Code Composer Studio

我有一个 RM44L920、它可以与 F021_API_CortexR4_LE_v3D16.lib 版本1.00搭配使用。   组需要迁移到 同一库名称的最新2.X 版本。

我已在新库中进行了编译和链接、 并且我有一个摘录、来自随该发行版提供的 SPNA148.pdf 擦除/编程应用报告。

我正在尝试使用此代码擦除0x0处的第一个扇区、对  Fapi_getFsmStatus 的调用 将返回成功(0)、但闪存不会被擦除。   所有 oReturnChecks 都将正常返回(Fapi_StatusFsmReady)。

Fapi 函数都位于代码段中、这是在 V1.00中完成的。 -

#pragma CODE_SECTION (Fapi_initializeFlashBanks、".flashapi");

oReturnCheck = Fapi_initializeFlashBanks (180);
oReturnCheck = Fapi_setActiveFlashBank (Fapi_FlashBank0);
oReturnCheck = Fapi_enableMainBankSectors (Fapi_FlashBank0);
oReturnCheck = fapi_checkFsmForReady();

flash_control_register->Fbprot.u32Register = 1U;//禁用1级保护
FLASH_CONTRAL_REGISTER->Fbse.u32Register = 0xFFFF;//为擦除和编程启用所有扇区。
FLASH_CONTRAL_REGISTER->Fbprot.u32Register = 0U;//启用1级保护
FLASH_CONTRAL_REGISTER->FsmWrEna.u32Register = 0x5U;//解锁 FSM 寄存器以进行写入

flash_control_register->Fbse.u32Register = 0xFFFE0000;//禁用除扇区0之外的所有扇区

flash_control_register->FsmCommand.FSM_command_bits。FSMCMD = Fapi_ClearStatus;
FLASH_CONTRAL_REGISTER->FsmExecute.FSM_EXECUTE=0x15U;//执行命令

FLASH_CONTROL_REGISTER->Faddr.u32Register = 0x0U;//将地址写入 FADDR 寄存器。 该地址必须位于要擦除的组内
FLASH_CONTRAL_REGISTER->FsmCommand.FSM_COMMAND_BITS.FSMCMD = Fapi_EraseBank;//将命令设置为擦除
FLASH_CONTRAL_REGISTER->FsmExecute.FSM_EXECUTE=0x15U;//执行命令

while (fapi_checkFsmForReady ()=fapi_Status_FsmBusy)

DWDRESET();

FSM_Status = Fapi_getFsmStatus();

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

    尊敬的 Chris:

    在 V2.01.01中、该函数的参数应为扇区、例如0xFFFF、以启用所有16个扇区:

    oReturnCheck = Fapi_enableMainBankSectors (Fapi_FlashBank0);

    附件是我的示例代码:

    e2e.ti.com/.../3365.bl_5F00_flash.c

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

    谢谢王先生。   我第一次尝试 Fapi_FlashSector0时运气不佳、然后我尝试了0xFFFF、现在情况正在擦除。   我将重新读取此函数的 API。

    您能帮我一个忙、然后压缩随您发送的代码一起提供的头文件吗?   如果我有其他问题、我可以尝试您的片段。

    我本来希望这是一个简单的直接替换、但为了使用 F021–2.01.01、需要对代码进行更改。

     

    谢谢

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

    尊敬的 Chris:

    包含头文件

    e2e.ti.com/.../4034.bl_5F00_flash.h

    e2e.ti.com/.../7823.flash_5F00_defines.h