您的位置:首页 > 其它

在Keil环境下使用JLink实现printf输出重定向至debug窗口

2016-01-28 22:06 363 查看
在工程里面添加下列代码:

#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

//半主机模式必须定义这个
struct __FILE
{
int handle;
};
FILE __stdout;
FILE __stdin;

int fputc(int ch, FILE *f)
{
if (DEMCR & TRCENA)
{
while (ITM_Port32(0) == 0);

ITM_Port8(0) = ch;
}
return(ch);
}
点击JLink的调试设置对话框,Trace页面,如下图设置即可:



原始文章:


http://www.keil.com/support/man/docs/jlink/jlink_trace_itm_viewer.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: