【STM32H7教程】第5章 STM32H7下载和调试方法(MDK5)

发布者:RadiantEnergy最新更新时间:2019-08-27 来源: eefocus关键字:STM32H7  下载  调试方法  MDK5 手机看文章 扫描二维码
随时随地手机看文章

5.1   初学者重要提示


如果使用JLINK调试下载STM32H7,务必使用JLINK V9或V10,之前的版本已经不支持。

如果使用STLINK调试下载STM32H7,推荐使用最新的电脑端驱动和对应的固件,详情见第2章的2.6小节。


MDK曾发布的STM32F1,F407,F429和F7的所有调试方法的设置细节及其注意事项,同样适用于STM32H7:http://forum.armfly.com/forum.php?mod=viewthread&tid=14896 。


MDK5调试过程中容易崩溃的问题,请看本章5.4小节,比较重要。

JLINK无法下载解决思路以及常见问题整理,适用于其它LINK:http://forum.armfly.com/forum.php?mod=viewthread&tid=21708 。


5.2   使用MDK调试和下载程序设置(JLINK)

调试下载STM32H7,务必使用JLINK V9或V10,之前的版本已经不支持,JLINK的驱动安装等相关文件已经在本教程第2章的2.5章节有说明。


在上个章节里面,我们已经将Options对话框里面大部分设置选项都做了说明,本章节主要是调试下载的设置。


5.2.1      开发板和JLINK的接线图

开发板接上JLINK的效果图如下,JLINK端需要插入开发板赠送的JTAG转SWD转接板:


注意转接板不要插反了:


5.2.2      设置Options里面的Debug选项

Debug选项主要用于调试设置。


打开Settings设置选项,设置完毕后别忘了点击确定。


5.2.3      设置Options里面的Utilities选项

Utilities选项主要用于程序下载设置。

5.2.4      程序下载

前两步设置好之后,JLINK插到电脑端并跟开发板连接好,将板子上电,就可以下载了。点击这里就可以下载了:

下载成功后可以看到开发板上的LED开始闪烁,MDK的也有信息展示:


5.3   使用MDK调试和下载程序设置(STLINK)

调试下载STM32H7,请将STLINK固件升级到最新版,关于固件升级和驱动安装等相关文件已经在本教程第2章的2.6章节有说明。


在上个章节里面,我们已经将Options对话框里面大部分设置选项都做了说明,本章节主要是调试下载的设置。


5.3.1      开发板和STLINK的接线图

开发板接上STLINK的效果图如下:

如果是下面这种STLINK,需要接上转接板:


 

5.3.2      设置Options里面的Debug选项

Debug选项主要用于调试设置:


打开Settings设置选项,设置完毕后别忘了点击确定。



5.3.3      设置Options里面的Utilities选项

Utilities选项主要用于程序下载设置。


5.3.4      程序下载

前两步设置好之后,JLINK插到电脑端并跟开发板连接好,将板子上电就可以下载了。点击这里即可:


下载成功后可以看到开发板上的LED开始闪烁,MDK的也有信息展示:


5.4   MDK调试容易崩溃的解决办法

进入到MDK5.2X后,MDK调试的时候很容易崩溃,出现下面这个错误


出现这个错误的话,要注意下面两个问题:


如果出现这种情况的话,将工程放在桌面路径下,工程名不要有中文会好很多。路径深或者有中文,都会造成这种情况。

退出调试的时候,如果使用断点了,务必清除所有断点,再退出,否则也会造成这种情况。

 


针对这个问题,KEIL官方也有说明:http://www.keil.com/support/docs/4036.htm 。


5.5   MDK程序调试

JLINK或者STLINK设置完毕后,调试是一样的。


5.5.1      全速运行和单步调试

点击如下按钮可以进入调试状态:


进入调试状态后的效果如下:


首先要认识下这7个图标的含义:



第1个图标是复位调试。

第2个图标是全速运行。

第3个图标是进入全速运行状态后,通过这个图标可以停止全速运行。

第4个图标是Step(Step one line),单步调试,每次点击运行一行代码,所以只要有子函数就会进入。

第5个图标是Step Over(Step over the current line),每次点击以函数为单位运行,不会进入函数内部。

