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.

[参考译文] TMS320F28379D:独立模式下从闪存(FLASHN)到 RAMLS1的 memcpy

Guru**** 2609955 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1017716/tms320f28379d-memcpy-from-flash-flashn-to-ramls1-in-standalone-mode

器件型号:TMS320F28379D

您好!

我尝试使用 CLA 协处理器、在独立模式下、必须将 CLA 二进制文件从闪存复制到 RAM。 使用调试启动时、我不会遇到任何问题、代码会被复制。 但是、当我在独立模式下启动它并在复制后停止时、即使二进制文件位于 FLASHN 中、目标存储器范围仍为空(全为零)(在 Cla1ProgLoadStart 中进行了反汇编检查)。  

这是复制代码:

memcpy (((uint32_t *)&Cla1ProgRunStart、(uint32_t *)&Cla1ProgLoadStart、
(uint32_t) Cla1ProgLoadSize)

这是相关的*。cmd 代码:

Cla1Prog:填充= 0x555///孔的填充值

.+=0x4;//段头空白
*(Cla1Prog)

负载= FLASHN、
运行= RAMLS1、
run_start (_Cla1ProgRunStart)、
Load_start (_Cla1ProgLoadStart)、
load_size (_Cla1ProgLoadSize)、
PAGE = 0

此致、

Gabor

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

    您好、Gabor、

    代码看起来不错、我没有发现任何问题。

    您能否仔细检查 memcpy 是否确实在独立模式下被调用? 我看到链接器命令文件中的 Cla1Prog 应该具有0x5555 fill、您是否在 LS1 RAM 中看到这些非零值中的任何一个?

    谢谢、

    Ashwini

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

    感谢你的帮助。

    我很有爱、memcpy 代码不运行、但我没有理由不运行它。 在进行一些挖掘后、我意识到、当我尝试连接到正在运行的处理器时、调试器会重置 CPU、因此  Cla1ProgRunStart 的内存为空。

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

    很高兴问题得到解决。

    谢谢、

    Ashwini