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.

[参考译文] RM48L952:闪存 EEPROM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1398577/rm48l952-flash-eeprom

器件型号:RM48L952
主题中讨论的其他器件:UNIFLASH

工具与软件:

您好!

对于生产使用情况、我们想知道是否可以使用 CCS 或 Uniflash 工具(带 JTAG)将 EEPROM 作为闪存的一部分进行刷写/擦除?

如果可能、是否有任何工具可以帮助生成 EEPROM 的二进制文件(如.hex 或.out 文件)?

目前、我们将使用我们的启动软件使用 FEE 库来初始化 EEPROM。

但是、对于生产环境、我们喜欢下载 entier EEPROM 内容、就像下载我们的软件代码一样。

非常感谢您的支持。

此致、

Hanlin Yu

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

    尊敬的 Hanlin:

    我知道一个简单的过程、

    您可以维护两个代码;一个是在 FEE 部分写入:

    示例:

    (+)[常见问题解答] TMS570LC4357:适用于 Hercules 控制器的示例和演示(例如 TMS570x、RM57x 和 RM46x 等)-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    其他代码是主应用程序、它将在 闪存的闪存组0中执行。

    大家可以做到的是、首先要执行 FAPI 代码、运行代码后将数据写入 FEE 库部分。 一旦执行了应用程序、然后您可以立即刷写您的应用程序、在下载应用程序时、您唯一应该确保的是、

    您应该需要将擦除选项保留为"仅必要扇区"

    如果我们执行此操作、那么只有使用 By 应用程序的扇区才会被擦除、这意味着我们可以防止 FEE 数据被擦除。 因此、通过这种方法、我们可以防止 FEE 数据被擦除、并且在应用中、您可以使用此数据。

    ——
    谢谢、此致、
    Jagadish。

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

    感谢您的重播。

    实际上、我认为我们所做的工作与我们将这2个应用程序编码为一个应用程序相同。

    我们在启动时确定 DE FEE 内是否有东西。 如果没有内容、我们将执行刷写 EEPROM 的部分。 否则、我们会执行正常的启动应用程序(允许通过 CAN 下载应用程序)

    我们需要考虑、将正常的引导应用程序与用于 FEE 初始化的引导软件分离是否是更好的解决方案。

    只是为了确保、没有办法用 JTAG 或者其它调试探针来闪存 FEE 部分吗?

    再次感谢你。

    此致、

    Hanlin Yu

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

    尊敬的 Hanlin:

    为了确定这一点、没有办法用 JTAG 或其它调试探针刷写费用部分?

    只需尝试按照以下方法操作、并在最后验证结果即可 在此示例中、我想 使用0x00到0x0F 的数据对 RM46板上0xF0200000中 FEE 内存的前16个字节进行编程。

    RM46_ Export_Memory

    1.首先打开 Uniflash 并读取控制器的内存、如下所示。

    2.现在将16个字节的数据从0xF0200000导出 到二进制文件、如下所示:

    3.将数据导出到二进制文件后,尝试使用 WinHex 工具打开二进制数据,如下所示:

    4.现在根据要求修改数据并保存。 在本例中、我将使用0x00修改上述数据为0x0F、如下所示:

    5.修改数据后、再次打开 Uniflash 并选择修改后的二进制文件进行编程、如下所示:

    和以 FEE 地址形式提供加载地址、就像我 在上图中给出的0xF0200000一样。

    6.一旦你给出了正确的地址,现在点击加载映像按钮刷新。

    7.现在再次打开内存窗口并读回 FEE 起始地址中的数据,因为您可以看到我们所需的数据被编程到 FEE 部分。

    8.现在、请确保在您的应用中仅配置必要的扇区、如下所示:

    9.现在调试应用程序并在 CCS 中再次查看内存数据:

    如您所见、内存中仍有我的 FEE 数据、可供应用使用。

    这样、您就可以直接通过调试探针执行 FEE 程序。

    ——
    谢谢、此致、
    Jagadish。

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

    啊! 好的。

    我想、在这个示例中、您没有虚拟扇区或数据块标头。

    但是、即使是符合 EEPROM 数据结构(虚拟扇区/数据块标头等)的情况下、该方法实际上也可以使用

    如果我理解正确、我们可以使用 FEE 库来回读和导出与第一个应用程序写入的存储器内容、从而进入"模式"(或 EEPROM 数据结构)。 之后、我们修改导出二进制文件的数据部分并使用 uniflash 将二进制文件重新加载到存储器中。

    我的理解是否正确?

    再次感谢你。

    Hanlin

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

    尊敬的 Hanlin:

    我认为、在示例中、您没有虚拟扇区或数据块标头。

    是的、您回答正确。

    然而、该方法即使在配置 EEPROM 数据结构(虚拟扇区/数据块标头等)的情况下也可以使用

    我提供的方法是使用一些数据对 EEPROM 区域进行编程、而不是作为 FEE 数据结构。 抱歉、我未能满足您对费用结构的要求。

    此外、没有工具可以直接通过 JTAG 执行此操作。

    [报价 userid="570133" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1398577/rm48l952-flash-eeprom/5354658 #5354658"]如果我理解正确、我们可以使用 FEE 库回读并导出使用第一个应用程序编写的存储器内容、从而进入"pattern"(或 EEPROM 数据结构)。 之后、我们修改导出二进制文件的数据部分并使用 uniflash 将二进制文件重新加载到存储器中。[/QUOT]

    我想您可以试试、这个过程可能会起作用。

    ——
    谢谢、此致、
    Jagadish。