这是一条用处不大,但可能会用到的记录
参考连接: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窗口-----运行 即可

版权声明:本文为qq_42212668原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。