最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255

第7章   STM32F429下载和调试方法(IAR8)

本章教程为大家介绍如何创建IAR8工程,配置方法以及经常用到的一些配置项。

目录

第7章   STM32F429下载和调试方法(IAR8)

7.1   初学者重要提示

7.2   使用IAR调试和下载程序设置(JLINK)

7.2.1      开发板和JLINK的接线图

7.2.2      设置Options里面的Degubber选项

7.2.3      设置Options里面的JLINK选项

7.2.4      程序下载

7.3   使用IAR调试和下载程序设置(STLINK)

7.3.1      开发板和STLINK的接线图

7.3.2      设置Options里面的Debug选项

7.3.3      设置Options里面的STLINK选项

7.3.4      程序下载

7.4   IAR程序调试

7.4.1      全速运行和单步调试

7.4.2      外设寄存器的查看

7.4.3      全局变量的查看

7.4.4      局部变量的查看

7.4.5      Flash区或者RAM区的查看

7.4.6      断点调试

7.4.7      动态更新频率设置

7.5   总结


 

7.1   初学者重要提示

  1. 如果使用JLINK调试下载STM32F429,可以使用JLINK V8,V9和V10。
  2. 如果使用STLINK调试下载STM32F429,推荐使用最新的电脑端驱动和对应的固件,详情见第2章的2.6小节。
  3. JLINK无法下载解决思路以及常见问题整理,适用于其它LINK:http://www.armbbs.cn/forum.php?mod=viewthread&tid=21708 。

7.2   使用IAR调试和下载程序设置(JLINK)

调试下载STM32F429,可以使用JLINK V8,V9和V10,JLINK的驱动安装等相关文件已经在本教程第2章的2.5章节有说明

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

7.2.1      开发板和JLINK的接线图

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

注意转接板不要插反了:

7.2.2      设置Options里面的Degubber选项

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

设置完毕后,别忘了点击OK。

7.2.3      设置Options里面的JLINK选项

注意,在Debugger选择里面选择了JLINK后,才可以设置此选项。Setup部分使用默认配置即可,无需修改:

Connection部分要选择SWD接口:

设置完毕后别忘了点击OK。

7.2.4      程序下载

前两步设置好之后,JLINK插到电脑端并跟开发板连接好,将板子上电,就可以下载了。菜单Project->download->download Active Application:

下载成功后将开发板重新上电,可以看到开发板上的LED开始闪烁,IAR的Debug log窗口也有信息展示:

7.3   使用IAR调试和下载程序设置(STLINK)

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

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

7.3.1      开发板和STLINK的接线图

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

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

7.3.2      设置Options里面的Debug选项

Debug选项主要用调试:

7.3.3      设置Options里面的STLINK选项

注意,在Debugger选择里面选择了STLINK后,才可以设置此选项。Setup部分选择SWD接口,其它默认即可:

7.3.4      程序下载

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

下载成功后将开发板重新上电,可以看到开发板上的LED开始闪烁,IAR的Debug log窗口也有信息展示。

7.4   IAR程序调试

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

7.4.1      全速运行和单步调试

点击如下按钮可以进入调试状态(下载程序到芯片同时开启调试):

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

首先要认识下这11个图标的含义(进入调试状态后,鼠标放在这几个图标上会有提示):

  • 第1个图标是重新编译例程并进入调试状态。
  • 第2个图标是重新进入调试状态。
  • 第3个图标是停止调试。
  • 第4个图标是Step Over(Step over the current step point),每次点击以函数为单位运行,不会进入函数内部。
  • 第5个图标是Step Into(Step into the current step point),单步调试,每次点击运行一行代码,所以只要有子函数就会进入。
  • 第6个图标是Step out(Step out of the current line),点击后退出当前运行的函数,执行下一个函数。
  • 第7个图标是Next Statement(Step to the next statement),进入下一个状态,跟第4个图标功能差不多。
  • 第8个图标是Run to Cursor(Execute to the current cursor position),直接运行到用户设置的行,设置方法比较简单,用户仅需在那行使用鼠标左键点击一下,可以看到前面有光标即可(注意,程序不能倒着执行,也就是能往回设置)

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

  • 第9个图标是全速运行。
  • 第10个图标是用于暂停全速运行。
  • 第11个图标是复位调试,重新回到main函数开始执行。

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

7.4.2      外设寄存器的查看

初次使用IAR8的话,容易出现找不到在哪里查看寄存器的问题,首先需要点击这里View ->Register

->Register 1(共提供了四个register窗口,打开那个都行,要查看多个外设时,可以同时打开多个窗口查看):

给出的都是CPU寄存器:

这个并不是我们想要的,还有继续下一步,在红色的方框区域右击:

比如查看DAC:

7.4.3      全局变量的查看

针对全局变量,IAR提供了专门提供了Watch1, Watch2,Watch3和Watch4窗口,每个窗口可以添加很多变量。从菜单View ->Watch进行添加:

比如定义了一个全局的32位变量count,用户可以直接在Watch1窗口里面输入此变量:

也可以在源文件里面,鼠标右击此变量进行添加。调试过程中,这些窗口里面添加的变量是会更新的。但是全速运行状态,这些变量就不会更新,为了解决这个问题,IAR有一个Live Watch可以在全速运行状态查看变化:

用户可以直接在Live Watch窗口里面输入变量查看,如果程序里面做了一个简单的加法计数,就可以在全速调试状态查看此变量的动态变化:

7.4.4      局部变量的查看

