首页 » 通讯 » 傻瓜式教程:若何运用多合一开拓对象STM32CubeIDE_工程_透视图

傻瓜式教程:若何运用多合一开拓对象STM32CubeIDE_工程_透视图

雨夜梧桐 2024-12-03 05:34:48 0

扫一扫用手机浏览

文章目录 [+]

STM32Cube生态系统是ST为STM32开拓者打造的软件生态,是嵌入式开拓的利器。

为提升功能丰富且高能效的STM32系列微掌握器的易用性,2019年,意法半导体在STM32Cube软件生态系统中增加了一个免费的多功能STM32开拓工具:STM32CubeIDE。

傻瓜式教程:若何运用多合一开拓对象STM32CubeIDE_工程_透视图 通讯

为了和商用集成开拓环境(IDE)工具一样好用,STM32CubeIDE充分发挥了意法半导体2017年收购的嵌入式开拓工具厂商Atollic®的技能上风。
这套IDE软件采取行业标准的开放式容许条款,为简化和加快基于STM32的嵌入式设计,新增了STM32专用功能,包括功能强大的STM32CubeMX微掌握器配置和项目管理工具。

通过整合STM32CubeMX与STM32CubeIDE,意法半导体创建了一个更强大的开拓环境。
STM32Cube的完全生态系统还包含STM32CubeProgrammer的代码烧写器和STM32CubeMonitor系列的代码运行监控器,以及浩瀚独立的MCU固件包。

STM32CubeIDE是ST官方供应的免费软件开拓工具,也是STM32Cube生态系统的一员大将。
它基于Eclipse®/CDT框架,GCC编译工具链和GDB调试工具,支持添加第三方功能插件。
同时,STM32CubeIDE还集成了部分STM32CubeMX和STM32CubeProgrammer的功能,是一个 “多合一”的STM32开拓工具。

用户只须要STM32CubeIDE这一个工具,就可以完成从芯片选型,项目配置,代码天生,到代码编辑,编译,调试和烧录的所有事情。

在开拓的过程中,用户也可以非常方便地切换到内嵌的CubeMX初始化窗口,添加或者修正之前的外设和中间件配置。
不须要在多个工具之间进行切换。

STM32CubeIDE供应的编译和堆栈剖析工具为用户供应了关于项目状态和内存利用的有用信息。
还供应了很多高等的调试功能帮助用户进行高效地调试。

跟 STM32CubeMX,STM32CubeProgrammer 一样,它也是一个多平台的STM32开拓工具,用户可以在Windows,Linux和macOS操作系统上通过STM32CubeIDE进行软件开拓。

STM32CubeIDE界面

STM32CubeIDE 是基于 Eclipse 的框架,它继续了 Eclipse 所特有的一些对用户来说还不太熟习的特性,比如透视图,事情空间等。

事情空间(Workspace):STM32CubeIDE通过事情空间(workspace)对工程进行管理,打开STM32Cube时,它会新建一个默认的事情空间,用户也可以通过Browse按钮其余选择一个文件夹作为事情空间,之后新建或者导入的工程就都属于前面选择的这个事情空间。
同一个事情空间下的工程具有相同的IDE层面的配置(在Window→Preferences中进行设置),比如显示和编辑的风格设置等。
从文件系统的角度,事情空间便是一个文件夹,里面包含了多个工程的文件夹和一个名为“.metadata”的文件夹,“.metadata”文件夹下包含了该事情空间内的所有工程的信息。
用户可以通过File→Switch Workspace菜单,切换不同的事情空间。

透视图(Perspective):透视图是一系列和某类功能干系的窗口的组合。
常用的有C/C++编辑透视图,调试透视图和CubeMX配置透视图。

C/C++编辑透视图包括了项目管理器,编辑窗口,Outline窗口等。
在项目管理器中可以查看和操作当前事情空间中的所有项目。
双击打开项目中的文件,文件内容会显示在编辑窗口,在编辑窗口可以对其进行编辑。
最右边的Outline窗口列出了当前打开的文件中定义的所有函数,变量和宏。

