历史上的今天
返回首页

历史上的今天

今天是:2024年12月15日(星期日)

2018年12月15日 | MDK硬件调试_在Debug printf Viewer窗口显示打印信息_ITM

2018-12-15 来源:eefocus

平时调试代码的时候大家都喜欢用printf函数来输出一些打印信息,来提示自己代码的执行情况。在刚开始接触这个调试方法的时候,我采用的方式就是浪费一个芯片的串口,然后利用TTL转USB模块,在PC端的串口调试助手中打印提示信息。另一种方式是硬件仿真的时候可以利用J-Link等工具实现的一种打印提示信息的方式。由于需要重定向fputc,所以两者最终只能选择其一,如果在资源不紧张的情况下,浪费一个串口其实也没啥,但是有些项目中会有很多通信接口需要使用这个时候就不可能浪费一个串口给我们做调试用了,这个时候通过MDK输出一些打印信息对于我们调试代码是很有帮助的。能实现MDK硬件调试打印调试信息的方式有两种:ITM机制和semihosting(半主机)机制。


这里总结一下ITM机制在MDK调试串口打印出信息的步骤:

1、建立一个.c文件,复制下列代码进去,并添加到工程目录中


#include


4、点击魔术棒,在Debug下添加刚才的.ini文件(图1);




5、选择仿真器Port口为SW模式,在Trace下按照下图设置,使能Trace,由于我的芯片系统时钟是72M,所以设置


为72M,ITM Stimulus Ports口只保留0(图2);




6、编译程序之后进入调试模式,调用Debug printf Viewer窗口,运行程序,这时候就可以发现有数据输出了(图3);




备注:本方法是百度从豆瓣某页中找到的,总结一下备自己和各位朋友参考。


推荐阅读

史海拾趣

ERP公司的发展小趣事

随着云计算和大数据技术的兴起,电子智链在2010年代初期开始了技术转型。公司投入大量资源研发基于云计算的ERP系统,并在2015年成功推出“云链”系列产品。这一产品迅速受到市场的欢迎,电子智链的客户群迅速扩大,不仅涵盖了中小型企业,还吸引了众多大型电子集团。同时,公司也在国际市场上积极扩张,与多家海外企业建立了合作关系。

Blue Giga公司的发展小趣事

收购后,Blue Giga在芬兰埃斯波的研发中心继续发挥其技术创新的优势,不断推出新产品和解决方案。同时,借助Silicon Labs的全球销售网络,Blue Giga的产品开始进入更多国家和地区的市场。公司的业务范围不断扩大,应用领域也更加广泛,涵盖了工业自动化、消费类电子产品、汽车等多个领域。

这五个故事描绘了Blue Giga从创立到发展的过程,展示了其在电子行业中的努力和成就。虽然每个故事都基于事实,但具体细节可能因缺乏详细资料而有所简化或推测。如需更深入的了解,建议查阅Blue Giga的官方资料或相关新闻报道。

AC Interface Inc公司的发展小趣事

随着全球环保意识的增强,ABC Electronics Inc. 敏锐地捕捉到了绿色电子产品的市场潜力。公司开始研发和生产符合环保标准的产品,如低能耗的LED照明产品、可循环利用的电池等。同时,公司还优化了生产工艺,减少了生产过程中的环境污染。这些环保举措不仅赢得了消费者的青睐,也提升了公司的社会形象。

Bergquist Company公司的发展小趣事

随着导热材料技术的不断进步,其应用领域也在不断扩展。Bergquist Company紧跟市场需求,将导热产品应用于汽车、家用电器、电脑、散热器、电源供应器及电马达控制等多个领域。这些产品的广泛应用不仅提升了人们的生活品质,还为公司的持续发展注入了强大动力。

Asia Pacific Microsystems Inc公司的发展小趣事

