当前位置:首页 » 编程软件 » 编译栏没了怎么跳出来

编译栏没了怎么跳出来

发布时间: 2023-02-24 07:28:26

㈠ stm32cubeide编译界面不见了怎么调

前文已经描述STM32CubeIDE的一些基本操作,基于前两篇文章,已经可以完成配置工程然后编译下载的目的,但是STM32开发,最重要的是实时调试,这一章描述STM32CubeIDE通过ST-Link调试,并对照Keil进行对比。

在Keil中,如果想调试,只需要将调试器和MCU连接好后,按下Keil中的这个按钮即可,随后程序会自动暂停到main函数第一行。

Keil中进入调试按钮

在STM32CubeIDE中,选中工程的情况下,也可以在工程上右键点击如图红框所示选项或者菜单栏上的按钮进入调试状态。

STM32CubeIDE进入调试

如果该工程是第一次进入调试状态,则会弹出下图所示配置窗口。

调试配置窗口

在Keil中也有类似的配置,我们对比进行说明,下图左图就是STM32CubeIDE的调试器配置栏,右图是Keil的调试配置栏目。

下列所有图片中,左图是STM32CubeIDE的页面截图,右图是Keil中对应页面截图,下文不在说明。

调试器配置栏

Keil中支持很多的调试器,每种调试器都有自己不同的协议和优缺点。STM32CubeIDE目前只支持三种调试器,可通过该选项配置,其中ST-Link、J-Link,对于搞单片机的人来说再熟悉不过了,OpenOCD是一个开源的功能强大的调试器,如果要使用别的调试器,例如CMSIS-DAP等,可以通过ST-Link(OpenOCD)来实现。

选择调试器

接口和频率选择,现在搞STM32一般都使用三线的SWD,特别是ST-Link OB,JLink OB出现后,方便、小巧,板子上也只需要留出SWDIO、SWCLK和GND三根线就行,很难看见JTAG口了。如果板子调试线过长或者干扰太大,可以尝试降低频率提高通信成功率。

接口和频率配置

复位选项,这里介绍下STM32CubeIDE中的各个选项含义,Keil中的选项可自行参考:https://www.keil.com/support/man/docs/ulink2/ulink2_ctx_debug.htm#!#%2Fconnect

复位选项

要想了解这些选项,必须先了解NRST异步复位引脚,STM32处理器对外都包含了一个NRST引脚,只要拉低这个引脚,MCU就会处于复位状态,复位外设和内核。而在ST-Link调试器中,对外就包含了一根NRST线,用于连接到目标硬件的NRST操作目标处理器复位。

NRST引脚

Connect under reset:先拉低NRST线复位MCU,然后连接MCU,然后拉高NRST线MCU退出复位状态。

Software system reset:先连接到MCU,然后向MCU寄存器写命令来复位MCU,复位内核和外围设备。

Hardware reset:先拉低NRST线复位MCU,然后拉高NRST线退出复位状态,接着连接MCU。

Core reset:向MCU寄存器写命令来复位MCU,只复位内核,不复位外围设备。

None:程序已经下载运行的情况下,不复位,直接连接MCU。

可以根据实际情况选择,如果有NRST线,当然是选择Connect under reset比较好,例如当没有配置处理的Debug口或者Debug口被占用的时候,这时候普通的方式已经无法连接到处理器,就可以使用这种方式烧录入新的程序释放Debug口。如果没有NRST,那就选择Software system reset。不过只要SWDIO、SWCLK、GND线连接和功能正常,不管选那种方式,总能进入调试模式。

配置相关的文件存放在.launch文件中,如果没有这个文件,进入调试时就会弹出配置窗口。

launch文件

点击Debug按钮进入调试,此时如果连接正确的情况下控制台会弹出若干信息,接着将程序停到main函数第一行。

进入调试

通过左上角的这些按钮,就可以达到如同Keil的单步跳过、单步进入、暂停、运行等操作。这里有一个小bug,一定要等停到main函数第一行时才可以操作调试命令,如果操之过急,在还没停到第一行就开始就进行操作,此时调试会异常退出。

点击如图所示的Resume,快捷键F8,程序开始运行。

常用调试命令

打断点和Keil一样,在程序左侧双击,程序就会运行到断点处停止。

打断点

将鼠标移动到断点上方,接着就会弹出一个小框,点击小框右侧如下图所示的图标,就可以删除这个断点。

删除断点

如果有很多个断点需要删除,就可以通过调试界面右侧进行全部删除。

删除所有断点

如果找不到上图这个视图界面,可以通过如下图所示的菜单栏打开。

打开各种视图

同Keil一样,断点的数量有上限,太多的断点将会报错。

在程序中定义了三个变量,分别为全局变量、静态变量和局部变量。并在主函数中让其自增,用来说明STM32CubeIDE中的查看变量功能。

增加三个变量

在Expressions、现场表达式这两个试图中,都将三个变量添加进去,可以看到,在程序不暂停的情况下,现场表达式可以实时查看全局变量的变化情况,局部变量和静态变量则无法查看,而Expressions则无法实时查看任何变量。

现场表达式视图
Expressions视图

当程序暂停的时候,将鼠标移动到变量名称上就会自动弹出当前变量的值。

查看变量

此时在右侧Expressions试图也可以看到添加进去的变量。

Expressions试图

此外,还可以通过SFRs查看处理器各个外设寄存器的值。

SFRs视图

也可以通过Registers查看内核各个寄存器的值。

Registers视图

另外Keil中可以配置下载程序时是否擦除所有Flash、不拆除、部分扇区,这在STM32CubeIDE中是没有的(也有可能是我没找到),需要搭配STM32CubeProg实现。

从调试体验这一块来说,还是Keil体验上来的比较好,各个功能也比较人性化,STM32CubeIDE的调试各种操作接口还有可优化的空间,但目前也能满足需求,最重要的还是免费。

㈡ eclipse用来编译的小榔头不见了,怎么设置

  • 首先,我们打开一下Eclipse,我这里由于用了结合Android sdk的 版本,界面可能不一样。

㈢ VC中的编译工具栏没有了怎么跳出来

在工作栏的空白处,点右键,选择Build, 如果是中文版的话,应该是 “编译”

㈣ 在c语言中不小心把右边编译和运行那一栏给关闭了,怎样恢复

菜单 [视图] --选择[工具栏]中对应的,或者选择显示窗口

㈤ vc6编译组建执行的工具栏没了怎么弄回来

在工具栏右边的空白处点鼠标右键,会弹出菜单,菜单里有个“Build MiniBar“,点选它,看看是不是你要的。

参考下图:

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:746
制作脚本网站 发布:2025-10-20 08:17:34 浏览:1009
python中的init方法 发布:2025-10-20 08:17:33 浏览:715
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:876
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:774
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1124
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:349
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:227
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:911
python股票数据获取 发布:2025-10-20 07:39:44 浏览:873