在Window Show View菜单中可以打开和关闭须要显示在C/C++编辑透视图中的窗口。

通过右上方的图标可以在不同的透视图之间切换,比如点击爬虫图标,就可以切换到调试透视图。
在C/C++编辑透视图下点击工具栏的Debug按钮启动调试后,也会自动切换到调试透视图。

工程管理

1. 新建和导入工程

利用STM32CubeIDE,用户可以通过多种方法来开始新建一个项目。
在STM32CubeIDE的欢迎界面上,列出了创建/导入工程的快捷入口,分别对应下面的四种场景。
也可以通过File菜单下的New和Import实现对应的功能。
• 从零开始新建一个STM32工程 • 已有STM32CubeMX的配置文件(.ioc文件 ),希望根据该ioc文件新建一个STM32工程 • 已有SW4STM32或者TrueSTUDIO工程,希望转换成STM32CubeIDE工程 • 基于STM32Cube库中的例程创建新工程

2.STM32CubeIDE工程构造

STM32CubeIDE有两种工程构造,如下图所示。

单核的MCU都是扁平构造。

对付双核架构的MCU或者安全MCU,比如STM32H7,STM32L5和STM32MP1系列,STM32CubeIDE工程是分层构造。
以STM32H7为例,创建或者导入STM32H7工程后,在Project Explorer栏看到的是一个三层的工程构造:最上面一层是“根”工程,然后是两个分别对应CM7和CM4内核的“子”工程,“子”工程下面才是工程文件。
这两个CM7和CM4“子”工程才是真正的可编译和调试的工程,而“根”工程只是作为一个“容器”,包含了CM7和CM4这两个“子”工程。
AN5361,AN5394,AN5360和AN5564分别描述了在STM32CubeIDE中如何创建,导入,编译和调试STM32H7双核,STM32L5,STM32MP1以及STM32WL的工程。

3.打开/关闭/删除/切换/导出STM32CubeIDE工程

在Project Explorer窗口中可以看到当前事情空间下的所有工程。
用户可以对这里面的任一工程进行打开/关闭/删除/导入/导出/更名等操作。
详细请参考“工程的基本操作”(立时推出,敬请期待)。

4.固件库管理

STM32CubeIDE集成了STM32CubeMX的部分功能,可以直接选择芯片/开拓板型号,或者选择例程来天生一个新工程。
STM32CubeIDE天生工程所须要的驱动和例程代码都来自各个STM32系列的固件库。

在Help→Manage Embedded Software Packages里,可以对所有的STM32固件库以及其他的插件进行管理(安装/删除固件库)。

用户可以通过Install Now按钮让STM32CubeIDE自动从网络进行下载安装,也可以通过From Local按钮来安装已经预先下载好的固件库。

通过Remove Now按钮可以删除选中的固件库。

在Window Preferences窗口的STM32Cube Firmware Updater标签页下,可以设置固件库安装的路径和更新的办法。

默认STM3CubeIDE在打开和新建工程的时候,都会考试测验连接网络。
用户也可以选择“Off Line Mode”,不让STM32CubeIDE去联网。
但是须要通过上一张图中Embedded Software Packages Manager窗口的From Local按钮来安装已经预先下载好的固件库,否则将不能自动为新建的STM32工程天生代码。

点击Check Connection按钮可以检测当前的网络连接状态。
检测结束如果涌现一个赤色的×,则解释网络配置有问题,须要我们到Network Connection页面去进行设置。

除了前面主动检测网络状态,如果涌现固件下载失落败的情形,也请检讨STM32CubeIDE的网络配置是否精确。

配置步骤见下图:1.进入 Window Preferences菜单,选择General Network Connections标签页2.选择 Manual办法3.选择HTTP,双击打开编辑窗口,设置网络连接参数。

代码编辑

STM32CubeIDE基于Eclipse,Eclipse的一些常用快捷键和编辑技巧一样适用于STM32CubeIDE。
闇练节制这些小技巧可以提高开拓效率,使得程序开拓的事情事半功倍。

代码编译

1.工程属性设置及编译