APM在追求经济效益的同时,也积极履行社会责任,关注可持续发展。公司严格遵守环保法规,采用环保材料和生产工艺,减少对环境的影响。此外,APM还积极参与公益事业,通过捐赠和技术支持等方式回馈社会。这些举措不仅提升了公司的社会形象,也为其在电子行业中赢得了更多合作伙伴和客户的支持。

这五个故事展示了Asia Pacific Microsystems Inc公司在电子行业发展中面临的挑战、机遇以及所取得的成就。通过这些故事,我们可以看到APM是如何通过技术创新、市场拓展、产业链整合以及履行社会责任等方式,逐渐在电子行业中崭露头角的。

Calex Mfg Co Inc公司的发展小趣事

品质是Calex Mfg. Co., Inc.的生命线。公司始终坚持以品质为核心,从原材料采购到生产制造,再到产品出厂,每一个环节都严格把控。这种对品质的执着追求,使得公司的产品赢得了客户的信赖和好评。同时,公司还注重品牌建设,通过广告宣传和参展等方式,不断提升品牌知名度和影响力。

问答坊 | AI 解惑

做winCE6应用和驱动的都进来下: CE6, 三星2440, CreateDIBSection/LCD驱动的问题

这个问题并不是那么容易发现,表面上看起来好像没有问题一样. 如果您们对界面执行效率要求不高,也许根本就发现不了 环境三星2440, windows CE 6.0 800×480的分辨率. 我们有一个程序在windows CE 5.0下跑得很流畅,但同样的代码移植到三星2440的wi ...…

查看全部问答>

请问config.reg文件中CE_MODULES_PPP这类变量是在哪里定义的?

请问config.reg文件中CE_MODULES_PPP这类变量是在哪里定义的?我在哪里配置这些变量,使之编译到内核中去?…

查看全部问答>

采用VS2005+PB FOR CE6.0一定要安装Vs2k5 SP1和Platform Builder Service Pack 1吗

采用VS2005+PB FOR CE6.0一定要安装Vs2k5 SP1和Platform Builder Service Pack 1吗?? 在没安装这两个补丁情况下,为什么我生成的NB.bin无法被模拟器加载,模拟器一直黑屏,在用vs2005启动模拟器加载NK.bin时出现了如下提示 PB Debugger Warning ...…

查看全部问答>

ARM开发板USB驱动问题

大家好,我用的是friendly arm开发板MINI2440,wince系统。我现在想通过USB延长线(两头是USB放大器中间是靠超五类网线连接,长度50米)来连接开发板和USB摄像头。现在的问题是通过延长线,usb鼠标可以用,但插上摄像头没有反应。我又給USB放大器外 ...…

查看全部问答>

wince系统设备识别问题

我们用sc36410开发板,将usbfn主件加入系统,将系统下载到板子上。通过预先修改注册表,主机电脑可以将板子识别为一块u盘,在设备管理器里观看,板子的PID为0405,vid为AAAA。 然而,在usbfn\\class\\storage文件里,设备描述符PID和VID全部都 ...…

查看全部问答>

LM3S系列,下载程序问题,请多指教!

大家好,我用LM3S6432,在用JLINK下载bootloader程序的时候,提示:,然后点击确定,在最下行提示如图:再通过LMFLASH进行网络下载,不行,没有反应,LMFLASH显示:attemp to connect ....然后就没用反应了。 请高人指点:如何下载bootloader,需 ...…

查看全部问答>

贵重家电防盗报警器

本帖最后由 jameswangsynnex 于 2015-3-3 19:56 编辑           该贵重家电防盗报警器,具有体积小、响声大的特点。适合家庭、旅馆、机关等使用。   工作原理   电路原理见图1。SCR、R1和AN组成 ...…

查看全部问答>

STM32的定时器,能不能实现74HC4040那样的脉冲计数器功能

HC4040是异步的12bit二进制计数器 只要输入连续的时钟(脉冲)信号,就会输出信号开始到停止之间脉冲的个数,和输入脉冲频率无关 不知道用stm32内部的定时器能不能实现这个功能 可以的话,就不用买芯片也省IO口了…

查看全部问答>