资料介绍
俗话说“工欲善其事、必先利其器”,为了能更好的开发ARM系单片机EFM32,熟练掌握一个或者多个IDE是必须的。IAR的调试器、编译器以及汇编器同时集成在一个IDE中,共同来开发和调试应用程序,这样的集成环境可以带来很多好处,比如:调试过程中可以进行代码编辑。在一个调试过程中,你可以直接在被调试的源代码中进行修改,修改的代码可以在程序重新编译后起作用。以下分享5部分的内容,是笔者应用IAR开发EFM32过程中的一些经验积累,希望能对看到文章的人有一定的作用。1)关于Run to(在工程中Project>Options>Debugger>Setup>Run to)如下图:默认工程Run to的内容是main,这个选项指定了程序调试的起点,注意这里写的是程序调试的起点并不是程序的起点,而且我们需要明白main不是程序的起点,编译器把一些初始化工作放在了main之前,比如全局变量的初始化。那么我们调试的时候也可以输入其它的调试起点,我们可以指定程序中IAR识别的任意标号或者函数名称。2)关于在反汇编窗口和内存窗口中快速定位函数位置和变量位置我们经常需要在Disassembly窗口中找到指定函数的位置,或者需要在Memory窗口中找到指定变量的位置,一般情况下选中函数名称然后把函数名称拖放到Disassembly窗口,相关函数就会显示在Disassembly窗口中,也可以把变量名称用相同的操作显示在Memory窗口中。3)单步调试速度缓慢的问题我们在单步调试过程中如果发现速度缓慢,那么以下的几点需要引起我们的注意:如果使用硬件仿真系统,我们需要为单步调试留下足够的硬件断点,在调试中的单步运行通常是用断点来实现的,通过把断点设置在下一个语句后,来完成单步调试的功能。硬件的断点数量是有限的,如果没有可用的硬件断点,调试器就会在每个汇编指令处停止一下,这样完成一条完整的语句的所有汇编代码越多时间就越长。在Trace和Function Profiling窗口中使用Enable/Disable按钮关闭数据跟踪功能。因为在每个单步之后要收集这些跟踪的数据,所以数据跟踪可能会降低单步的速度。需要注意的是,紧紧关闭相关的窗口是不能关闭数据跟踪功能的,必须通过Enable/Disable按钮来完成。只打开有限数量的SFR寄存器窗口,这可以通过2种方法实现。一种是通过在Watch窗口中手动输入SFR寄存器的名字;另一种是创建自定义的特殊功能寄存器组,操作步骤如下,Tools>Options>Register Filter>Use register filter如下图:选择New Group把关心的SFR放到组中如果不需要Memory和Symbolic Memory窗口,关闭它们,因为在每个单步之后要读出这些内存数据。如果不需要Watch,Live Watch,Locals,Statics窗口,关闭它们,原因同上。关闭Stack窗口和相关的设置,Tools>Options>Stack,去掉Enable graphical stack display and stack usage tracking的选择,如下图:如果可能,提高调试器和目标板的通讯速度。如下图:IAR集成环境产生大量的支持信息,这允许调试过程中在没有运行损失的情况下显示完整的函数调用链。这通常会帮助我们确定目前函数的上下文,跟踪变量和参数中的不正确值的从而定位出现的问题。5)EFM_ASSERT宏的合理应用EFM32的CMSIS库中有一个宏被大量的应用,它的名字叫EFM_ASSERT。这个宏应用了2个参数,一个是__FILE__,一个是__LINE__,这在IAR中分别表示文件名和文件内的行号。这2个参数可以直接告诉我们出现问题的文件和所在的行。以下通过一个具体的EFM32代码来看看以上提到的几点的应用。为了演示gpioSetup内部的问题,我们可以把程序调试的起点直接设置到gpioSetup,如下图:然后全速运行程序,发现程序停在了assertEFM函数内部,通过View>Locals,如下图:可以看到问题出在em_gpio.c的270行,该行正是GPIO_PinModeSet函数的第一个语句。可以快速的定位到问题出在以下位置,如下图:作为主推低功耗的EFM32系列单片机,想要最终实现低功耗,除了硬件本身支持之外,合理的代码也是很重要的。通过不断的调试,我们可以更加准确的把握这一系列的单片机,也可以掌握很多的调试技巧,希望以后有更多的技巧分享给大家。(mbbeetchina)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- VS2019调试查看变量_单片机编程软件一点通,IAR单片机编程软件工程调试方法
- Bluetooth 5的一些常见的问题与答案资料下载
- 如何使单片机时钟走时更精确些?资料下载
- 单片机程序防破解的一些建议资料下载
- 模电基础:概念和一些电路原理资料下载
- PROTEL的一些使用小教程资料合集免费下载 0次下载
- 51单片机串口通信的一些基础知识免费下载
- 关于单片机的一些按键问题和代码详细资料总结
- 单片机的通信数据传输一些知识点资料说明
- 单片机时钟数码管显示实现程序的详细资料免费下载 18次下载
- 蓝牙模块的一些简单测试资料合集免费下载 25次下载
- C++的一些试题资料总结免费下载 6次下载
- EFM32产品应用手册 36次下载
- EFM32硬件设计指南 29次下载
- EFM32_开发环境搭建 0次下载
- IAR Embedded Workbench中的一些相关特性 3984次阅读
- IAR单片机编程软件建立stm32工程的方法解析 2374次阅读
- 如何自制一个AVR单片机ISP下载线 3895次阅读
- 小白如何用焊接的单片机实验板做项目 7023次阅读
- 如何对IAR单片机编程软件进行编译优化 9213次阅读
- 如何正确的设置IAR单片机编程软件 4994次阅读
- IAR单片机编程软件的使用方法介绍 3.3w次阅读
- IAR单片机新建软件工程的详细步骤解析 5891次阅读
- 51、stm32单片机入门的一些经验 3181次阅读
- 应用IAR开发EFM32过程中的一些经验积累 3372次阅读
- IAR开发EFM32单片机的一些经验和技巧 3741次阅读
- 三分钟告诉你:AVR单片机的熔丝与解锁 1.3w次阅读
- 一文看懂rtc实时时钟和单片机时钟的区别 6w次阅读
- 如何弄懂单片机时序_关于单片机时序分析 1.6w次阅读
- 单片机时钟电路 2.9w次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1491次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 95次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 11次下载 | 免费
- 6100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 4次下载 | 免费
- 8基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537793次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多