STM32入门开发—安装STM32Cubex开发环境安装

 STM32的软件开发模式

开发者基于ST公司提供的软件开发库进行应用程序的开发,常用的STM32软件开发模式主要有以下几种:

  1. 基于寄存器的开发模式

基于寄存器编写的代码简练、执行效率高。这种开发模式有助于开发者从细节上了解 STM32 微控制器的架构与工作原理,但由于 STM32 微控制器的片上外设多且寄存器功能五花八门,因此开发者需要花费很多时间精力研究产品手册。这种开发模式的另一个缺点是:基于寄存器编写的代码后期维护难,移植性差。总的来说,这种开发模式适合有较强编程功底的开发者。

  1. 基于标准外设库的开发模式

这种开发模式对开发者的要求较低:开发者只要会调用API即可编写程序。基于标准外设

库编写的代码容错性好且后期维护简单,其缺点是运行速度相对寄存器级的代码偏慢。另外,基于标准外设库的开发模式比较不利于开发者深入掌握 STM32 微控制器的架构与工作原理。

总的来说,这种开发模式适合快速入门,大多数初学者会选择这种开发模式。

  1. 基于STM32Cube的开发模式

基于STM32Cube的开发流程如下:

  • 开发者先根据应用需求使用图形化配置与代码生成工具对MCU片上外设进行配置;
  • 然后生成基于HAL库或LL库的初始化代码;
  • 最后将生成的代码导入集成开发环境进行编辑、编译和运行。

基于STM32Cube的开发模式的优点有以下几点:

    • 初始代码框架是自动生成的,这简化了开发者新建工程、编写初始代码的过程。
    • 图形化配置与代码生成工具操作简单、界面直观,这为开发者节省了查询数据手册了解引脚与外设功能的时间。
    • HAL库的特性决定了基于STM32Cube的开发模式编写的代码移植性最好。

这种开发模式的缺点是函数调用关系比较复杂、程序可读性较差、执行效率偏低以及对初学者不友好等。

另外,图形化配置与代码生成工具的“简单易用”是建立在使用者已经熟练掌握了STM32 微控制器的基础知识和外设工作原理的前提下的,否则在使用该工具的过程中将会处处碰壁。基于STM32Cube的开发模式是ST公司目前主推的一种模式,对于近年来推出的新产品,

ST 公司也已不为其配备标准外设库。因此,为了顺应技术发展的潮流,本书选取了基于

STM32Cube的开发模式,后续的任务实施的讲解,都是基于这种开发模式。

3. STM32的集成开发环境

根据 ST 公司官网显示,支持 STM32 开发的 IDEsIntegrated Development

Environments,集成开发环境)有20余种,其中包括商业版软件和纯免费的软件。目前比较常用的商业版IDEMDK-ARMIAR-EWARM,免费的IDE包括SW4STM32TrueSTUDIO

CoIDE等。另外,ST官方推荐使用STM32CubeMX软件可视化地进行芯片资源和管脚的配置,然后生成项目的源程序,最后导入IDEs中进行编译、调试与下载。在20194月,ST公司还发布了STM32CubeIDE 1.0,它将TrueSTUDIOSTM32CubeMX工具整合在一起,是一个基于EclipseGCCIDE工具。

常见的支持STM32开发的IDEs如图2-5所示。

图 2-5 支持 STM32 开发的 IDEs 一览

本书在后续的任务实施讲解中,将采用“STM32CubeMX + MDK-ARM的开发工具组合。

具体的应用开发流程如下所示:

  • 根据任务要求,利用STM32CubeMX进行功能配置;
  • 生成基于MDK-ARM集成开发环境的初始代码;
  • 添加功能逻辑完成应用开发。
  • 2.2.3 任务实施

    1. MDK-ARM的安装
    1. 下载安装包并安装
  • Keil官网(www.keil.com)下载MDK-ARM的安装包,如:“MDK528A.EXE。安装包下载完毕后,双击运行进入安装界面,根据向导提示点击“Next按钮,安装目录保持默认即可,如图2-6所示。

     图 2-6 MDK-ARM 的默认安装目录

    安装成功后,系统将进入软件包安装欢迎界面,如图2-7所示。

     

    图 2-7 Pack Installer 欢迎界面

    1. 安装软件包
  • 方法一:点击图2-7中的“OK按钮之后,将会进入软件包的安装主界面,如图2-8

    示。

     

      图 2-8 软件包的安装主界面

    Pack Installer窗口左半部的Device列表选择相应的STM32微控制器型号,如: STM32F103VE(2-8中的标号①处),然后点击右侧的“Intall按钮进行在线安装(2-

    8中的标号②处),同时可通过图中标号④处的进度条观察安装进度。

    注:如果下载速度较慢,可使用下载工具进行下载,将图2-8中标号③处的网址复制到下载工具中即可。

    方法二:找到随书配套资源包中的 MKD 支持包:双击进行安装。

    1. STM32CubeMX的安装
    1. 下载安装包并安装
  • STM32CubeMX软件的运行依赖Java Run Time Environment(简称JRE),因此建议在安装前到Java的官网https://www.java.com下载JRE。读者应根据自己操作系统选择32 位或64位版本进行下载安装。

    STM32CubeMX软件可访问其主页(https://www.st.com/stm32cube)获取,其安装过程也比较简单,根据安装向导操作即可。

    1. 嵌入式软件包的安装
  • 打开安装好的STM32CubeMX软件,点击“Help菜单(图2-9中标号①处),选择“Manage embedded software packages选项(图2-9中标号②处)进入嵌入式软件包管理界面。

     图 2-9 STM32Cube 嵌入式软件包的安装

    选择相应的STM32微控制器系列,如:STM32F1 Series(2-9中的标号③处),然后点击“Install Now按钮(图2-9中的标号④处)即可下载并安装嵌入式软件包。

 

    1. ST-Link驱动程序的安装

ST-LinkST公司官方出品的一款支持STM32系列单片机的程序下载调试工具,使用前应安装相应的驱动程序。

MDK-ARM 的安装目录中包含了 ST-Link 下载调试工具的驱动程序,其位于

C:\Keil_v5\ARM\STLink\USBDriver路径,如图2-10中的标号①处所示。

读者的PC机如果安装了64位的操作系统,则直接执行上述路径下的“dpinst_amd64.exe

可执行文件即可完成驱动程序的安装,如图2-10中的标号②处所示。

    1. 建立工程
    1. 建立工程存放的文件夹D 盘根目录新建文件夹“STM32_WorkSpace用于保存所有的任务工程,然后在该文

件夹下新建文件夹“task1_ProjectFirst用于保存本任务工程。

    1. 新建STM32CubeMX工程打开STM32CubeMX工具,点击“ACCESS TO MCU SELECTOR(选择MCU)”按钮,如图图 2-11所示。

 

图 2-11 点击“MCU 选择”按钮

进入“MCU选择”窗口,如图2-12所示。

 

图 2-12 查找 MCU 型号

在图2-12中的标号①处,输入MCU型号的关键字,如:STM32F103VE。点击标号②处的 MCU型号,然后点击标号③处的“Start Project按钮新建STM32CubeMX工程。3)配置GPIO功能假设开发板的“PE6引脚与LED灯——“LED2相连。在STM32CubeMX工具的配置主界面,用鼠标左键点击MCU的“PE6引脚处,选择功能“GPIO_Output。如图2-13所示。

 

图 2-13 配置 GPIO 功能

然后用鼠标右键点击“PE6引脚,选择“Enter User Label选项,输入值“LED2,将“PE6引脚的“用户标签”值配置为“LED2,点击“GPIO”,选中“PE6,确保PE6引脚的配置如图2-14中的④~所示。

 

 图 2-14 配置 GPIO 引脚的用户标签

  1. 配置调试端口

STM32微控制器支持通过JTAG接口或SWD接口与仿真器相连进行在线调试。完整的JTAG 接口为20Pin,接口体积大且占用较多GPIO引脚资源,一般用于J-Link仿真器。而SWD接口最少只需3根连线即可实现,一般用于ST-Link仿真器。

接下来以ST-Link仿真器为例,讲解调试端口的配置过程。

展开“Pinout & Configuration标签页左侧的“System Core(系统内核)”选项(图 2-15中标号①处),选择“SYS(系统)”选项(图2-15中标号②处),将“Debug(调试)” 下拉菜单改为“Serial Wire(串口线)”选项(图2-15中标号③处)。即可将“PA13引脚配置为SWDIO功能(图2-15中标号⑤处),“PA14引脚配置为SWCLK功能(图2-15中标号

处)。

 

图 2-15 SWD 调试端口的配置

  1. 配置MCU时钟树选择“Pinout & Configuration标签页左侧的“RCC(复位、时钟配置)”选项,如图 2-16 的标号①所示。将 MCU 的“High Speed ClockHSE,高速外部时钟)”配置为 “Crystal/Ceramic Resonator(晶体/陶瓷谐振器)”,如图2-16的标号②所示。同样地,将MCU的“Low Speed ClockLSE,低速外部时钟)”配置为“Crystal/Ceramic Resonator

(晶体/陶瓷谐振器)”,如图2-16的标号③所示。配置完毕后,MCU的“Pinout View(引脚视图)”中相应的引脚功能将被配置,如图216中的标号④和⑤所示。

 图 2-16 配置 HSE 和 LSE 时钟源

