STM32CubeIDE基础学习-STM32CubeIDE软件程序仿真调试

2024-03-10 20:36

本文主要是介绍STM32CubeIDE基础学习-STM32CubeIDE软件程序仿真调试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

STM32CubeIDE基础学习-STM32CubeIDE软件程序仿真调试


前言

一般编写完程序后都会进行编译,看结果是否有存在语法错误,确认没有语法错误之后再进行代码的下载观察硬件执行是否和软件编程预期的结果一致,如果发现硬件执行达不到预期现象,则可以去排查程序的编写逻辑,再找不对问题了,可以对程序进行debug仿真调试排查问题。

通过调试程序,可以查看各种数值、比如寄存器的值、程序执行顺序、执行到哪里卡死等情况。通过仿真就很容易定位问题的所在了。

下面来记录一下这个软件进入仿真后的一些常用操作按钮的功能使用。


操作步骤如下:

第一步:编译程序,当编译没有提示语法错误,则可以进行调试程序了。

第二步:按快捷键F11进入调试,或者点击下图这个像昆虫的按钮进入仿真调试。

在这里插入图片描述

进入之后会弹出下图这个界面,提示是否要进入调试界面视图的,直接点击Switch即可。

在这里插入图片描述

第三步:进入后,工程左边提示如下图所示:

在这里插入图片描述

进入后就可以通过操作各种调试按钮进行调试了。

接下来介绍一下常用的调试按钮的功能及作用。

复位芯片按钮

在这里插入图片描述

终止并重新启动

在这里插入图片描述

全速运行,或全速执行到断点处

在这里插入图片描述

停止运行

在这里插入图片描述

退出仿真调试

在这里插入图片描述

断开连接

在这里插入图片描述

执行进去

在这里插入图片描述

执行过去

在这里插入图片描述

执行出去

在这里插入图片描述

切换C和汇编指令

在这里插入图片描述

设置断点

在这里插入图片描述

调试信息输出栏

在这里插入图片描述

例如
我定义了一个局部变量,进入调试后,就可以看到这个变量的初始值,重复单步执行时,可以看到这个变量的值不断在增加1,如下图所示:

在这里插入图片描述

在这里插入图片描述

输出信息提示窗口

在这里插入图片描述


总结

只要玩熟悉了这些按钮,基本可以解决70%的常见问题了,比较复杂的就需要看具体寄存器,看内存等情况了。

这种操作一般是需要慢慢积累经验的,不会一下子就能全部懂的。

这篇关于STM32CubeIDE基础学习-STM32CubeIDE软件程序仿真调试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/795427

相关文章

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

前端bug调试的方法技巧及常见错误

《前端bug调试的方法技巧及常见错误》:本文主要介绍编程中常见的报错和Bug,以及调试的重要性,调试的基本流程是通过缩小范围来定位问题,并给出了推测法、删除代码法、console调试和debugg... 目录调试基本流程调试方法排查bug的两大技巧如何看控制台报错前端常见错误取值调用报错资源引入错误解析错误

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

使用C/C++调用libcurl调试消息的方式

《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C