• Keil ARM-CM3 printf输出调试信息到Debug (printf) Viewer


    参考资料:http://www.keil.com/support/man/docs/jlink/jlink_trace_itm_viewer.htm

    1.Target Options -> Debug -> Settings(JLink) -> Debug里ort选择SW模式

    2.在Target Options -> Debug -> Settings(JLink) -> Trace里选择Enable

    3.Core freq设为120MHz(以LPC1788为例)

    4. 设置ITM Port的值如下所示

    5.在工程中添加.c文件如下

    #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; /* 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);
    }

    6.用Debug模式运行工程,Debug (printf) Viewer中即可以查看printf的输出信息。

  • 相关阅读:
    冒泡排序-用函数写
    c#语言基础
    c#小知识点
    令人头疼的冒泡排序
    字符串 与函数
    数组 冒泡排序 打印菱形 随机生成不同的数
    if语句练习
    运算符练习
    类型转换
    C#初学
  • 原文地址:https://www.cnblogs.com/GBRgbr/p/4450556.html
Copyright © 2020-2023  润新知