切换到“Clock Configuration(时钟配置)”标签,进行STM32微控制器的时钟树配

置,如图2-17所示。图中各个标号的含义如下:标号①:“PLL Source MUX(锁相环时钟源选择器)”的时钟源选择为“HSE,即:8MHz

外部晶体谐振器;标号②:“PLLMul(锁相环倍频)”配置为“9

标号③:“System Clock MUX(系统时钟选择器)”的时钟源选择为“PLL;标号④:配置“SYSCLK(系统时钟)”为72MHz;标号⑤:配置“HCLK(高性能总线时钟)”为72MHz

标号⑥:配置“Cortex System timerCortex内核系统嘀嗒定时器)”的时钟源为HCLK

的八分之一,即:9MHz;标号⑦:配置“APB1 Peripheral clocks(低速外设总线时钟)”为HCLK的二分频,

即:36MHz。标号⑧:配置“APB2 Peripheral clocks(高速外设总线时钟)”为HCLK的一分频,即:72MHz

 

图 2-17 配置 STM32 微控制器的时钟树

6)保存STM32CubeMX工程点击“File(文件)”菜单,选择“Save Project(保存工程)”选项,如图2-18中标号①和标号②所示。然后定位到文件夹“D:\STM32_WorkSpace\task1_ProjectFirst,点击“确定”保存STM32CubeMX工程。

 

 

图 2-18 保存 STM32Cube 工程

6)生成C代码初始工程切换到“Project Manager(工程管理)”标签,进行“C代码工程”的配置,如图2-19 所示。

 

图 2-19 代码生成的相关配置

点击左侧“Code Generator(代码生成)”配置标签,将“STM32Cube Firmware Library Package单选框的选项改为“Copy only the necessary library files,如图2-19 中的标号①所示。

在“Generated files复选框中增加勾选“Generate peripheral initialization

as a pair of “.c/.h” files per peripheral选项。如图2-19中标号②所示。

点击左侧的“Project(工程)”配置标签进行“C代码工程”保存的相关配置。由于之前已保存过STM32CubeMX的工程,因此“Project Name(工程名)”和“Project Location

(工程存放位置)”处的信息已填好(分别如图2-20的标号①和标号②处所示)。

 图 2-20 工程保存相关配置

点击图2-20中的“Toolchain/IDE下拉菜单(图2-20中标号③处),选择集成开发环境为“MDK-ARM V5

最后点击“GENERATE CODE(生成代码)”按钮(图2-20中标号④处),即可生成相应的

C代码工程。

5. 完善main()函数

生成的C代码工程位于工程文件夹中的“MDK-ARM中,如图2-21中的标号①处所示。

双击工程文件(图2-21中标号②处),使用MDK-ARM工具打开。

 图 2-21 打开 MDK-ARM 工程

打开后的工程如图2-22所示,展开左侧的“工程列表”窗口,打开“main.c文件(图

2-22的标号①处),在while(1)代码段中添加标号②处所示的两行代码。

 图 2-22 为主函数添加代码

5. C代码工程配置

点击快捷工具栏中的图标进行C代码工程的配置(图2-23中标号①处)。

切换到“Debug标签(图2-23中标号②处),选择相应的调试工具,如:ST-Link Debugger

(图2-23中标号③处)。

 图 2-23 调试工具的选择

点击图2-23中的“Settings按钮(标号④处)进入“调试与下载配置”界面,将调试

工具端口改为“SW,如图2-24子图(a)中标号①处所示。如果STM32微控制器连接正常,则会在右上角的“SW Device窗口看到已连接的设备(图2-24子图(a)中标号②处)。

点击“Flash Download标签切换到“下载配置”界面(图2-24子图(b)中的标号③ 处),勾选“Reset and Run选项(图2-24子图(b)中的标号④处)。经过这样的配置以后,程序下载到STM32开发板后会自动重启并运行。

 图 2-24 调试工具端口选择与下载配置

6. 编译工程、下载并运行

M3主控模块上的开关拨为NC位置(方向朝下),如图2-25所示。

 图 2-25 配置下载开关

工程编写完毕后,可点击工具栏中的“BuildF7)”按钮进行工程的编译。编译无误后,点击工具栏中的“DownLoadF8)”按钮进行工程的下载并运行。如图2-26中的标号①和标号②处所示。

 

 图 2-26 工程的编译下载并运行

本工程运行的现象是LED2闪烁,亮1秒灭1秒,周期为2秒。

 

 

发布了12 篇原创文章 · 获赞 4 · 访问量 1425

猜你喜欢

转载自blog.csdn.net/weixin_44206126/article/details/104360949