找回密码
 注册
关于网站域名变更的通知
查看: 1218|回复: 1
打印 上一主题 下一主题

Keil5软件使用入门调试篇

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2023-9-25 11:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 小恐龙 于 2023-9-25 14:51 编辑

一、Keil5软件使用入门调试篇:
https://www.eda365.com/thread-721471-1-1.html

二、Keil5软件使用进阶调试篇:
https://blog.csdn.net/yli001/article/details/130505875


Keil5软件使用入门调试篇


首先为什么需要在 MDK 中进行程序的调试呢?

        在 MDK 中进行程序调试的主要目的是识别和解决程序中的问题和错误。
        比如说找到程序中的逻辑错误。错误的条件判断、循环问题或错误的算法实现。通过观察和分析程序在调试器中的执行过程,可以确定程序执行的路径是否符合预期,从而找到潜在的逻辑错误。
       同时可以观察程序在执行过程中变量值的变化。这对于检查变量是否包含正确的数据是非常有用的。通过在程序中设置断点并使用调试工具查看变量的值,可以确保程序在运行时正确的操作变量。
        同时调试可以帮忙识别有关内存的问题。比如说内存泄露、非法内存访问或栈溢出。
        优化性能。可以通过调试程序,了解程序的性能瓶颈和效率问题。识别并找到导致程序效率低下的部分。使用调试信息和性能分析工具来优化代码,以改善程序的执行速度和资源利用率。
        总之,在 MDK 中进行程序调试可以帮助我们检测和解决程序中的问题,提高程序的质量、性能和可靠性。通过调试,可以客观的了解程序的运行情况,并进行必要的修改和优化,以确保程序达到预期并满足需求。


1. 编译 + 调试
        在线调试主要分为软件在线调试和硬件在线调试。随着现代技术的发展,硬件的成本普遍比较低,一般我们都使用硬件在线调试,也就是在 MDK 中编译好程序后,将程序下载到单片机的芯片中。在 MDK 中进行硬件调试。(进入调试界面的要求是必须先将程序下载到芯片中)

打开软件工程 ---> 编译 ---> 下载 ---> 调试,如下图的步骤:


进入调试以后的界面如下图所示:


2. 复位 + 全速运行
首先先进行复位,将程序复位到初始值处;然后 F5 进行全速运行,我们可以在很多的地方打断点,这样 F5 全速运行就会到达断点位置,到达断点位置对应程序也就停止了。前提是程序从初始状态到断点位置中间没有错误,能运行到断点位置。

复位以后的界面如下图所示:


在此设置四个断点,F5 全速运行,或者点击 RESET 旁边的图标全速运行,如下图所示:





3. 单步调试
顾名思义,单步调试就是每点一次按钮,程序就运行一步,遇到函数会进入函数。
点击下图中的图标进行单步调试,或者使用快捷键 F11。(这里取消上面的断点)


在具体的使用过程中,就会明白什么叫没点一次,程序就运行一步,遇到函数进入函数。(比如说 main 函数,main 开始时首先 delay_init(168); F11 来到这一行时,就会进入函数 delay.c 中,将 delay_init 函数运行完以后,又会重新返回主函数 main 中,运行下一个 usart_init(115200);之后又会进入 usart.c 中,进入 usart_init 函数中,如此进行循环)


4. 逐步调试
逐步调试也是一行一行的进行运行,也就是每点一次按钮,程序运行一行。但是遇到函数不会进入函数。

点击下图中的图标,或者使用快捷键 F10。


5. 跳出调试
跳出调试就是跳出函数调试,也就是每点一次按钮,程序跳出一个函数,直到跳出最外面的的函数为止(main 函数)。点击图标按钮,或者按快捷键 Ctrl + F11。


6. 运行到光标处
运行到光标处即将光标放在某一处,点击该按钮(或者 Ctrl + F10),程序执行到光标的位置就会停止下来(当然前提是程序可以运行到光标处)


7. 跳转到暂停行
跳转到暂停行这个功能在程序停止运行时有效,主要的作用就是我们打开了很多文件,这个时候不知道程序运行到哪里了,点击该按钮,就可以找到我们程序暂停的位置。


8. 调试窗口
调试窗口是在调试的时候可以查看的窗口,进入调试模式后,点击 View 菜单,即可查看下面的窗口菜单。


其中用的比较多的有:
Memory Windows:内存窗口,也就是我们查看变量的窗口。
System Viewer:系统外设窗口,查看外设寄存器数值的窗口。


  • TA的每日心情
    开心
    2023-6-12 15:40
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2023-9-26 14:07 | 只看该作者
    Keil5在单片机方便时最好用的编程软件
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-28 01:45 , Processed in 0.093750 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表