针对局部变量,IAR专门提供了一个栈窗口,用于查看函数中各种局部变量,这个不需要用户添加,IAR会自动添加。从菜单View ->Locals进行添加窗口:

局部变量需要进入到那个函数里面才可以查看,这点要特别注意,因为局部变量是来自栈空间的,进入函数申请栈空间,函数退出后,栈空间就会被释放掉。比如main函数里面一个num局部变量

7.4.5      Flash区或者RAM区的查看

如果要查看Flash区或者RAM区的内容,IAR提供了4个Memory窗口。从菜单View ->Memory进行添加:

比如要查看0x2000 0000地址开始的内容,直接输入即可,这个地址是STM32F4的RAM首地址

7.4.6      断点调试

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

比如想在79行添加断点。

用户仅需在那行使用鼠标左键点击一下,然后单击断点图标即可,断点设置好的效果如下:

然后点击全速运行,如果程序有执行到这个地方,就会停在这里。可以看到绿色小箭头也显示在左侧了,说明程序执行到这个地方了(此时还没有执行该语句):

7.4.7      动态更新频率设置

IAR有个周期性更新频率设置选项,菜单Tools->Options:

单位都是毫秒,最小1ms:

7.5   总结

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

【STM32F429开发板用户手册】第7章 STM32F429下载和调试方法(IAR8)相关推荐

  1. 【STM32F429开发板用户手册】第46章 STM32F429的DMA2D应用之刷色块,位图和Alpha混合

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第46章       STM32F429的DMA2D应用之刷色块, ...

  2. 【STM32F429开发板用户手册】第33章 STM32F429的SPI总线应用之驱动DAC8563(双通道,16bit分辨率,正负10V)

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第33章       STM32F429的SPI总线应用之驱动DA ...

  3. 【STM32F429开发板用户手册】第18章 STM32F429的GPIO应用之跑马灯

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第18章       STM32F429的GPIO应用之跑马灯 本 ...

  4. 【STM32F429开发板用户手册】第34章 STM32F429的SPI总线应用之驱动DAC8501(双路输出,16bit分辨率,0-5V)

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第34章       STM32F429的SPI总线应用之驱动DA ...

  5. 【STM32F429开发板用户手册】第19章 STM32F429的GPIO应用之按键FIFO

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第19章       STM32F429的GPIO应用之按键FIF ...

  6. 【STM32F429开发板用户手册】第26章 STM32F429的定时器应用之TIM1-TIM14的中断实现

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第26章       STM32F429的定时器应用之TIM1-T ...

  7. 【STM32F429开发板用户手册】第35章 STM32F429的FMC总线应用之驱动AD7606(8通道同步采样, 16bit, 正负10V)

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第35章       STM32F429的FMC总线应用之驱动AD ...

  8. 【STM32F429开发板用户手册】第41章 STM32F429的LTDC应用之LCD汉字显示和2D图形显示

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第41章       STM32F429的LTDC应用之LCD汉字 ...

  9. 【STM32F407开发板用户手册】第7章 STM32F407下载和调试方法(IAR8)

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第7章   STM32F407下载和调试方法(IAR8) 本章教程 ...

  10. php和stm32,【STM32H7教程】第5章 STM32H7下载和调试方法(MDK5)

    第5章   STM32H7下载和调试方法(MDK5) 本章教程为大家介绍如何通过MDK5下载程序到芯片里面以及MDK5的调试和配置方法. 5.1 初学者重要提示 5.2 使用MDK调试和下载程序设置( ...

最新文章

  1. 总结2021面试中的常见14种算法套路
  2. 公有云和私有云,哪种是大势所趋?
  3. Linux平台定时监控进程退出并自动重启的方法
  4. python3.8新特性 逻辑表达式_Python3.8正式发布!新特性解析在这里
  5. Live预告 | 地平线李星宇:智能汽车电子构架如何变革迎接数字化重塑?...
  6. dp、px之间单位转换Util
  7. 关于音频PCM数据2字节(16位)byte与64位double之间的转换
  8. Java学习:抽象类与接口
  9. VC++ 结束线程 AfxBeginThread AfxEndThread
  10. PCB设计常见的有那些问题
  11. 数据库实战案例—————记一次TempDB暴增的问题排查
  12. 如何在html中插入带圈数字,如何在Word 2013中输入20以内的带圈数字
  13. RTL8187L usb驱动编译
  14. 【UML】部署图和构件图
  15. php简历掌握技能,php简历技能怎么写
  16. 大学一年级计算机科学与技术教材,计算机科学与技术系授课计划及课程表一年级.PDF...
  17. mysql统计出每个姓氏的人数_Python 之 MySql 每日一练 130——同名同性学生名单,并统计人数...
  18. bootstrap-table固定表头固定列
  19. [Chaosblade] chaosblade-jvm-exec和chaosblade交互
  20. UBports使用Anbox玩耍安卓APPs

热门文章

  1. Android P 如何挂载system镜像到根目录
  2. eNSP - 华为交换机常用命令
  3. Win10下怎么取消fn键锁定
  4. 正则表达式的含义于简介
  5. ⑭霍兰德RS*型如何选专业?高考志愿填报选专业
  6. 多线程操作数据库时为了防止数据的增删改的混乱该在数据库层还是程序层面上进行同步?
  7. 美国大学工程计算机排名,美国大学Computer Engineering 计算机工程专业排名
  8. 前端面试查漏补缺--(二) 垃圾回收机制
  9. php数组合并多维,PHP合并多维数组
  10. Mysql 编程实战三之计算两个日期的工作日数