尊敬的 TI 团队:
我正在开发 TMS750Ls1227器件型号的引导加载程序设计。 引导加载程序在存储器中刷写应用程序十六进制文件后、跳转至应用程序完成。 但应用程序执行不正确。
在前面有关论坛的文章中、我们发现在 cmd 文件和 intvec.asm 文件中需要进行一些更改。 但是,在考虑到这些准则之后,同样的问题仍然存在。
为引导加载程序和应用程序编写 cmd 和 intvec.asm 文件的正确方法是什么? 或任何其他更改?
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.
尊敬的 TI 团队:
我正在开发 TMS750Ls1227器件型号的引导加载程序设计。 引导加载程序在存储器中刷写应用程序十六进制文件后、跳转至应用程序完成。 但应用程序执行不正确。
在前面有关论坛的文章中、我们发现在 cmd 文件和 intvec.asm 文件中需要进行一些更改。 但是,在考虑到这些准则之后,同样的问题仍然存在。
为引导加载程序和应用程序编写 cmd 和 intvec.asm 文件的正确方法是什么? 或任何其他更改?
Vijay、
TI 引导加载程序示例仅支持二进制格式的应用程序。 您可以使用 CCS 生成二进制文件:
编译后处理步骤
"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin""${BuildArtiftFileName}""${BuildArtifactFileBaseName}.bin""${CG_TOOL_ROOT}/bin/armutilfd""${CG_TOOL_TOOL_ROOT}/mk4in/hex"CCS root"
引导加载程序示例不支持其他二进制格式或十六进制格式。
抱歉、我在上一条消息中遗漏了一个左括号。 它应该是:
((void (*)(void)) 0x20000)();
[~ userid="518552" URL"/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1108857/tms570ls1227-bootloader-to-application-jump /4115053#4115053">但失败了..... 可能是 UNDEF 条目[/报价]1.请仔细检查0x20000是否已正确编程。 它应该看起来像:0xEA...
2.当您将应用程序编程到闪存时、ECC 是否已计算和编程?
您好 QJ、
我正在重新编辑用于 Hercules Microcontrollers.pdf 的 pdf CAN 总线引导加载程序
根据、我对 cmd 文件中的引导加载程序和应用程序进行了如下更改
从引导加载程序跳转到应用程序后, 它将转至0x0c 地址,即预取项
请查看 cmd 链接器文件 e2e.ti.com/.../sys_5F00_link_5F00_app.txte2e.ti.com/.../sys_5F00_link_5F00_boot.txt
您好、Vijay、
该应用程序由引导加载程序加载、并使用 F021闪存 API 编程到闪存中。 使用 F021闪存 API 生成应用代码的 ECC。 请勿使用链接器脚本为应用固件生成 ECC。
fapi_issueProgrammingCommand ((uint32_t *) dst、
(uint8_t *) src、
(uint32_t)字节、
0、
0、
Fapi_AutoEccGeneration);