一天的突然消息,听说Jlink 可以仅仅使用自身就可以输出调试信息,不在使用多余的其他UART 外界接口,所以就花了3天时间折腾了下(网上搜索,使用很简单,但是自己去使用三天才正常输出,踩了不少坑,所以现在记录一下),
Jlink 输出调试信息可以通过两种方法
一,Jlink的 Target功能,该方法需要用到Jlink 的SWO引脚,如果外设芯片没有这个脚的话,说明这个方式是行不通的 ,
其实配置很简单
1.1如下配置Jlink的配置
1.2,添加printf的重定向,到SWO
#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) {