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 或 Uniflash 工具(带 JTAG)将 EEPROM 作为闪存的一部分进行刷写/擦除?
如果可能、是否有任何工具可以帮助生成 EEPROM 的二进制文件(如.hex 或.out 文件)?
目前、我们将使用我们的启动软件使用 FEE 库来初始化 EEPROM。
但是、对于生产环境、我们喜欢下载 entier EEPROM 内容、就像下载我们的软件代码一样。
非常感谢您的支持。
此致、
Hanlin Yu
尊敬的 Hanlin:
我知道一个简单的过程、
您可以维护两个代码;一个是在 FEE 部分写入:
示例:
其他代码是主应用程序、它将在 闪存的闪存组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。