eclipse cdt无法调试_STM32CubeMX工具和调试

背景知识视频教程

STM32CubeMX和STM32Cube HAL基础​viadean.com
aa490c3798a733253c74ddca603b4938.png
STM32教程 - viadean​viadean.com
d1b24d6c0cffdf7876167be6b26f049e.png
STM32Fx微控制器自定义引导程序开发 - viadean​viadean.com
cf74d48adea6894e0805de50e169eb42.png

我们将了解ST的此工具的工作方式,以及如何使用其生成的代码从头开始构建Eclipse项目。 这将使GNU ARM插件成为用于项目生成的不太重要的组件,从而使我们能够创建更好的代码并准备与STM32Cube HAL集成。

工具介绍

CubeMX是用于配置为我们的项目选择的微控制器的工具。 它既用于选择正确的硬件连接,又用于生成配置ST HAL所需的代码。

CubeMX是一个以MCU为中心的应用程序。 这意味着该工具执行的所有活动都基于:

  • STM32 MCU系列(F0,F1等)
  • 为您的设备选择的封装类型(LQFP48,BGA 144等)
  • 我们项目中需要的硬件外围设备(USART,SPI等)
  • MCU常规配置(如时钟,电源管理,NVIC控制器等)

除了与硬件相关的功能之外,CubeMX还能够处理以下软件方面:

  • 所选MCU系列(CubeF0,CubeF1等)的ST HAL的管理
  • 我们项目中需要的其他软件库功能(FatFs库,FreeRTOS等)
  • 我们将用于构建固件的开发环境(IAR,TrueSTUDIO等)

CubeMX旨在成为一个完整的项目管理工具。 但是,它有一些局限性,使其只能在电路板和固件开发的早期阶段使用。

启动CubeMX后,将显示一个漂亮的欢迎屏幕(请参见下图)。

单击New project将打开MCU和板选择器对话框,如下图所示。

该对话框是一个基于选项卡的窗口,具有两个主要选项卡:MCU选择器和板选择器。

第一个选项卡允许从整个STM32产品组合中选择一个微控制器。 使用“系列”组合框,我们可以过滤属于给定系列的所有MCU。 通过“行”组合框,可以进一步过滤属于一个子系列(值行等)的MCU。 软件包组合框允许选择所有具有所需软件包的MCU。 点击更多过滤器按钮,我们可以显示其他限制搜索的字段

Board Selector选项卡允许在所有正式的ST开发板之间进行过滤(参见下图)。

有3种开发板可供选择:Nucleo,Discovery和EvalBoard,它们是用于测试STM32 MCU的最完整(且最昂贵)的开发板。 显然,我们对Nucleo板感兴趣。 因此,首先选择Nucleo板的类型,然后单击“确定”按钮。

在“板选择器”视图中,“供应商”组合框下方有一个复选框。 标签上显示使用其默认模式初始化所有IP。 这是什么意思? 首先,让我们澄清一下,IP并不表示Internet协议,而是IP的缩写。 选中该框将导致CubeMX将自动为板上可用的所有外围设备生成C初始化代码,而不仅为与用户应用程序相关的外围设备生成C初始化代码。 例如,Nucleo板具有连接到STLINK接口的USART(USART2),该接口将其映射为虚拟COM端口。 选中该框,将对CubeMX发出提示,以生成所有必要的代码以初始化USART。

启用该功能似乎是一个不错的功能,但是对于新手来说,最好将该功能保持禁用状态,并仅在需要时才手动启用每个外围设备。 这简化了学习过程,避免了浪费大量时间试图一次理解所有生成的代码

一旦选择了要使用的MCU(或开发板),就会出现CubeMX主窗口,如下图所示。该视图以STM32 MCU的漂亮图形表示为主。 即使在这种情况下,我们也具有选项卡式视图。 让我们更深入地查看每个标签。

引脚视图

引脚视图是第一个视图,分为两部分。 右侧包含具有所选外设和GPIO的MCU表示,并由ST Chip视图调用。 在左侧,我们以树状视图的形式列出了可以与所选MCU一起使用的所有外围设备(硬件部件)和中间件库(软件部件)。 这由ST IP树窗格调用。

芯片视图

芯片视图可轻松导航到MCU配置内部,这是配置微控制器的一种非常方便的方法。

启用了亮绿色的引脚。 这意味着CubeMX将生成所需的代码以根据其功能配置该引脚。 例如,对于引脚PA5,CubeMX将生成将其设置为通用输出引脚所需的C代码。

