目前,测试使用jlink实现了在keil gcc的情况下,重定位数据输出到keil的窗口。
只需将以下代码增加到工程里面,然后配置keil IDE的一些参数,打印使用printf即可。
#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 __io_putchar(int ch)
{
if (DEMCR & TRCENA)
{
while (ITM_Port32(0) == 0);
ITM_Port8(0) = ch;
}
return(ch);
}
keil IDE配置方法可以参考: http://blog.csdn.net/shizhe0123/article/details/44178905
接着来张测试结果图:
来自:http://blog.csdn.net/lan120576664