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.

[参考译文] RM46L852:引导加载程序未能对地址0x0进行写入验证

Guru**** 2393725 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/847436/rm46l852-bootloader-fails-write-verification-on-address-0x0

器件型号:RM46L852

使用示例引导加载程序、我创建了一个可以更新引导加载程序本身的应用程序、我现在遇到的唯一问题是、写入引导加载程序后、将读取它刚刚写入的地址以确认它是否成功写入。 但在第一个地址上、它始终读回0xFFFFFFFF。 因此、它似乎回读了擦除操作、但写入操作不起作用。 我进行了验证、每个人都成功写入、但我认为这并不是。 写入后从低位地址范围读回时、低位地址范围是否有什么特别之处?

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

    您好!

    很抱歉耽误你的时间。 您的问题已得到解决、但我们的专家是 OOO。 他将尽快回答。

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

    您好 Casey、

    您是否在内存 浏览器窗口中手动检查了内容? 内容是否与您对该地址的写操作相匹配?

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

    是的、写入工作正常。 自从我发表文章以来、我发现了两件事。 如果在写入和验证之间设置较小的延迟(对于带有_nop 调用的循环1-10000)、验证在更新应用程序映像时会起作用、但如果我更新引导加载程序本身、它仍然完全挂起。

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

    您好 Casey、

    更新引导加载程序本身很复杂。 另一种尝试方法是交换闪存和 SRAM。 闪存将映射到0x0800_0000、SRAM 映射到0x0000_0000。 在内存交换后、代码将从 SRAM 加载并从 SRAM 执行。