keil中使用软件debug功能查看printf输出结果
这是一条用处不大,但可能会用到的记录
参考连接: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窗口-----运行 即可
陈宇生: Load address: 0x80800000 Loading: * done 请问我出现这个是什么情况,我现在已支持nfs2
曹乐乐爱学习: 哈哈哈 很高兴能帮到其他人
m0_74012953: 困惑解除
菜鸟爱编程丶: 没事,像这种喷子,不用理会。
曹乐乐爱学习: 刚看到你的评论,谢谢你