如果未启用相应的外围设备,则该引脚为橙色。 例如,使能了PA2 PA和PA3引脚,并且CubeMX将生成相应的C代码以对其进行初始化,但是未启用相关的外设(USART2),并且不会自动生成设置代码。

黄色引脚是电源引脚,其配置无法更改。

BOOT和RESET引脚为卡其色,并且其配置无法更改。

显示了上下文工具提示,将鼠标指针移到MCU引脚上(参见下图)。 例如,针对PB3引脚的上下文工具提示告诉我们,信号映射到串行线调试(SWD)接口,并且充当串行线输出(SWO)引脚。 另外,还示出了引脚号(55)。

STM32 MCU允许将外设映射到不同的引脚。 例如,在STM32F401xE MCU中,SPI2 MOSI信号可以映射到引脚PC2或PB14。 CubeMX使您可以通过Ctrl + click轻松查看允许的替代方案。 如果存在备用引脚,则该引脚显示为浅蓝色(仅当该引脚未处于复位状态(即已启用)时,才会显示备用引脚)。

例如,在下图中,我们可以看到,如果在PC2引脚上按Ctrl +单击,则PB14信号将以蓝色突出显示。 这在电路板布局中非常方便。 如果真的很难将信号路由到该引脚,或者其他功能需要该引脚,则备用引脚可以简化电路板。

同样,大多数MCU引脚可以具有备用功能,见下图。 单击引脚时,将显示一个上下文菜单。 这使我们可以选择要对该信号启用的功能。

这种灵活性导致信号功能之间产生冲突。 CubeMX尝试自动解决这些冲突,将信号分配给另一个引脚。 固定信号是那些功能被锁定到特定引脚的引脚,从而阻止了CubeMX选择备用引脚。 当冲突导致无法使用外设时,将在“芯片视图”中禁用引脚模式,并且该引脚将显示为橙色。

IP树窗格

IP树窗格提供了一种方便的方法来启用/禁用以及配置所需的外围设备和软件中间件。 CubeMX使用图标和不同的颜色以灵巧的方式显示外围设备列表,因此用户可以快速了解外围设备是否可用以及其具有的配置功能。 让我们深入了解它们。

  • Case 1:表明外围设备可用并且当前被禁用,并且可以使用其所有可能的模式。 例如,在使用I²C接口的情况下,该外设的所有可能模式为:I²C,SMBus警报模式,SMBus两线接口(TWI)
  • Csae 2:显示外围设备由于与另一外围设备发生冲突而被禁用。 这意味着两个外设都使用相同的GPIO,因此无法同时使用它们。 将鼠标移到它上面将会显示参与冲突的其他外围设备。 例如,对于STM32F401RE MCU,不可能同时使用I2C2和SWD调试引脚。
  • Case 3:表示外围设备可用并且当前被禁用,但是由于与其他外围设备的冲突,其至少一种模式不可用。 例如,在STM32F401RE MCU中,TIM2外设的第四通道使用PA2 GPIO,它是USART2外设的USART_RX信号。 这意味着在使用Nucleo VCP时,不能将TIM2通道4用作输入捕获。
  • Case 4:表示外设不适用于所选的封装类型(如果您强烈需要该外设,则必须切换到另一种封装类型-通常是带有更多引脚的封装类型)。
  • Case 5:表示已使用外设并且其所有模式均可用
  • Case 6:显示使用了外围设备,但某些模式或I / O不可用
  • Case 7:当所有外围设备模式均可用时,所有配置选项均以黑色显示
  • Case 8:当并非所有外围设备模式都可用时,不可用的配置选项显示为红色背景

时钟视图

时钟视图是进行与时钟管理相关的所有配置的区域。 在这里,我们可以设置主内核和外设时钟。 所有时钟源和PLL配置均以图形方式显示(见下图)。

用户第一次看到此视图时,可能会对配置选项的数量感到困惑。 但是,通过一点实践,这是处理STM32时钟配置的最简单方法(与8位MCU相比,这是相当复杂的)。

如果您的电路板设计需要高速时钟(HSE),低速时钟(LSE)或同时使用两者的外部源,则必须首先在RCC部分的Pinout视图中将其启用,如下图所示。

完成此操作后,您将能够在时钟视图中更改时钟源。

参阅

STM32CubeMX工具和调试 - viadean​viadean.com
0216e662ba7017012f4a98ac320bba4c.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值