STM32(HAL库) CubeMX+Keil5 建立工程

这篇具有很好参考价值的文章主要介绍了STM32(HAL库) CubeMX+Keil5 建立工程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

STM32(HAL库) CubeMX+Keil5 建立工程

目标选择

  • 菜单栏
    • File
      • 新建工程
      • 打开工程
      • 退出软件
    • Window
      • 输出窗口的开启
      • 软件字体设置
    • Help
      • 软件帮助文档
      • 检查软件更新
      • 管理MCU
  • 已存在工程(Existing Projects)
    • 最近打开过的工程(Recent Opened Project)
    • 打开其他已经存在的工程(Other Project)
  • 新建工程(New Project)
    • 基于芯片(Start My Project from MCU)
    • 基于ST官方开发板(Start My Project form ST Board)
    • 交叉选型
      • 在STM32的产品线中筛选出一个芯片型号,这个芯片型号与工程师曾经使用过的芯片型号性能和资源等方面最为接近,便于工程师转换到STM32平台进行项目开发。
  • 软件管理(Manage software installation)
    • 检查软件更新以及MCU固件包的更新(Check for STM32CubeMX and embedded software packages updates)
    • 安装/卸载MCU固件包(Install or remove embedded software packages)

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 选择基于芯片的方式新建工程,进入芯片/开发板选择界面,选择指定的芯片或开发板型号,或者按照用户的需求,比如处理器内核,产品存储空间的大小,片上外设资源等条件,筛选出满足用户要求的芯片型号或开发板型号。
  • 标签页切换
    • 芯片选择器(MCU/MPU Selector)
      • 用于选择芯片型号
    • 开发板选择器 (Board Selector)
      • 用于使用ST官方的开发板
    • 交叉选择器 (Cross Selector)
      • 用于初次使用STM32微控制器的工程师进行硬件平台的转换
  • 筛选器
    • 直接输入芯片型号或开发板型号进行筛选
    • 利用处理器内核、产品系列、存储空间大小以及片上外设资源等组合条件进行筛选
  • 芯片文档,方便用户快速掌握芯片基本功能
    • 芯片特性
    • 功能框图
    • 开发文档
    • 数据手册
    • 购买途径
  • 芯片/开发板列表框

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 这里基于STM32F407ZGT6,在芯片型号出输入STM32F407ZGT6,并在芯片/开发板列表框选择对应芯片,双击,点击右上角Start Project即可建立工程。

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

引脚分配

  • 导航栏 用于切换CubeMX的配置操作过程
    • Home 返回到启动界面
    • STM32F411RETx 返回到目标选择阶段
  • 生成代码(GENERATE CODE)
    • 当用户完成CubeMX的所有配置后,点击GENERATE CODE就可以生成初始化代码以及工程框架。
  • 功能标签页
    • 引脚分配及外设和中间件配置(Pinout&Configuration)
    • 系统时钟配置(Clock Configuration)
    • 工程设置 (Project Manager)
    • 系统功耗估算 (Tools)
      • 当用户的应用与低功耗相关时,可以进行Tools标签页的设置,而一般的应用只需要进行前三个功能标签页设置即可。

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • Pinout&Configuration
    • 类别栏,用于外设及中间件配置
    • 芯片引脚图,用于引脚分配
      • 在芯片引脚图上用不同的颜色,来代表了引脚的功能,比如电源用黄色来表示,复位引脚和BOOT引脚用卡其色来表示,GPIO引脚用灰色来表示(复位状态)
    • 放大/缩小/旋转缩略图

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 查找引脚
    • 用引脚搜索框来快速定位我们所需要进行分配的引脚。
    • 在引脚搜索框输入要分配的引脚名称(例如PA5),对应引脚将会闪烁.

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 选择引脚功能
    • 单击PA5将弹出PA5引脚所用有的引脚功能,选择GPIO_Output.
    • 此时引脚将变为亮绿色并且引脚的标签将显示为GPIO_Output.

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

