[应用相关] STM32 HAL固件库编程文件组织

[复制链接]
1363|21
 楼主| 可爱的国务小胖 发表于 2020-9-3 17:45 | 显示全部楼层 |阅读模式

        HAL固件库编程,它的文件组织大致分三个部分

        - HAL驱动

        - CMSIS驱动

        - 用户编写程序

        而假如你使用的是ST官网的开发板,那么你还有一套现成的驱动可供使用,板级支持包(BSP),那么正好向我一样,但是,我不太喜欢使用这个东西,能自己写还是自己写的好。

        HAL驱动毫无疑问就是ST提供的一些包装好的硬件抽象层的驱动,这个就是ST提供的利器,必须有,不用是不可能的。CMSIS的话,这个大概是ARM内核相关的一些驱动吧,这个一般我们编程都操纵不到,我们大部分都是调用HAL的程序。除了这两个必须有的,当然主函数也是必须有的,还有其他的一些东东,这些还比较多,但都可以自己参照ST给的例程或是模板自己从零开始写。

        下面就其中一些用户配置,但涉及到驱动的文件做一些说明。

        有一个stm32f3xx_hal_conf.h(以F3系列为例说明)的HAL驱动配置文件,这个究竟是算HAL驱动还是用户自定义文件呢,我更偏向于后者。在固件库中会模板,可以去修改里面的内容,我就喜欢自己从头写,东西也不多,但是现在自己写还不成功,再看看,这块应该问题不大。

        stm32f3xx_it.c,这个文件在模板给的文件里有,但是东西不是很多,看名字就知道这个是和中断有关,对于我的现阶段,用到的中断不多,用到就自己写就好了。

        startup_xxx就是以startup开头的一个什么文件,这个貌似是整个工程的起始文件,默认是放在CMSIS下,还是一个.s类型的文件。

        有个system什么的文件,它也是包含在CMSIS下的,这个和上一个的文件都比较特殊吧,不过好在这两都不用我们去修改,只要到对应的文件夹下拷贝出来就好了。

        总之,就是分三部分,CMSIS,HAL和用户自定义文件,这不管是在文件夹组织,还是在工程结构组织上都可以按照这个逻辑。


51xlf 发表于 2020-9-5 18:05 | 显示全部楼层
stm32固件库哪里下载  
i1mcu 发表于 2020-9-5 18:06 | 显示全部楼层
STM32 的 HAL 库好用吗
pmp 发表于 2020-9-5 18:06 | 显示全部楼层
有系统学习stm32 HAL库开发相关的书籍或者例程吗
mmbs 发表于 2020-9-5 18:06 | 显示全部楼层
谢谢分享的。         
1988020566 发表于 2020-9-5 18:06 | 显示全部楼层
用新版的HAL库好还是3.5的库好
xietingfeng 发表于 2020-9-5 18:06 | 显示全部楼层
如何通过HAL库函数使用ADC
lzbf 发表于 2020-9-5 18:07 | 显示全部楼层
STM32 的 HAL 库好用吗
youtome 发表于 2020-9-5 18:07 | 显示全部楼层
stm32hal库函数可以修改吗
youtome 发表于 2020-9-5 18:08 | 显示全部楼层
如何实现F411RE使用HAL库实现IO中断
cemaj 发表于 2020-9-5 18:08 | 显示全部楼层
初识HAL固件库  
sanfuzi 发表于 2020-9-5 18:08 | 显示全部楼层
HAL库函数手册   
i1mcu 发表于 2020-9-5 18:08 | 显示全部楼层
在HAL库中的微妙级别的延迟怎么弄
51xlf 发表于 2020-9-5 18:08 | 显示全部楼层
hal库和标准库的区别?  
youtome 发表于 2020-9-5 18:08 | 显示全部楼层
stm32f030 HAL库,怎么关闭和打开所有中断
lzbf 发表于 2020-9-5 18:08 | 显示全部楼层
stm32的hal库为什么编译变慢
cemaj 发表于 2020-9-5 18:08 | 显示全部楼层
HAL库能否取代原来的标准库
xietingfeng 发表于 2020-9-5 18:09 | 显示全部楼层
讲讲hal库的应用  
sanfuzi 发表于 2020-9-5 18:09 | 显示全部楼层
新版本的库,用于代替原来的标准库
1988020566 发表于 2020-9-5 18:09 | 显示全部楼层
HAL库怎么使用SPI的发送和接收函数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

116

主题

199

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部