第6个图标是Step out(Step out of the current line),点击后退出当前运行的函数,执行下一个函数。

第7个图标是Run to Cursor Line(Run to the current cursor line),直接运行到用户设置的行,设置方法比较简单,用户仅需在那行使用鼠标左键点击一下,可以看到前面有个箭头


然后点击此图标即可,可以看到前面多了一个黄色的小箭头,说明已经运行到此行


前面几个图标的功能,大家多测试几次就熟练了。


5.5.2      外设寄存器的查看

要查看的外设寄存器内容在这个菜单里面:


如果要查看内核外设寄存器,在这里:


5.5.3      全局变量的查看

针对全局变量,MDK专门提供了Watch1和Watch2两个窗口,每个窗口可以添加很多变量。调试过程中,这些窗口里面添加的变量是会更新的。


也可以从菜单View ->Watch Windows进行添加。比如下面添加一个简单的全局计数变量。


5.5.4      局部变量的查看

针对局部变量,MDK专门提供了一个栈窗口,用于查看函数中各种局部变量,这个不需要用户添加,MDK会自动添加。


也可以从菜单View ->Call Stack Window进行添加。局部变量需要进入到那个函数里面才可以查看,这点要特别注意,因为局部变量是来自栈空间的,进入函数申请占空间,退出函数后,栈空间就会被释放掉。比如main函数里面一个num局部变量:


5.5.5      Flash区或者RAM区的查看

如果要查看Flash区或者RAM区的内容,MDK提供了4个Memory窗口。

也可以从菜单View ->Memory Windows进行添加。比如要查看0x0800 0000地址开始的内容,直接输入即可,这个地址是STM32H7的Flash首地址:

5.5.6      断点调试

断点调试比较重要,进入调整状态后,如果大家想让程序在指定的位置停止运行,可以添加断点,通过这个小红点来添加。

比如想在84行添加断点。


用户仅需在那行使用鼠标左键点击一下,可以看到前面有个箭头:


然后点击那个小红点,可以看到已经添加上:

然后点击全速运行,如果程序有执行到这个地方,就会停在这里。可以看到黄色小箭头也显示在左侧了,说明程序执行这个地方了:



正常情况下,断点可以加到任何程序代码可以执行到的地方。另外注意,退出调试前,点击这个按钮取消所有断点,防止MDK调试期间崩溃:



5.5.7      寄存器,全局变量和局部变量的动态更新

MDK有个周期性更新选项,如果大家要周期性的观察一些寄存器、全局变量的更新、需要把菜单View -> Periodic Window Update选上。

这个周期不能设置,大概0.5s左右更新一次。


5.6   总结

对于初学者来说,务必要实际动手操作一遍。特别是调试方法,要熟练掌握,因为以后工程代码调试时,用到的最多。


关键字:STM32H7  下载  调试方法  MDK5 引用地址:【STM32H7教程】第5章 STM32H7下载和调试方法(MDK5)

上一篇:【STM32H7教程】第6章 STM32H7工程模板建立(IAR8)
下一篇:【STM32H7教程】第4章 STM32H7工程模板建立(MDK5)

推荐阅读最新更新时间:2024-11-07 18:55