在Project Explorer中选中一个工程,点击右键后进入properties菜单,在个中就可以对编译项进行配置。
常用配置的操作细节,请查看“STM32CubeIDE工程属性配置技巧”。

配置完成之后就可以进行编译了。
用户可以通过下面三种办法启动编译:• 方法一:选中工程,点击右键,然后选择“Build Project”• 方法二:选中工程,从Project菜单进入,然后选择“Build Project”• 方法三:选中工程,直接点击工具栏里的Build图标

2.提高编译速率

通过使能并行编译,可以提高STM32CubeIDE的编译速率。
选中工程,点击右键后进入properties菜单,选择“C/C++ Build”,在Behavior标签页下,勾选“Enable parallel build”功能。

3.编译干系赞助工具

工程编译完成往后,在“Build Analyzer”窗口可以看到链接文件中定义的所有内存区域(memory region)和段(section)的利用情形,包括加载地址,运行地址,有多少字节已经被占用,还剩余多少字节等。

在“Static Stack Analyzer”窗口中显示了静态堆栈的利用情形。

STM32CubeIDE还供应了Headless Build功能,可以不打开CubeIDE的图形界面,通过命令行就可以进行编译。

代码调试及烧录

1.调试及运行配置

STM32CubeIDE工程编译完成且无任何缺点,就可以进行调试和下载了。

在C/C++透视图的工具栏中有三个和下载调试干系的按钮:调试,运行和外部工具。

通过“调试”按钮阁下的小三角,可以打开Debug Configurations菜单,进行调试参数的配置,比如调试器的选择,GDB连接的设置,ST-LINK的设置,外部Flash Loader的设定等,并启动调试。

通过“运行”按钮,可以仅下载程序不启动调试。

通过“外部工具”按钮,可以调用外部的命令行工具。

有关调试参数配置及调试技巧的内容,请参考“STM32CubeIDE工程调试配置及技巧”(立时推出,敬请期待)。

2.启动调试

STM32CubeIDE利用GDB进行调试,支持STLink和SEGGER J-Link调试器,支持通过SWD或JTAG接口连接目标MCU。

STM32CubeIDE工程编译完成之后,直接点击工具栏的爬虫图标或者通过选择菜单Run-->Debug,可以启动调试。

如果是第一次对当前工程进行调试,STM32CubeIDE会先编译工程,然后打开调试配置窗口。
调试配置窗口包含:调试接口的选择,STLink的设置,复位设置和外部flash loader的设置等选项,用户可以检讨或者修正各项配置。
确认所有的配置都精确无误,就可以点击OK,启动调试。

然后STM32CubeIDE会先将程序下载到MCU,然后从链接文件(.ld)中指定的程序入口开始实行。
程序默认从Reset_Handler开始实行,并停息在main函数的第一行,等待接下来的调试指令。

3.基本调试操作

启动调试后,STM32CubeIDE将自动切换到调试透视图,在调试透视图的工具栏中,列出了调试操作按钮。
如下图所示。

插件的利用

STM32CubeIDE同样支持Eclipse插件。

可以通过Help菜单下的“Eclipse Marketplace”,在Eclipse市场中查找并安装插件;或者通过Help菜单下的“Install New Software”,从指定的网址安装插件。

STM32CubeIDE利用例程

下面我们通过一个LED闪灯的例程,来体验一下利用STM32CubeIDE进行软件开拓的流程。

例程利用NUCLEO-H743ZI开拓板,通过STM32CubeIDE从零开始新建工程。
该工程就实现一个大略的功能:板载的LED1以500ms的间隔自动翻转。
通过这个例程,可以理解到以下内容:• 新建一个STM32CubeIDE工程• 对STM32芯片进行配置• 添加用户代码并编译• 设置调试参数• 调试代码(查看变量及寄存器)• 设置断点

首先,选择File-->New-->STM32 Project,STM32CubeIDE会打开MCU选择窗口。
在这个窗口下,可以选择某个型号的芯片,也可以选择某个ST开拓板或者例程。
这里我们在搜索框里输入STM32H743ZI,就可以直接选择这个芯片了,然后点击Next。