外设配置

  • System Core:用于配置GPIO、时钟源、中断系统以及其他系统相关的外设
  • Analog:用于配置模数转换器(ADC)和数模转换器(DAC)
  • Timers:用于配置定时器和实时时钟外设
  • Connectivity:用于配置I2C、SPI和UART等连接外设
  • Multimedia:用于配置I2S等音频数据传输外设
  • Computing:用于配置CRC校验外设
  • Middleware:用于配置RTOS和GUI等中间件

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 配置时钟模式
    • 在System Core找到RCC,点击RCC进入时钟模式配置窗口。
      • 在配置窗口的上方有两个箭头,可以展开或收起配置窗口
    • 时钟模式的配置一共有三种选项
      • Disable:内部时钟(HSI和LSI 片内的RC振荡器提供时钟信号)
        • 一般存在5%左右的误差,一般不选用
      • BYPASS Clock Source:旁路时钟 (外部的时钟信号作为时钟源)
      • Crystal/Ceramic Resonator:晶振/陶瓷振荡器 (外部的振荡电路产生时钟信号)
    • 本次不使用实时时钟模块,故对于LSE(32.768KHZ)不进行设置。
    • 完成时钟模式配置之后,对应的引脚将变为亮绿色,同时引脚的功能将设置为OSC_IN和OSC_OUT

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 配置调试接口
    • 在System Core找到SYS,点击SYS进入调试配置窗口。
    • 使用Serial Wire(串行调试接口 依据使用的仿真器情况选择)
    • 此时对应的调试接口引脚,将变为亮绿色,引脚功能将变为SWDIO和SWCLK,作为调试接口的数据引脚和时钟引脚

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 配置GPIO
    • 在System Core找到GPIO,点击GPIO进入GPIO配置窗口。
    • 选择GPIO标签页,在出现的GPIO列表中选择PA5,单击PA5,将进入PA5引脚配置窗口。

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 配置GPIO参数
    • 初始电平 (GPIO output level)
    • 引脚模式 (GPIO mode)
    • 上/下拉电阻 (GPIO Pull-up/Pull-down)
    • 引脚速度 (Maximum output speed)
    • 引脚名称 (User Label)

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

时钟配置

  • Clock Configuration
    • 在这个标签页中以时钟树的形式完整地展示了STM32微控制器的时钟系统,方便用户快速了解STM32微控制器的时钟系统。

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 时钟源模块
    • 外部低速时钟LSE:32.768KHz
      • 主要提供给片内的RTC实时时钟
      • 由于在之前的外设配置中我们没有配置LSE,因此这里显示灰色。
    • 内部低速时钟LSI:32KHz
      • 主要提供给片内的RTC实时时钟模块和看门狗模块
    • 内部高速时钟HSI:16MHz
      • 主要提供给系统时钟使用
    • 外部高速时钟HSE:
      • 振荡模式:4MHz~26MHz晶振
      • 旁路模式:1MHz~50MHz信号
        • 直接接入外部的1MHz~50MHz时钟信号作为时钟源
      • 主要提供给系统时钟使用

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 时钟配置步骤
    • 修改时钟源频率
      • 选择外部高速(HSE)时钟作为时钟源,并修改时钟源频率
    • 选择锁相环输入时钟
      • 选择锁相环输入时钟为HSE
    • 选择系统时钟源
      • 选择PLLCLK为系统时钟源
        • 锁相环输出的时钟精度更高,稳定性更好
    • 设置HCLK时钟频率
      • 一般设置为系统最高支持的主频

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

工程配置

  • Project Manager
    • Project 工程管理
    • Code Generator 代码生成
    • Advanced Settings 高级设置

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 工程管理
    • 工程名称
    • 工程路径
      • 完成工程名称和工程路径设置后,将自动在CubeMX文件夹下新建一个名为Demo的文件夹
    • 选择IDE
      • MDK-ARM V5(Keil 5)

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 代码生成设置
    • 库函数的设置
      • 复制所有的库到用户的工程中
        • 需要经常查阅库函数的源代码,故需要复制所有库
      • 复制必要的库到用户的工程中
      • 不进行库的复制,而是将库作为引用参考
    • 生成文件设置
      • 片内外设初始化将采用独立的.c/.h文件完成
    • HAL库设置
      • 将所有没有使用的引脚设置为模拟功能,可以优化系统功耗
      • 使能断言语句,提升程序健壮性,同时代码量也会增加
    • 模板设置

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 高级设置
    • 对片内的外设所使用的库函数进行选择,可以选择HAL库或者LL库,默认选择HAL库
    • 在Function Name中列出了由CubeMX所生成的外设初始化函数的名称,比如MX_GPIO_Init就是对GPIO进行初始化的函数
    • 如果用户不想使用由CubeMX生成的初始化函数,可以在Not Generate Function Call中勾选对应的函数。(是否使用CubeMX所生成外设初始化函数)

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

  • 生成工程
    • 点击GENERATE CODE就可以生成基于MDK-ARM集成开发环境的工程
    • 正确生成工程之后,将弹出一个对话框
      • 如果工程文件未打开则选择“Open Project”,之后就会转到Keil5
      • 如果工程已打开则选择“Close”

check for stm32cubemx and embedded software packages updates,STM32 教程,stm32,嵌入式硬件,单片机

参考的成电应电科协 觉得老师讲得很好 就记下来了文章来源地址https://www.toymoban.com/news/detail-805717.html

