麻烦硬汉能不能说明一下是哪些弱函数,我自己试了一下,只找到了一个retarget_io.c文件中tatic int stdout_putchar (int ch)函数需要我们重写。我查了一下自带的教程,STDOUT和STIO设置为user模式主要是用于将数据通过用户自定义的方式(自己重写函数)通过硬件(一般串口)输出。
那么有个疑问,你这里提到的Event Recorder使用printf卡顿问题,是指定调用printf函数在Debug(printf)Viewer窗口的打印功能的卡顿吗?也就是下面这个窗口
Debug (printf) Viewer
这个窗口对应EVR模式的printf功能,能够省去一个串口的硬件资源,直接通过仿真器打赢调试数据。并且我看了printf功能对应的源代码,主要调用的就是tatic int stdout_putchar (int ch)函数,里面有EventRecordData()函数,估计就和上面的窗口对应,此外别的代码也没的了。
如果通过将其改为user模式,需要我们自行编写tatic int stdout_putchar (int ch)函数,那么就不能调用上述窗口了。我们自行用定义usart输出调试数据,那么用Event Recorder就失去意义了,我们可以自己一个硬件串口输出自己想输出的调试数据。
|