我正在尝试使用printf()
功能和rdimon库在主机上启用打印。
我的硬件是:-STM32F103C8T6-ST-Link V2
为了在主机上启用printf()
,我使用:
-specs=nano.specs -specs=rdimon.specs -lc -lrdimon
作为链接器标志
extern void initialise_monitor_handles(void);
initialise_monitor_handles(); for initialization at the beginning of main()
OpenOCD cfg文件中的[arm semihosting enable
选项,以便在OpenOCD中启用半主机]
但是它不起作用。您能否告诉我如何调试它,或者可能有一些建议,我应该如何解决这个问题?
对不起,您是否尝试将printf打印到SWO行进行调试?
这是一个有用的线程(它们采用两种不同的方式,我更熟悉第二种方式):https://www.openstm32.org/forumthread2893
还有一些有用的教程:
[当您说它不起作用时,可能会发生很多事情。实施对您的董事会可能是错误的。您在调试器上的设置可能是错误的。硬件也可能被设置或连接错误。在不完全了解您已经完成的工作以及设置和测试的情况下,我很难说清。但是好消息是,如果您查找处理器,STM32产品往往会有大量的教程和支持。 (他们有一些社区支持这一点,并且知道如何支持硬件和软件)