Keil(MDK-ARM-STM32)系列教程(八)在线调试(Ⅰ)

发布者:genius5最新更新时间:2019-06-27 来源: eefocus关键字:Keil  MDK  ARM  STM32  在线调试 手机看文章 扫描二维码
随时随地手机看文章

Ⅰ、写在前面

Keil在线调试的内容有很多,本文带来在线调试常用的内容:Debug Toolbar调试工具栏(Keil(MDK-ARM-STM32)系列教程(二)工具栏详细说明.

 

Keil(MDK-ARM-STM32)系列教程(四)工程目标选项配置(Ⅱ)Debug选项。

 

全速运行(F5):可以让程序运行常看运行状态,也可以在特定位置打断点,让程序运行到特定位置,查看运行状态。

 

停止运行:程序全速运行时(有效),点击该按钮可让程序停止运行。

 

复位,全速运行动画效果:

 

3.单步调试

单步调试(F11)也就是每点一次按钮,程序运行一步,遇到函数会跳进函数执行。

 

单步调试动画效果:

 

4.逐步调试

逐行调试(F10)也就是每点一次按钮,程序运行一行,遇到函数跳过函数执行。

 

逐步调试动画效果:

 

5.跳出调试

跳出调试(Ctrl + F11)也就是每点一次按钮,程序跳出当前函数执行,直到跳出最外面的函数(main函数)。

 

跳出调试动画效果:

 

6.运行到光标行

运行到光标处(Ctrl + F10)即将光标放在某一行,点击该按钮(或Ctrl + F11),程序执行到光标的位置就会停止下来(前提是程序能执行到光标的位置)。

 

运行到光标行动画效果:

 

7.跳转到暂停行

这个功能在程序停止运行时有效,主要的作用就是我们打开了很多文件,不知道将程序翻到哪里去了,点击改按钮即可知道我们的程序暂停在那个位置。

 

跳转到暂停行动画效果:

 

8.调试窗口

【调试窗口】是在调试的时候可以查看的窗口,这里有别于平时编辑状态下的窗口。平时编辑时View菜单下面的选项很少,但是进入调试模式,这里就多了很多选项,这些选项就是调试时查看的窗口(见下图)。

 

下面简述一下常用的调试窗口:

 

A.watch查看窗口

Watch查看窗口也就是我们常用于查看变量的窗口。

 

B.系统外设窗口

这个窗口用于查看外设寄存器数值的窗口。

 

Ⅲ、说明

每一种工具的功能都是需要自己亲自实践,并长期使用才能达到灵活运用的地步,不建议死记硬背。

以上内容仅供参考,若有不对之处,敬请谅解。


关键字:Keil  MDK  ARM  STM32  在线调试 引用地址:Keil(MDK-ARM-STM32)系列教程(八)在线调试(Ⅰ)

上一篇:Keil(MDK-ARM-STM32)系列教程(七)菜单
下一篇:Keil综合(03)map文件全解析

推荐阅读最新更新时间:2024-11-12 13:56

ARM的三种中断调试方法的介绍
  1 嵌入式软件开发流程   参照嵌入式软件的开发流程。第一步:工程建立和配置。第二步:编辑源文件。第三步:工程编译和链接。第四步:软件的调试。第五步:执行文件的固化。   在整个流程中,用户首先需要建立工程并对工程做初步的配置,包括配置处理器和配置调试设备。编辑工程文件,包括自己编写的汇编和C语言源程序,还有工程编译时需要编写的链接脚本文件,调试过程中需要编写存储区映像文件和命令脚本文件,以及上电复位时的程序运行入口的启动程序文件。   对后四种文件的理解很重要,其作用解释如下:   (1) 链接脚本文件:在程序编译时起作用。该文件描述代码链接定位的有关信息,包括代码段,数据段,地址段等,链接器必须使用该文件对整个系统的
[单片机]
<font color='red'>ARM</font>的三种中断<font color='red'>调试</font>方法的介绍
基于STM32的实验室点灯大师
/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * h2 center Copyright (c) 2021 STMicroelectronic
[单片机]
基于<font color='red'>STM32</font>的实验室点灯大师
STM32定时器中TIM_RepetitionCounter作用详解
在STM32中 有一个这个TIM_RepetitionCounter参数。如下,定时了0.001s,然后在中断中计数1000次,点亮熄灭LED,正常情况来说,led会亮1s,然后灭1s,不断重复。 当 TIM_RepetitionCounter 参数设置为0 时,确实是1s。 当 TIM_RepetitionCounter 参数设置为1 时,明显感觉到亮灭的时间被延长了一倍。 所以 TIM_RepetitionCounter 应该是在本次定时结束后,再重装载定时 1次,进入中断,所以 当TIM_RepetitionCounter =1时,相当于定时0.001s 2次进入中断,那么led的亮灭时间就变成了2s。 当TIM_R
[单片机]
<font color='red'>STM32</font>定时器中TIM_RepetitionCounter作用详解
STM32学习【2】STM32F103C8T6串口2USART2程序
STM32F103C8T6串口1(PA10/RXD1,PA9/TXD1)用来烧写程序,串口2(PA3/RXD2,PA2/TXD2)接串口模块与电脑串口助手通信。IO口PA1接LED+470R电阻+D3V3。 调试后,能正常运行的程序如下: #include stm32f10x.h #include stm32f10x_usart.h #define LED_ON GPIO_ResetBits(GPIOA ,GPIO_Pin_1) #define LED_OFF GPIO_SetBits(GPIOA ,GPIO_Pin_1) void GPIO_Config(void); void USART2_Config(vo
[单片机]
<font color='red'>STM32</font>学习【2】STM32F103C8T6串口2USART2程序
stm32pwm简单程序
程序通俗易懂 #include void TIM3_PWM_Init(u16 arr,u16 psc); //1ms延时函数(72MHz) void delay_nms(u16 time) { u16 i=0; while(time--) { i=12000; while(i--); } } int main(void) { u16 TIMpulse=0; u8 dir=1; //TIM3_PWM_Init(899,0);//不分频,PWM频率=72000/900=80khz TIM3_PWM_Init(999,61999);//1HZ, delay_nms(100)
[单片机]
Arm重新定义移动终端AI体验:3nm加持的CPU、GPU性能暴增
在COMPUTEX 2024展会上,Arm CEO Rene Haas表示,到2025年底,将有超过1000亿台Arm设备为AI 做好准备,同时预计将在五年内拿下Windows PC市场50%以上的份额。 适逢Arm发布面向移动端AI优化的3nm的Arm CSS,同时针对移动端AI发布Kleidi软件。可以说,这些创新都是实现未来Arm对于AI宏伟目标的基础。 从TCS到终端 C SS 去年,Arm针对Neoverse推出了CSS这样一个解决方案,目标是为了帮助客户快速拥抱AI。所谓CSS全称是Compute Subsystem,可以理解成Arm把一切都打了个包,包括core、CMN mesh、系统IP、系统管
[手机便携]
<font color='red'>Arm</font>重新定义移动终端AI体验:3nm加持的CPU、GPU性能暴增
基于ARM的光学指纹识别系统的设计方案
  本方案采用ARM处理器作为控制核心,构建指纹识别算法的嵌入式系统的设计方法及过程。该系统采用光学指纹传感器(内建格科微电子有限公司的光学GC0307 CMOS图像采集芯片)与ARM Cortex M3内核的意法半导体公司32位高性能单片机STM32F205RE组成功能主体,采用Sobel边缘检测算子、Gabor滤波、图像二值化等图像采集与处理算法对指纹图像进行识别。经过反复实践证明,该方案适合嵌入式组件开发中需要进行生物指纹特征提取、识别,指纹身份认证、比对等场合。系统具有高性价比且交互简易、识别率高、扩展性强,便于嵌入式应用。    0 引言   随着电子信息技术应用面日益拓展,不少场合需要对特定用户群体进行身份识别或身
[单片机]
基于<font color='red'>ARM</font>的光学指纹识别系统的设计方案
stm32之DMA研究
在做实验之前,首先必须明白什么是DMA,DMA的作用又体现在哪里。 DMA,即直接内存存储,在一些数据的传输中,采用DMA方式,从而将CPU解放出来。让CPU有足够的时间处理其他的事情。 stm32使用DMA的相关操作: 1、DMA的配置 要配置的有DMA传输通道选择,传输的成员和方向、普通模式还是循环模式等等。 void DMA_Configuration(void) { DMA_InitTypeDef DMA_InitStructure; //DMA设置: //设置DMA源:内存地址&串口数据寄存器地址 //方向:内存-- 外设 //每次传输位:8bit //传输大小DMA_BufferSize=SEN
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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