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.

[参考译文] 闪存软件不符合#39;无法通过跳转到条目地址开始

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1411955/flashed-software-doesn-t-start-via-jump-to-entry-address

器件型号:TMS320F28388D

工具与软件:

您好!

我已经对自定义引导加载程序进行了编程并按如下方式进行了测试。
通过调试器将两个应用加载到闪存中的相应扇区中。 我通过引导加载程序启动它们没有任何问题。

现在、我使用 C2000十六进制实用程序生成应用程序的 Intel hexfile、并通过 flashapi 对其进行编程。
但是、它们不会运行。

将加载的应用程序去抖器与通过闪存 API 加载的应用程序进行了比较。 内存转储有一些不同之处(图片)。

图片:左侧通过调试器加载、右侧通过闪存 API 编程

我已检查的内容:

-我比较了.hex 文件输出与闪存存储器编程通过闪存 API

通过闪存 API 编程后软件无法启动的问题可能是什么? 存储器段存在这种差异的原因可能是什么?

输出构建:

构建第二目标:"A50P002A02_CPU1.hex"
调用:C2000十六进制实用程序
"C:/ti/ccs1250/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/hex2000 --memwidth=16 --romwidth=16 --diag_wrap=off --intel -o "A50P002A02_CPU1.hex""A50P002A02_CPU1.out"  
正在转换为 Intel 格式...
  "A50P002A02_CPU1.out"、codestart => codestart
  "A50P002A02_CPU1.out".switch =>.switch
  "A50P002A02_CPU1.out".init_array =>.init_array
  "A50P002A02_CPU1.out".cinit =>.cinit
  "A50P002A02_CPU1.out".text.1 =>.text.1
  "A50P002A02_CPU1.out".text.2 =>.text.2
  "A50P002A02_CPU1.out".TI.ramfunc =>.TI.ramfunc
  "A50P002A02_CPU1.out".const =>.const
完成第二目标构建:"A50P002A02_CPU1.hex"

此致、

Daniel

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

    或许已经找到了。 修复/处理 hexfile 的闪存地址的错误。