到了这里,关于STM32(HAL库) CubeMX+Keil5 建立工程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32——01-开发软件Keil5及STM32CubeMX的安装

    1.1开发环境的安装  编程语言:C语言 需要安装的软件有两个:Keil5和STM32CubeMX 安装         安装包(不需要太新,以 MDK324 为例,最新的 MDK327 有问题)         安装过程一路下一步即可(建议不要安装在 C 盘)         安装路径一定不要有中文或空格!!(重要

    2024年02月08日
    浏览(45)
  • Keil5 开发 STM32 工程创建

    打开Keil5软件,点Project菜单的的下来选项New uVision Project…,然后选择工程文件夹放置的目录,新建项目目录,如:LED闪烁 点击OK后,会弹出配置运行时环境的选项框,关闭即可,该方法使用手动配置。 完成后,如下图: 打开项目目录,分别创建3个文件夹:Library, Start, User,

    2024年02月16日
    浏览(88)
  • STM32F103标准库开发:Keil5新建STM32工程

    首先需要搭建Keil5编译环境,才可以新建STM32工程。 Keil5编译环境搭建流程----STM32和GD32 新建一个文件夹 template 在文件夹template里面新建四个文件 (1) CMSIS : 存放内核驱动程序和启动引导文件 (2) FWLIB :存放库函数文件 (3) Project :存放工程文件 (4) User : 存放用户程

    2023年04月08日
    浏览(68)
  • Keil5同时兼容C51与STM32工程

    第一步: 下载并安装keil4(C51),详细安装步骤参考网上,这里就不啰嗦了。keil4安装目录内容如下: 第二步: 安装kelil5(mdk514),不要和keil4安装在同一个文件夹,安装过程不罗嗦了。keil5安装目录内容如下: 第三步: 最关键的一步,打开keli4的安装路径,复制整个C51文件夹

    2024年02月14日
    浏览(57)
  • STM32CubeMX教程1 工程建立

    开发板(STM32F407G-DISC1) STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 使用STM32CubeMX软件 建立一个STM32F407的空工程 如下图所示为STM32CubeMX软件主界面 单击ACCESS TO MCU SELECTOR 在弹出的MCU选择界面,搜索工程使用的MCU型号,然后选中该MCU,单击界面右上角Star

    2024年02月04日
    浏览(46)
  • 【11】STM32·HAL库开发-STM32CubeMX简介、安装 | 新建STM32CubeMX工程步骤

      STM32CubeMX是ST开发的一款图形配置工具,可通过配置自动生成 初始化代码 (并不包括逻辑代码)。以下是STM32CubeMX官方宣传图片,适用于Windows和macOS系统,用于生成初始化代码,一个图形配置工具,搭配不同系列的STM32Cube固件包,即可支持不同系列的STM32芯片,初始化代码

    2024年02月17日
    浏览(59)
  • MPU6050(读取原数据、移植DMP、stm32f4、HAL库、KEIL5)

    记录一下自己遇到的问题及解决方法,希望能帮助到一些人。 第一步,读取芯片的原始数据。需要注意两点:1、对HAL库提供的IIC读取写入函数进行再包装。(千万不要觉的这步多此一举,后面移植DMP时用得到) 2、芯片的地址(这里面有俩坑)第一就是,芯片的 I2C 设备地址

    2023年04月08日
    浏览(47)
  • MDK keil5新建STM32工程文件--实践篇

    一、先下载芯片支持包 第一步 :当然是先百度搜索我们的keil官网(网址):https://www.keil.com/   第二步 :点击首页的Project,会跳转如界面,再次点击Arm Cortex-M,如图所示:    第三步 :点击后会再次跳转,这时候我们再次点击Public Software Packs,如图所示: 第四步 :点击后

    2024年02月16日
    浏览(54)
  • Keil5创建新工程时找不到STM32芯片

    在安装完Keil5之后,需要导入STM32芯片包,但是按照网上提供的安装教程,直接点击资料包会报错,如下图:         没有显示可用STM32芯片 尝试解决: 在安装的软件目录下找到 .KEil5UV4PackUnzip.exe ,找到其属性,将其兼容性改为以管理员身份运行。如图:      设置完后,

    2024年02月11日
    浏览(78)
  • MDK Keil5 创建Stm32工程-理论篇(这里以Stm32F103Zet6为例)

    整个工程可以粗略的划分为几个文件夹: BSP 底层驱动比如GPIOTimer等驱动文件 CMSIS 内核相关的文件 Firmware 生成的固件下载文件 Mycode 用户编写的相关文件,主要编写的文件都在这个文件夹里 Project 工程文件 startup 芯片启动文件 STM32F10x_FWLib 标准库文件 USER 主函数等文件 readm

    2023年04月24日
    浏览(86)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包