在接下来弹出的窗口中,须要设置项目的名称,类型和工程保存的位置。
默认情形下,新建的工程会保存在当前的workspace中,用户也可以按下图所示,取消“Use default location”,然后自定义工程保存的位置。
须要把稳的是,如果你试图将两个工程放在同一个路径下,在后面的创建过程中可能会报错。
以是你可以在路径中加上工程名,以差异不同的工程。

设置完成后,点击Finish,STM32CubeIDE将为我们创建一个工程,并打开芯片的配置界面,这个界面和STM32CubeMX是一样的。

期间可能会弹出将要打开CubeMX配置透视图的提示,点击Yes就可以了。

接下来要做的是,在芯片配置界面,按功能需求对时钟,GPIO,外设,中间件等进行配置。
在这个例程中,我们只用到了PB0,作为输出掌握LED1,以是只须要配置它就可以了。
时钟就利用默认配置。

在Pinout视图下,通过搜索栏,可以在快速在芯片封装图上找到要配置的引脚。

选择该引脚,点击右键,选择GPIO_Output功能。

然后转到System视图,点击GPIO模块,然后就可以看到刚刚配置的PB0引脚。
这个窗口中,还可以连续调度PB0的其他参数,比如上/下拉,速率等。
还可以为其定义一个用户标签LDE1,方便在代码中进行引用。

所有的配置结束后,选择Project-->Generate Code重新天生代码。
这时STM32Cube会切换到C/C++透视图,然后可以添加用户的文件或对某个C文件进行修正。

在这里,我们添加了一段翻转PB0的代码。
这里要把稳,所有用户添加的代码必须放在“USER CODE BEGIN xxx”和“USER CODE END xxx”这一对声明之间。
这样当再次重新天生代码的时候,才不会丢失这部分代码。

代码添加完成后,点击“Build”开始编译。

如果编译结束并且没有任何报错。
就可以点击Debug,启动调试。

第一次启动调试,会先弹出调试参数配置窗口,确认好所有的参数无误,点击OK,STM32CubeIDE就会自动从编辑界面切换到调试界面了。
如下图所示。

在调试界面下,通过工具栏的操作按钮,可以进行单步调试。

双击某一行代码最左边的标记栏处,就可以在这行代码处添加断点。

右侧打开了多个调试窗口,包括:局部变量,断点,全局变量和寄存器等等。
这些窗口可以在Window-->Show View菜单中打开或者关闭。

干系资源

1.如何查看STM32CubeIDE文档集

第一次打开STM32CubeIDE时,首先显示的是“Information Center”页面。
这个页面供应了创建工程的快速通道和利用STM32CubeIDE的文档入口。
用户不须要在利用STM32CubeIDE之前阅读所有这些文档,但可以把这里作为一个入口,在须要的时候从这里进入去搜索干系文档。

2.用户手册/运用条记

相关文章

软件设计语言的魅力,构建未来世界的基石

在信息化时代,软件设计语言作为构建数字世界的基石,承载着无数创新与变革。它如同建筑工地的蓝图,指引着程序员们将一个个想法变为现实。...

通讯 2025-01-01 阅读0 评论0

达芬奇,艺术与科学的完美融合

在人类历史的长河中,艺术与科学始终如影随形,相互影响,相互促进。而达芬奇,这位文艺复兴时期的巨匠,无疑是艺术与科学完美融合的典范。...

通讯 2025-01-01 阅读0 评论0

过大年,传统节日里C语言的应用与传承

过大年,是中国传统节日中最具特色的庆典活动,承载着中华民族悠久的历史文化。随着科技的飞速发展,C语言作为一种基础编程语言,在过大年...

通讯 2025-01-01 阅读0 评论0

输入法语言包,助力数字化时代语言发展

随着互联网技术的飞速发展,我国已成为世界上最大的网络市场之一。在数字化时代,语言作为人类交流的工具,其重要性不言而喻。而输入法语言...

通讯 2025-01-01 阅读0 评论0