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.

[参考译文] TMS570LS1224:同时使用闪存和 EEPROM 的问题

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1254055/tms570ls1224-problems-with-simultaneous-use-of-flash-and-eeprom

器件型号:TMS570LS1224

如果分别实现了闪存(组0)示例和 EEPROM (组7)示例、则擦除/写入/读取工作正常。

但是、如果您同时使用这两个示例、您将进入 undefEntry、如下所示。

[源码(174行)]

[调试模式-出现 undefEntry (55行)]

查看论坛上发布的问题和答案、我发现可以通过修改以下代码来删除并重写 BANK0。

我还了解到、BANK7可在不进行修改的情况下进行擦除和使用。

如果是、欢迎就如何一起使用 BANK0和7提供任何建议。 我准备的程序需要这两者。

1.编辑 sys_link.cmd

2. 在下面的 sys_core.asm 中添加_copyAPI2RAM_代码或使用 sys_main.c 中的 memcpy 将 BANK0的 API_FLASH 区域复制到 SRAM 区域(任意一种方式)

[ sys_core.asm、sys_startup.c ]

[ sys_main.c ]

3.添加管理员模式

3. 在下面上传修改后的代码。 如果您能告诉我如何避免落入 undefEntry、我将不胜感激。

e2e.ti.com/.../example_5F00_eeprom_5F00_new2.zip

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

    我的问题解决了。 在内存映射中、我添加了 FEE 驱动器、但并未修改下面的定义、但问题是我忽略了 FEE 驱动器占用的容量超出预期这一事实。

    修改以下定义后、确认了闪存和 EEPROM 的正常运行。

    [之前]

    #define APP_START_ADDRESS 0x00010100
    #define APP_STATUS_ADDRESS 0x00010000

    [之后]

    #define APP_START_ADDRESS 0x00020100
    #define APP_STATUS_ADDRESS 0x00020000

    问题已经解决、但您能否查看您上传的代码、看看是否有任何其他问题?

    (例如、我想知道在 sys_startup.c 中将 API_FLASH 复制到 SRAM 而在 sys_main.c 中将 memcping API_FLASH 复制到 SRAM 的区别、优点和缺点。)