IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32CubeIDE的MCU开发 -> 正文阅读

[嵌入式]STM32CubeIDE的MCU开发

????????以前做stm32嵌入式开发均使用的是破解版的keil软件,现在工作需要无法按照此步骤进行,最近针对ST官方免费软件STM32CubeIDE进行了相关调研工作。

1 STM32CubeIDE简介

????????目前主流的STM32开发环境是ARM公司的KEIL软件, 由于KEIL对于STM32大部分型号是收费的, 使用需要破解, 存在版权问题。 并且使用KEIL编译大型工程, 编译太慢了, 编译耗时长。

????????STM32CubeIDE是ST公司推出的免费多功能STM32开发工具,采用了行业标准的开放式许可条款,为简化和加快基于STM32的嵌入式设计,新增了STM32专用功能,包括功能强大的STM32CubeMX微控制器配置和项目管理工具。用户能够最大限度地提高产品的功能和性能,缩短研发周期,降低开发成本。

????????STM32CubeIDE是一个多操作系统集成开发工具,它是STM32Cube软件生态系统的一部分。STM32CubeIDE具有STM32 MCU和MPU的外设配置、代码生成、代码编译和调试功能,它基于Eclipse?/CDT框架和GCC工具链进行开发,GDB进行调试。STM32CubeIDE集成了STM32的配置和项目创建功能,提供了一体化的工具体验,节省安装和开发时间。在开发过程中任何时间,用户都能返回到外设/中间件的初始化和配置,并且在不影响用户代码的情况下生成初始化代码。

2 STM32CubeIDE下载与安装

2.1 STM32CubeIDE下载

????????进入意法半导体的官网 STM32CubeIDE - STM32的集成开发环境 - STMicroelectronics,选择最新版本,按照提示下载STM32CubeIDE软件安装包,如下图所示。

图1 官网获取最新安装包

?????? 例如,作者的电脑是windows操作系统,选择了当前最新版本1.6.1 STM32CubeIDE-Win的安装包进行下载。

2.2 STM32CubeIDE安装

????????软件下载成功后,解压缩软件安装包,右键.exe文件 —> 以管理员身份运行,注意:安装目录中不允许有中文路径

?图2 管理员身份运行

????????弹出的界面,点击Next。

?图3 安装界面

????????弹出的界面,点击I Agree。

图4 同意安装

????????选择安装路径,点击Next。

图5 选择安装路径

????????勾选“SEGGER J-Link drivers”和“ST-LINK drivers”,点击“Install”,等待安装完成。

图6 勾选调试工具

????????安装完成,点击Next。

图7 安装完成

????????弹出的界面,点击Finish。

图8 Finish

2.3 STM32CubeIDE器件包安装

????????双击软件STM32CubeIDE 1.6.1.exe ?,点击help —> Manage Embedded Software Packages 。

图9 安装器件包

????????根据项目需要选择安装STM32器件库,例如要使用STM32F1系列和STM32F4系列,勾选最新的器件库,点击Install Now直接安装即可。

图10 STM32F1系列器件包

图11 STM32F4系列器件包

????????安装成功后勾选框显示为绿色,查看器件包的安装路径,点击Window —> Preferences 。

图12 查看已器件包路径

????????在STM32Cube —> Firmware Updater中可以看到器件库的默认安装路径,此路径也可以自行修改。

图13 器件包默认路径

????????查看此路径,可以看到已经安装成功的器件库,项目开发就可以正常使用该系列的STM32芯片。

图14 已安装器件包文件夹

3 STM32CubeIDE的使用

????????下面以STM32F407ZGT6型号为例,开发和调试LED闪烁、串口中断回环的功能,介绍STM32CubeIDE软件的基本使用方法。

3.1 资料准备

????????STM32F407ZG - 带DSP和FPU的高性能基础系列ARM Cortex-M4 MCU,具有1 MB Flash、168 MHz CPU、ART加速器、以太网和FSMC - STMicroelectronics

《STM32参考手册》,用于查询STM32各类寄存器的使用方法;

