| 现在想确认工程中某一个.c文件是否出错,如何利用printf调试 |
在需要监控的位置打印像需要的参数。 1. 打印代码执行是有一定时间的(可以是阻塞式的),所以占用代码空间和影响实时性,对于小容量低速率的芯片影响 多一点,并非不能用。 2. 具体声明和使用可以参考F103的例程实现,
代码调试查错方法很多,Printf也并非必须的,比方直接根据运行结果、寄存器或变量的内容等 来做查错也是可以的。这个往往也跟个人习惯有关。 MCU的printf调试一般是通过串口将调试信息显示在PC终端。 操作比较简单,ST的Cube库里有很多现存的Printf应用例程, 你可以参考使用。 比方: ......\STM32Cube_FW_F4_V1.27.0\Projects\STM324x9I_EVAL\Examples\UART\UART_Printf
如果不是精确到某个函数的话,建议使用在线仿真的方式进行。或者在每个函数中增加打印,确定执行到哪个函数后发生的情况。然后再对这个函数的前后关联及代码进行检查。如果能够进入硬件错误中断,可以通过仿真的方式,确认进入中断前的代码位置。