这是一条用处不大,但可能会用到的记录
参考连接:Keil Debug(printf) Viewer的使用
在纯软件仿真中,要想看到打印的debug信息,可以使用printf函数,但是需要用到函数重定向。
类似于串口使用printf也需要重定向一样。
在工程中新建一个C代码文件,内容:
#include <stdio.h>
#define ITM_PORT8(n) (*(volatile unsigned char *)(0xe0000000 + 4*(n)))
#define ITM_PORT16(n) (*(volatile unsigned short *)(0xe0000000 + 4*(n)))
#define ITM_PORT32(n) (*(volatile unsigned long *)(0xe0000000 + 4*(n)))
#define DEMCR (*(volatile unsigned long *)(0xE000EDFC))
#define TRCENA 0X01000000
int fputc(int ch, FILE *f)
{
if(DEMCR & TRCENA)
{
while(ITM_PORT32(0) == 0);
ITM_PORT8(0) = ch;
}
return ch;
}
然后选中使用微库
再然后编译代码----选择debug模式-------调出Debug(printf) Viewer窗口-----运行 即可