关于stm32串口下载的问题
今天在用stm32f103rct6调程序的时候,不知道怎么回事j-link不能下载了,好像还不是驱动的问题,是她彻底坏了,没办法只能用串口下载了,以前没弄过,果然碰壁了。 首先、将boot0置1,boot1置0 其次就是串口的选择问题,注意需要选择串口1进行程序的下载
[单片机]
关于stm32串口<font color='red'>下载</font>的问题
如何解决STM32芯片Flash写保护导致无法下载程序,无法在线调试的问题
本文介绍了如何解决STM32芯片Flash写保护导致无法下载程序,无法在线调试的问题;如果您遇到相同的问题,希望本文可以带来一些帮助; 1 FLASH的写保护 如果对Flash设置了写保护,那就无法对Flash进行编程和擦除。 在开发STM32的时候,如果出现这种情况,通常仿真器都支持对Flash进行解锁,像jlink,stlink等仿真器都支持这个功能。 2 错误提示 在使用MDK进行调试的时候,出现报错 ==Flash Timeout.Reset Target and try it again==,具体如下图所示; 折腾了一番之后,并没有解决问题,因为使用的仿真器是stlink,因此下载了stlink utilit
[单片机]
如何解决STM32芯片Flash写保护导致无法<font color='red'>下载</font>程序,无法在线<font color='red'>调试</font>的问题
中国联通在雄安新区完成1.2Gbps下载速率验证
据报道,中国联通早之前在雄安新区新型的4G网络的下载速度提升下载速率验证已经在近日成功完成了。在4G网络上实现1.2Gbps这一全球最快下载速率,中国联通将持续推动4G千兆网络规模发展。 中国联通宣布,基于中国联通4G网络,通过网络升级,中国联通在雄安新区成功完成了1.2Gbps能力下载速率验证,最高峰值下载速率达到1155.8Mbps,标志着中国联通网络已经具备在4G网络上提供全球最快下载速率的能力。 现有4G网络采用了下行三载波聚合(CA)、4x4 MIMO和256-QAM技术,移动终端搭载了最新发布的集成了X20 LTE调制解调器的Qualcomm(R)骁龙(TM)845芯片。 中国宽带联盟的测试数据表明,中国联
[网络通信]
使用IAR+Jlink开发STM32关于下载Flash的一点发现
1、使用Jlink下载程序的使用,没有进行Flasah整片擦除, 2、基于1, 出现以下这种情况, 当第一次下载一个较大程序例如30k, 第二次下载一个小程序例如10k, 那么 第二次下载后,Flash区域有20K的Flash区域不是0XFF,而且是没有意义的数据 以上两点已得到证实
[单片机]
Keil官网下载器件支持包Software Packs
1、进入keil官网 https://www.keil.com/ 2、点击下面的Arm 3、点击左侧的Device List 4、 ...... 5、点击目标型号,会有相关介绍,可以在右侧下载器件包,下面还有例程可以下载。 6、也可以直接点击Software Packs,选择keil下的ST的mcu。
[单片机]
Keil官网<font color='red'>下载</font>器件支持包Software Packs
STC51单片机ISP自动下载电路设计
51单片机可以通过ISP下载方式烧写程序,常用的工具为USB/TTL,常用的芯片有MAX232、CH340G等。下面介绍以CH340G芯片设计的ISP下载电路。 1.51单片机程序下载原理 51单片机程序烧写接口为RXD和TXD,即UART口,这两个接口是通信口,配合不同的芯片可以实现不同的通讯方式。如果连接MAX232即可实现232通信,如果连接MAX3082即可实现RS485通讯。下载程序正是通过这两个接口来实现的。下载方式如下图所示。单片机的RXD和TXD要与USB/TTL设备的TXD和RXD交叉连接才能实现下载。 2.CH340G芯片介绍 CH340是一个USB总线的转接芯片,实现USB转串口、USB转IrDA红外或者
[单片机]
STC51单片机ISP自动<font color='red'>下载</font>电路设计
IAR+STM32平台STLINK仿真器实现swd方式下载
说明:库文件版本:3.5.0 软件环境:iar for arm 1.修改options- linker- config- linker configuration file 选择generic_cortex.icf并修改这个文件里的内容为 define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF; 2.修改Debugger- Download 选择user flash loader与vertify download
[单片机]
iPhone 8有望使用Intel XMM 7560基带 支持千兆下载
2月21日 英特尔 正式推出支持下一代LTE Advanced移动终端设备的?XMM?7560调制解调器。MM?7560调制解调器是英特尔的第五代LTE调制解调器,是在高速、低延迟和无线创新的传统基础上开发的,并能够在一个实现全球覆盖的单SKU中交付千兆级的速度。   XMM 7560是英特尔首款采用14纳米制程生产的LTE通讯模组,支持LTE Advanced Pro,实现了高达1 Gbps的Category 16下行链路速度,以及高达225 Mbps的Category 13上行链路速度。并有望首发在今年秋季的iPhone 8上。   高通的首批商用终端预计2018年上半年正式登场,上周,苹果对高通提起诉讼,称其非法利用手机
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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