Keil Debug (printf) Viewer

Posted sinferwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keil Debug (printf) Viewer相关的知识,希望对你有一定的参考价值。

Debug (printf) Viewer

The Debug (printf) Viewer window displays data streams that are transmitted sequentially through the ITM Stimulus Port 0. Enable ITM Stimulus Port 0.

技术分享图片

To use the Debug (printf) Viewer for tracing:

  1. Add ITM Port register definitions to your source code.
    #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
    
  2. Add an fputc function to your source code that writes to the ITM Port 0 register. The fputc function enables printf to output messages.
    struct __FILE { int handle; /* Add whatever you need here */ };
    FILE __stdout;
    FILE __stdin;
    
    int fputc(int ch, FILE *f) {
      if (DEMCR & TRCENA) {
        while (ITM_Port32(0) == 0);
        ITM_Port8(0) = ch;
      }
      return(ch);
    }
    
  3. Add your debugging trace messages to your source code using printf.
    printf("AD value = 0x%04X\r\n", AD_value);
    
  4. Set the ITM Port 0 to capture the information. Clear the Port 7..0 privilege bit to access ITM Port 0 from User mode.

    技术分享图片

  5. Open the View - Serial Windows - Debug (printf) Viewer window.

技术分享图片 Note

 

http://www.keil.com/support/man/docs/jlink/jlink_trace_itm_viewer.htm

https://www.douban.com/note/248637026/

以上是关于Keil Debug (printf) Viewer的主要内容,如果未能解决你的问题,请参考以下文章

keil中printf语句输出的结果在哪里看啊 高手们 帮帮忙

accessport串口怎么连上keil

keil怎样从debug输入

keil debug模式下无法进入主程序

keil c51 printf 问题

在keil里printf