主题中讨论的其他器件:UNIFLASH、 HALCOGEN、 TMS570LS1224、 RM46L852
您好!
我正在尝试设置基于 GCC 的工具链、以便与 Launchpad 板上的 Hercules TMS570LS1224芯片配合使用、并且能够成功编译大端 GCC 交叉编译器和工具链。 我还从 Halcogen 生成了必要的 HAL、我的工具链可以编译和生成 ELF 文件。 我还设置了 Uniflash CLI 工具、以连接板载 XDS110调试探针并将二进制文件刷写到 TMS570芯片上。
当我执行"热"运行时(即、调试器加载二进制文件、然后让 CPU 自由运行)、所有固件看起来都运行良好。 我已经成功测试了 GPIO、I2C、并可以通过这种方式进行演示、它们都可以正常工作。 但是、一旦我执行冷复位(或按下 RST/PORRST 引脚)、芯片就会死区、不执行任何操作。 我也看不到错误 LED 亮起、因此我对到底发生了什么感到困惑。 我似乎也无法通过 XDS 调试器启动 GDB 代理、因此我无法进入启动序列或设置断点以到达其底部。
我的构建系统通常位于 、TMS570 Launchpad 的特定 HAL 位于 board/Hercules _tms570LS12x 上。 基本演示应用的 makefile 和工程位于 Linux_OSX/TMS570_Hercules _basic_app 中。
我非常感谢在这一问题上提供的任何帮助。 如果有用、我可以使用标准 TI CCS 工作流程执行冷复位、我甚至可以获取 CCS 编译器的二进制输出、使用 Uniflash CLI 实用程序加载该输出、并且仍然保留冷复位功能。 因此、在我看来、无论是在 GCC 链接器阶段还是在 Halcogen 为 GCC 工具生成的启动代码中、都会出现导致此问题的情况。
谢谢!
-AG