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

相关文章

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

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用