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.

[参考译文] TM4C123GH6PM:使用 OpenOCD 在 Tiva C Launchpad 上进行半主机托管

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/947523/tm4c123gh6pm-semihosting-on-tiva-c-launchpad-using-openocd

器件型号:TM4C123GH6PM
Thread 中讨论的其他器件:EK-TM4C123GXL

您好!  

问题背景:  

我正在使用 EK-TM4C123GXL 板。 我正在使用 gcc 臂工具链。   

我想使用半主机通过 OpenOCD 服务器获取调试打印稿。  

我在 链接器中使用--specs=rdimon.specs 标志编译了该工程、并包含 stdio.h

从编译到将映像刷写到目标中、一切都进展顺利。  

我还调用了 initialize_monitor_handles()函数,并检查了在启动时是否调用了__libc_init_array()。

我还在 OpenOCD 服务器上启用 ARM 半主机功能。  

问题:  

每当我尝试执行 printf 或 puts 函数时、我就会遇到一个硬件故障(特定的不精确总线故障)。 如果我删除这些调用,则项目工作正常,但使用这些调用时,我*始终*会受到相同故障的影响。

关于如何通过 OpenOCD 对该器件使用 Arm 半主机的任何评论/建议? 我们非常感谢您的任何帮助。  

P.S.  我希望我可以使用 CCS 执行此任务、但客户端已经给出了具体的指示、指示不要这样做。 如果只有基于 GDB/Telnet 的 OpenOCD 有任何示例/建议、请提供帮助。  

谢谢、此致

PRANJAL

 

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

    我希望我能提供更多帮助、但我没有 OpenOCD 方面的经验、我的所有经验都是 Code Composer Studio 方面的经验。 从您的描述中、它听起来像是在未正确初始化 UART 的情况下写入 UART 的代码。  

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

    尊敬的 Bob:  

    感谢您的深入见解。 您能否简单地告诉我、在 Tiva C 板上通过 ICDI 使用 gcc 工具链时、CCS 执行半主机功能的接口是什么?

    它是否使用 UART 接口? 实际上、我尝试使用标准 C 库、但我没有它的源代码。

    谢谢  

    PRANJAL  

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

    在 CCS 上进行半主机处理是通过 JTAG 连接完成的、而不是通过 UART 完成的。 下面是有关 CCS 半主机的一些信息。

    https://processors.wiki.ti.com/index.php/Semihosting

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

    感谢  !