在Keil環境下使用JLink實現printf輸出重定向至debug視窗
阿新 • • 發佈:2019-01-24
在工程裡面新增下列程式碼:
點選JLink的除錯設定對話方塊,Trace頁面,如下圖設定即可:#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); }
原始文章:
http://www.keil.com/support/man/docs/jlink/jlink_trace_itm_viewer.htm