Keil uVision5的问题

时间:2014-06-30 09:19:49

标签: c++ debugging embedded printf keil

在我正在进行的这个项目之前,我从来没有使用keil,但我总是能够说printf(“你好”);它有效。
但是对于keil,我不会在调试(printf)查看器中显示此内容 我在整个主要功能中都散布了这样的陈述,但没有打印出来 我需要做些什么才能让它发挥作用吗?

1 个答案:

答案 0 :(得分:1)

您必须retarget the library才能匹配您的硬件和/或开发环境。通常,最小重新定位会将stdio映射到UART - 尽管您可以实现完整的文件系统。

如果您希望stdout数据出现在 Debug(printf)窗口中,您已按照here所述实现了重定目标以写入ITM激励端口。然后,输出到stdout的任何数据都将显示在调试窗口中 - 而不仅仅是printf

库是可重定向的,因为您可以使用stdio来满足应用程序需求,而不仅仅是调试。使用UART进行stdio而非ITM的优点是它是双向的,并且无需附加调试器即可工作,因此您可能需要在任何情况下考虑这一点。