《STM32数据手册》(产品规格书),用于查询STM32的物理结构(总线架构、时钟树、管脚功能等);

《板卡原理图》

3.2 搭建工程

????????点击File —> New —> STM32 Project 。

图15 新建工程

????????弹出的界面,在1中搜索项目使用的STM32芯片型号,点击2处,然后再点击Next。

图16 搜索STM32芯片型号

????????设置project名,点击Finish 。

图17 工程命名

????????此时弹出与STM32CubeMX相同的图形化外设配置界面,根据本次例程的功能,我们需要配置时钟、IO、串口、中断等功能。

????????首先配置时钟管脚, 选择晶振(板卡上配置频率为8MHz的)作为外部高速时钟(HSE),外部低速时钟(LSE)暂时不需要。

图18 配置外部高速时钟HSE

????????配置系统管脚,debug用,选择4pin的jtag功能。

图19 配置调试接口

????????配置LED IO引脚为输出功能引脚,查看板卡原理图,LED0连接在PF9引脚、LED1连接在PF10引脚,那么分别将PF9和PF10配置为OUTPUT引脚。

图20 配置LED0管脚

图21配置LED1管脚

????????修改引脚命名。

图22 修改LED0名

图23 修改LED1名

????????配置串口,本次测试使用USART3,配置USART的IO引脚、波特率、中断等参数。

图24 配置串口3管脚

图25 配置串口3中断

????????开启USART3的中断功能,由于本次测试仅使用一个串口中断的功能,所以在界面中的中断优先级分组、抢占优先级和子优先级按默认设置即可。

图26 配置串口3中断

????????配置时钟树,此处将APB1配置为最高的42MHz,APB2配置为最高的84MHz。

图27 配置时钟树

????????STM32F407时钟树,HSE(高速外部时钟信号)、LSE(低速外部时钟信号)、HSI(高速内部时钟信号)、LSI(低速内部时钟信号)。

图28 STM32F4时钟树结构

????????工程设置,先查看工程名和路径,再选择生成的Code格式。

图29 确认工程名和路径

图30 勾选生成的code特征

????????保存.ioc文件,生成project code模板。

图31 生成code

????????可以看到生成的工程文件夹结构。

图32 生成的project结构

3.3 用户程序编写

????????用户程序的编写只能在注释有“USER CODE BEGIN”与“USER CODE END”之间进行,防止修改.ioc文件后重新生成project code时将已经编写的用户程序覆盖掉。

图33 用户程序编写区域

3.4 编译、调试

????????工程编译。

图34 工程编译

????????设置调试工具。

图35 调试工具设置

????????选中当前工程,设置调试器,本次测试使用JLINK进行调试,因此调试探头选中SEGGER J-LINK,接口选中JTAG接口,调试初始速度默认为4000kHz。

图36 选择jlink

????????1表示下载程序(.elf文件),2表示Debug程序。

图37 下载与调试

????????下载程序成功。

图38 程序下载

????????Debug程序成功,程序运行暂停在main函数内的第一条语句。

图39 程序debug

????????全速运行程序后,从板卡上可以看到led0(红色)开始闪烁/led1(绿色)常亮,这是因为我们在STM32CubeIDE的.ioc中配置了这两个IO(默认低电平,低电平常亮),但是应用程序中只针对led0做了翻转功能,所以现象就是红灯闪烁、绿灯常亮。

图40 LED0灭、LED1亮

图41 LED0亮、LED1亮

图42 STM32CubeMX中GPIO的默认状态

????????测试串口中断回环功能。

图43 串口中断回环测试

4 STM32CubeIDE使用小结

  1. 使用STM32CubeMX的图形化界面生成和修改底层驱动,可操作性更强、入门难度更小、开发效率更高,我们只需要将重心放在应用程序的开发上即可;
  2. STM32CubeIDE软件是免费软件,无需破解,程序运行大小不受影响,对于我们进行STM32嵌入式开发的成本更低。
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-01 12:05:12  更:2021-09-01 12:05:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:54:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码