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

发布者:masphia最新更新时间:2018-12-15 来源: eefocus关键字:MDK  硬件调试  窗口显示  打印信息 手机看文章 扫描二维码
随时随地手机看文章

平时调试代码的时候大家都喜欢用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);




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


关键字:MDK  硬件调试  窗口显示  打印信息 引用地址:MDK硬件调试_在Debug printf Viewer窗口显示打印信息_ITM

上一篇:keil mdk调试过程中查看局部变量的方法
下一篇:Keil进入仿真,窗口不显示程序运行箭头

推荐阅读最新更新时间:2024-03-16 16:20

STM32 Keil MDK数据类型定义
/* Copyright (C) ARM Ltd., 1999 */ /* All rights reserved */ /* * RCS $Revision: 138251 $ * Checkin $Date: 2008-10-07 12:02:11 +0100 (Tue, 07 Oct 2008) $ * Revising $Author: agrant $ */ #ifndef __stdint_h #define __stdint_h #ifndef __STDINT_DECLS #define __STDINT_DECLS #undef __CLIBNS #ifdef __cpl
[单片机]
Keil MDK 调试不能设置断点问题的解决
之前打开的工程都没有这个问题,从网上下载某个工程后,准备调试,发现断点设置不了,纠结了好久,解决方法如下。 、
[单片机]
Keil <font color='red'>MDK</font> <font color='red'>调试</font>不能设置断点问题的解决
STM32之SWD
一、简介 本文以JLINK为例,介绍如何硬件连接SWD、MDK中配置SWD。 二、实验平台 库版本:STM32F10x_StdPeriph_Lib_V3.5.0 编译软件:MDK4.53 硬件平台:STM32开发板(主芯片stm32f103c8t6) 仿真器:JLINK 三、版权声明 四、基础知识 1、SWD是什么? 答:SWD类似于JTAG,是一种下载接口。 不同仿真器上需要的线数是不同的,有些硬件上使用4线、有些硬件上使用5线(多一个RST)。 因此香瓜建议接5根线的方式使用,以保证兼容性: VCC、GND、RST、SWDIO、SWDCLK。 2、SWD与JTAG的区别? 答
[单片机]
STM32之SWD
Realview MDK中编译器对中断处理的过程详解
在ARM程序的开发过程中,对中断的处理是很普遍的、也是相当重要的。Realview MDK使用的RVCT编译器提供了__irq关键字,用此关键字修饰的函数被作为中断出来函数编译,即在编译的过程中,编译器会自动添加中断处理过程中现场保护和恢复的代码,减小程序的开发难度,加快软件的开发过程。 在理解__irq关键字的作用之前,先看一下ARM核对异常的处理过程。当产生异常时, ARM核拷贝CPSR寄存器的内容SPSR_ mode 寄存器中,同时设置适当的CPSR 位、改变处理器状态进入ARM 态和处理器模式,从而进入相应的异常模式。在设置中断禁止位禁止相应中断(如果需要)后,ARM核保存返回地址到LR_ mode ,同时设置PC为相应的异
[单片机]
Keil(MDK-ARM)介绍、下载、安装与注册
1.概述 MDK:Microcontroller Developer Kit微控制器开发工具。 Keil MDK-ARM是美国Keil软件公司(现已被ARM公司收购)出品的支持ARM微控制器的一款IDE(集成开发环境)。 MDK-ARM包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件。具有业行领先的ARM C/C++编译工具链,完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件,包含世界上品牌的芯片。比如:ST、Atmel、Freescale、NXP、TI等众多大公司微控制器芯片。 2.产品组件 MDK-核心是基于使用的μVision领先的Cortex-M的设备,包括新的ARMv8
[单片机]
Keil(<font color='red'>MDK</font>-ARM)介绍、下载、安装与注册
STM32L431之MDK-ARM单步调试错乱
芯片默认使用MSI,频率只有4M,现在需要改成最大时钟80M。一个简单的程序如下: void SystemClock_Init(void){ /* enable HSE */ RCC- CR |= 0x00010000U; while (0 == (RCC- CR & 0x00020000U)); /* configure PLL */ RCC- PLLCFGR = (3 0) | (3 4) | (80 8) | (1 16) | (0 17) | (1 20) | (1 21) | (1 24) | (0 25); /* Fvco = (8M) * (80/4) = 160M,
[单片机]
STM32L431之<font color='red'>MDK</font>-ARM单步<font color='red'>调试</font>错乱
MDK使用方法与技巧
1 原来用的装的时候选的是ARM配置,结果现在用了stm32,建工程时没有启动代码提示(copy STM32 startup code to project folder and add file to project?),重装选择了STM系列的配置,问题解决。建stm32工程的步骤:先建立两个文件夹USER和SYSTEM,SYSTEM里面是启动代码,可以直接从现有的例程拷贝过去,然后在Target目录树上右击Manage Component,新建USER、SYSTEM两个组,然后单击Add Files把sys.c/usart.c/delay.c加入到SYSTEM组中,此时USER组下还没有文件,新建test.c保存在USE
[单片机]
<font color='red'>MDK</font>使用方法与技巧
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved