STM32CubeMX和HAL库-新建项目

目录

新建项目

选择开发板

MCU图形化配置界面总览

MCU配置


新建项目

新建项目包含选择MCU创建项目、选择开发板新建项目和交叉选择MCU新建项目三部分。 1. 选择MCU创建项目 单击主菜单项File→New Project,或Home视图上的ACCESS TO MCU SELECTOR 按钮,都可以打开的New Project from a MCU/MPU对话框。该对话框用于新建项目,是STM32CubeMX的3个主要视图之一,用于选择MCU或开发板以新建项目。 图3-7所示的是MCU/MPU Selector界面,用于选择MCU。

界面有如下几个功能区域。 (1)MCU/MPU Filters区域,用于设置筛选条件,缩小MCU的选择范围。有一个局部工具栏,一个型号搜索框,以及各组筛选条件,如Core、Series、Package等,单击某个条件可以展开其选项。 (2)MCUs/MPUs List区域,通过筛选或搜索的MCU列表,列出了器件的具体型号、封装、Flash、RAM等参数。在这个区域可以进行如下的一些操作。 ① 单击列表项左端的星星图标,可以收藏条目(★)或取消收藏(☆)。 ② 单击列表上方的Display similar items按钮,可以将相似的MCU添加到列表中显示,然后按钮切换标题为Hide similar items,再单击就隐藏相似条目。 ③ 单击右端的Export按钮,可以将列表内容导出为一个Excel文件。

④ 在列表上双击一个条目时就以所选的MCU新建一个项目,关闭此对话框进入项目管理视图。 ⑤ 在列表上单击一个条目时,将在其上方的资料区域里显示该MCU的资料。 (3)MCU资料显示区域,在MCU列表里单击一个条目时,就在此区域显示这个具体型号MCU的资料,有多个界面和按钮操作。 ① Features界面,显示选中型号MCU的基本特性参数,界面左侧的星星图标表示是否收藏此MCU。 ② Block Diagram界面,会显示MCU的功能模块图,如果是第一次显示某MCU的模块图,会自动从网上下载模块图片并保存到软件库根目录下。 ③ Docs&Resources界面,这个界面显示MCU相关的文档和资源列表,包括数据手册、参考手册、编程手册、应用笔记等。单击某个文档时,如果没有下载,就会自动下载并保存到软件库根目录下;如果已经下载,就会用PDF阅读器打开文档。

④ Datasheet按钮,如果数据手册未下载,会自动下载数据手册然后显示,否则会用PDF阅读器打开数据手册。数据手册自动保存在软件库根目录下。 ⑤ Buy按钮,用浏览器打开ST有限公司网站上的购买界面。 ⑥ Start Project按钮,用选择的MCU创建项目。 图左侧的MCU/MPU Filters框内是用于MCU筛选的一些功能操作,上方有一个工具栏,有4个按钮。 (1)Show favorites按钮,显示收藏的MCU列表。单击MCU列表条目前面的星星图标,可以收藏或取消收藏某个MCU。 (2)Save Search按钮,保存当前搜索条件为某个搜索名称。在设置了某种筛选条件后可以保存为一个搜索名称,然后再单击Load Searches 按钮时选择此搜索名称,就可以快速使用以前用过的搜索条件。

(3)Load Searches按钮,会显示一个弹出菜单,列出所有保存的搜索名称,单击某一项就可以快速载入以前设置的搜索条件。 (4)Reset all filters按钮,复位所有筛选条件。 在此工具栏的下方有一个Part Number Search编辑框,用于设置器件型号进行搜索。可以在文本框里输入MCU的型号,例如STM32F103,就会在MCU列表里看到所有STM32F103xx型号的MCU。 MCU的筛选主要通过下方的几组条件进行设置。 (1)Core(内核),筛选内核,选项中列出了STM32支持的所有Cortex内核。 (2)Series(系列),选择内核后会自动更新可选的STM32系列列表,图3-9只显示了列表的一部分。

(3)Line(产品线),选择某个STM32 系列后会自动更新产品线列表中的可选范围。例如,选择了STM32F1系列之后,产品线列表中只有STM32F1xx的器件可选。 (4)Package(封装),根据封装选择器件。用户可以根据已设置的其他条件缩小封装的选择范围。图3-11是封装列表的一部分。 (5)Other(其他),还可以设置价格、IO引脚数、Flash大小、RAM大小、主频等筛选条件。

选择开发板

用户还可以在New Project from a MCU/MPU窗口里选择开发板新建项目,其界面如图3-12所示。STM32CubeMX目前仅支持ST官方的开发板。

交叉选择MCU新建项目 New Project from a MCU/MPU对话框的第三个界面是Cross Selector,用于交叉选择MCU新建项目,界面如图所示。

在图中,左上方的Part Number Search部分用于选择原有MCU的厂家和型号,厂家有NXP、Microchip、ST、TI等,选择厂家后会在第二个下拉列表框中列出厂家的MCU型号。选择厂家和MCU型号后,会在下方的Matching ST candidates(500)框中显示可选的STM32MCU,并且有一个匹配百分比表示了匹配程度。

MCU图形化配置界面总览

选择一个MCU创建项目后,界面上显示的是项目操作视图。因为本书所用开发板上的MCU型号是STM32F103ZET6,所以选择STM32F10ZET6新建一个项目进行操作。这个项目只是用于熟悉STM32CubeMX软件的基本操作,并不需要下载到开发板上,所以可以随意操作。读者选择其他型号的MCU创建项目也是可以的。 新建项目后的工作界面如图所示,界面主要由主菜单栏、标签导航栏和工作区三部分组成。 窗口最上方的主菜单栏一直保持不变,标签导航栏现在有3个层级,最后一个层级显示了当前工作界面的名称。导航栏的最右侧有一个GENERATE CODE按钮,用于图形化配置MCU后生成C语言代码。工作区是一个多页界面,有4个工作界面。

(1)Pinout&Configuration(引脚与配置)界面,这是对MCU的系统内核、外设、中间件和引脚进行配置的界面,是主要的工作界面。 (2)Clock Configuration(时钟配置)界面,通过图形化的时钟树对MCU的各个时钟信号频率进行配置的界面。 (3)Project Manager(项目管理)界面,对项目进行各种设置的界面。

(4)Tools(工具)界面,进行功耗计算、DDR SDRAM适用性分析(仅用于STM32MP1系列)的操作界面。

MCU配置

引脚与配置界面是MCU图形化配置的主要工作界面,如图所示。这个界面包括 Component List(组件列表)、Mode &Configuration(模式与配置)、Pinout view(引脚视图)、System view(系统视图)和一个工具栏。 1. 组件列表 位于工作区左侧的是MCU可以配置的系统内核、外设和中间件列表,每一项称为一个组件(Component)。组件列表有两种显示方式:分组显示和按字母顺序显示。单击界面上的Categories或A->Z页标签就可以在这两种显示方式之间切换。 在分组显示状态下,主要有如下的一些分组(每个分组的具体条目与MCU型号有关,这里选择的MCU是STM32F103ZE)。

(1) System Core(系统内核),有DMA、GPIO、IWDG、NVIC、RCC、SYS和WWDG。 (2) Analog(模拟),片上的ADC和DAC。 (3) Timers(定时器),包括RTC和所有定时器。 (4)Connectivity(通信连接),各种外设接口,包括CAN、ETH、FSMC、I2C、SDIO、SPI、UART、USART、USB_OTG_FS、USB_OTG_HS等接口。 (5) Multimedia(多媒体),各种多媒体接口,包括数字摄像头接口DCMI和数字音频接口12S。 (6) Security(安全),只有一个RNG(随机数发生器)。 (7) Computing(计算),计算相关的资源,只有一个CRC(循环冗余校验)。

(8) Middleware(中间件),MCU固件库里的各种中间件,主要有FatFS、FreeRTOS、LibJPEG、LwIP、PDM2PCM、USB_Device、USB_Host等。 (9) Additional Software(其他软件),组件列表里默认是没有这个分组的。如果在嵌入式软件管理窗口里安装了STM32Cube扩展包,例如在3.2.2节演示安装了 TouchGFX,那么就可以通过图3-14中Pinout &Configuration页标签下菜单栏上的Additional Software按钮打开一个对话框,将TouchGFX安装到组件面板的Additional Software分组里。 在初始状态下,组件列表的各个项前面没有任何图标,在对MCU的各个组件做一些设置后,组件列表的各个项前面会出现一些图标(见图3-15),表示组件的可用性信息。因为MCU引脚基本都有复用功能,设置某个组件可用后,其他一些组和可用标记件可能就不能使用了。这些图标的意义如表所示。

相关推荐
沉在嵌入式的鱼1 小时前
linux串口对0X0D、0X0A等特殊字符的处理
linux·stm32·单片机·特殊字符·串口配置
学习路上_write1 小时前
AD5293驱动学习
c语言·单片机·嵌入式硬件·学习
影阴2 小时前
存储器和寄存器
stm32·单片机·嵌入式硬件
吃西瓜的年年3 小时前
3. C语言核心语法2
c语言·嵌入式硬件·改行学it
李洛克073 小时前
RDMA CM UDP 通信完整指南
单片机·网络协议·udp
思茂信息3 小时前
CST电动车EMC仿真——电机控制器MCU滤波仿真
javascript·单片机·嵌入式硬件·cst·电磁仿真
小曹要微笑3 小时前
I2C总线技术解析(纯文字版)
单片机·嵌入式硬件·esp32·iic
我送炭你添花4 小时前
可编程逻辑器件(PLD)的发展历程、原理、开发与应用详解
嵌入式硬件·fpga开发
袖手蹲4 小时前
Arduino UNO Q 从 Arduino Cloud 远程控制闪烁 LED
人工智能·单片机·嵌入式硬件·电脑
平凡灵感码头5 小时前
第一次做蓝牙产品,从零开发 嵌入式开发日志(2)AC63NSDK 完整合并版目录说明
stm32·单片机·嵌入式硬件