工具与软件:
您好!
我已经对自定义引导加载程序进行了编程并按如下方式进行了测试。
通过调试器将两个应用加载到闪存中的相应扇区中。 我通过引导加载程序启动它们没有任何问题。
现在、我使用 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