stm32 HAL 库创建最小工程

发布者:EuphoricMelody最新更新时间:2025-01-15 来源: jianshu关键字:stm32  HAL 手机看文章 扫描二维码
随时随地手机看文章

选用的开发板为 STM32F401RE Nucleo,MCU型号F401RET6。


下载解压STM32最新HAL库:

里面也包含了开发板在内的工程文件,可以直接使用。

但我们的目的是定制各个功能,所以要学会自己创建工程。

首先找到库里面的内核、HAL库、以及任何应用都需要进行配置的基本文件。

解压后文件:

将内核相关信息,即驱动文件夹内的头文件和源文件拷贝到自己的工程中:

Core文件夹内,包含了芯片底层的汇编等驱动文件。

按我的理解,与芯片描述相关的放在Core中,工程应用相关的驱动文件放在Driver_Lib,实现功能的程序都放在PRG里,个人习惯。

那么内核需要用到的文件至少包含以下:

至少需要调用的内核相关文件

驱动文件夹里先把源文件和头文件全部复制过来。

此外,因为不同应用使用不同的外设,因此有些并不通用的配置,不在源文件里,必须自行修改。ST提供了例程,可以参考例程工程文件,进行适当修改,我这个nucleo的板子不改也能用。

源文件如果不显式调用,则相关配置不运行,最小工程里面必须要显式调用几个基础功能,否则HAL库很难编译通过,即使编译通过了,芯片也会工作不正常。先看工程里面需要显式调用哪些SRC文件:

其中的Cortex、RCC、EXTI、GPIO在SRC目录下已有,Main的头文件是从例程里面拷过来的,只有几行很简单。此外需要在目标机配置中添加全局声明和Include path:

全局define:  USE_HAL_DRIVER,STM32F401xE 

包含路径:core 、Driver_LibInc、还有就是用户目录,我个人习惯定义为PRG。

主程序直接拿F401nucleo例程里一个空的main程序跑就行,当然不是完全空的,里面进行了简单的时钟、中断配置。添加进工程,修改下载调试器为stlink,下载和debug:

关键字:stm32  HAL 引用地址:stm32 HAL 库创建最小工程

上一篇:STM32低功耗模式下GPIO如何配置最节能?
下一篇:STM32一文通(5) 中断概览

小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved