Keil IDE中,如何用printfDebug(printf) Viewer窗口打印结果?如下图所示。

操作步骤

1. 添加代码

添加一个.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               0X01000000int fputc(int ch, FILE *f)
{if(DEMCR & TRCENA){while(ITM_PORT32(0) == 0);                                                                                                                                                                                                                                                                                      ITM_PORT8(0) = ch;}return ch;
}

2. 设置使用微库

验证效果

完成以上2个步骤,就可以在代码中使用printf函数向Debug(printf) Viewer窗口输出了。注意,需要开启仿真调试,并调出Debug(printf) Viewer窗口。

Keil Debug(printf) Viewer的使用相关推荐

  1. MDK硬件调试_在Debug printf Viewer窗口显示打印信息_ITM

    平时调试代码的时候大家都喜欢用printf函数来输出一些打印信息,来提示自己代码的执行情况.在刚开始接触这个调试方法的时候,我采用的方式就是浪费一个芯片的串口,然后利用TTL转USB模块,在PC端的串 ...

  2. keil debug如何在watch直接修改变量值_printf系列教程03_SWO打印输出配置,基于Keil『Debug(printf)Viewer』...

    本文原创作者『strongerHuang』 首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop 标签:printf. SWD. SWO. SWV. ITM. JL ...

  3. 宏定义开关和debug printf,宏定义使用异或交换两数

    1.宏定义开关和debug printf #define DEBUG_PRINT 1#ifdef DEBUG_PRINT #define DEBUG(format, ...) printf(" ...

  4. (Keil) Debug Simulation 操作

    0x00 printf在MCU環境下print debug error message,利用Logic Analyzer模擬MCU register or GPIO狀態. 若是要要使用printf函數 ...

  5. keil debug时用断点管理抓取变量变化

    在使用Keil进行编程的时候,我们经常会遇到某一个变量被改变了.这时候我们要找出具体在哪里被改变.以前用的方法都是查找出使用本变量的地方,然后打断点,但是这样非常麻烦,而且keil的断点数量有限,所以 ...

  6. keil debug如何在watch直接修改变量值_零基础学VBA:什么是VBA?如何编写和运行VBA代码?...

    HI,大家好,我是星光,今天咱们来继续学习VBA.在上一章咱们讲了为什么要学习VBA~VBA还值不值得学~学了还有没有用~零基础学VBA编程01:VBA还能不能学?学了还有没有用? 这一章咱们再来简单 ...

  7. keil debug如何在watch直接修改变量值_python日志记录系列教程,内置logging模块(一),直接使用logging模块的基础日志记录

    前言:成熟的软件开发不可避免的要进行日志记录,python内置模块logging提供了强大的日志记录能力,本文将从多个角度,由浅入深的介绍logging的常见使用方法和一些基本概念,本此系列文章分为两 ...

  8. [Debug] printf undefined reference to `putchar‘

    今天遇到一个诡异的问题,简单的说就是,在添加了printf以后,会跳出两个error来 一个叫undefined reference to putchar 另一个叫undefined referenc ...

  9. 关于Keil debug 出现cannot access target shutting down debug session 错误提示

    查了很多资料都没找到有效的解决办法,换个功能就能正常仿真,很奇怪,最后发现是仿真运行的时候不能查看memory,关闭memory界面即可

最新文章

  1. 企业信息化投入中咨询服务_企业信息化咨询中的问题与对策研究
  2. 【PC工具】简单好用的截屏gif录制小软件
  3. levedb 导入 mysql_LevelDB-初始篇
  4. win8+sdk8+vs2012+freeglut+glew开发opengl
  5. PHP/JS中获取当前页面的完整URL
  6. Linux SSHD服务安装与维护详解(一)——SSHD安装、启动与密钥认证实现
  7. android手机fingerprint,Fingerprint HIDL
  8. 60级高阶督军套装属性_魔兽世界60年代法师套装大解析,最经典实用的果然是灵风套装...
  9. eclipse新建java项目隐藏了bin文件夹,只有src文件夹,解决方法
  10. 鸟哥的Linux私房菜:首次登陆与在线求助,LINUX最简单的命令及应用(一)
  11. Anaconda创建Pytorch虚拟环境(排坑详细)
  12. IOS开发之工欲善其事必先利其器:Xcode
  13. 学python可以改善思维_基于培养思维能力的Python语言程序设计教学
  14. 【IoT】产品设计之结构设计:3D打印表面处理之喷油
  15. [译]Veil-Pillage
  16. 测绘资质专业类别该如何区分并选择合适的专业
  17. TexturePacker批处理python
  18. 人体姿态估计-Human Pose Estimation (2021)
  19. 解决ubuntu下Firefox浏览器无声音问题
  20. ISTQB-FL软件测试基础学习笔记

热门文章

  1. NYOJ 648 数字1的数量
  2. UVA 10196 Check The Check(模拟)
  3. activiti 图片
  4. 微信小程序支付最容易犯的坑notify_url(支付回调)
  5. pid算法通俗解释,平衡车,倒立摆,适合不理解PID算法的人来看!
  6. myeclipse 中项目名出现红色感叹号解决方法
  7. ActionScript 3 作用域内部细节介绍
  8. ThinkPHP采用模块和操作
  9. 进入Windows的世界
  10. variable与get_variable