STM32 HAL库开发笔记+示例程序第一篇:HAL库简介

1. HAL库简介:HAL库是ST公司为使用户高效率开发产品而开发出的一套API库,这个HAL库可以和STM32CubeMux图形化组件软件工具进行配合使用,STM32CubeMux可以根据用户的开发产品需求进行裁剪选择做出专用的程序包,这个程序包通过STM32CubeMux工具配置后自动生成。

2.HAL库和lib库的区别和联系

(1)联系

@1.HAL库和lib库都是一套API软件接口,通过不同的API接口实现相同的用户功能,本质上都是ST公司为了用户高效开发而做出的一套软件

(2)区别

@1.HAL库相对来说兼容性更强,可以在不同的ST平台下只需要修改最底层的硬件配置就可以实现在不同平台的移植。而lib库兼容性就没有那么强,F1和F4平台的差异化比较大,兼容性不是很强

@2.HAL库和STM32CubeMux图形化裁剪工具软件强强联手,通过STM32CubeMux软件可以配置裁剪后自动生成HAL库形式的软件包,对底层相对不是很熟悉的用户也可以实现快速化的开发,有点更高级一点语言的分层开发,驱动层和应用层剥离开

@3.第三方组件的配置,比如USB驱动库,Freertos,FATS,Lwip等第三方的配置更加方便,更加兼容,lib库开发的一些需要用户移植的第三方库在HAL库的开发过程中可以完全省略掉。

@4.软件执行效率上来看,lib库的软件执行效率,代码的精简性更胜一筹,而HAL库的API接口更加丰富,执行效率上来看差lib库一些

@5.未来的发展来看:HAL库会逐步替代lib库,所以掌握HAL库的整体架构是非常有必要的,包括

整个以HAL库为基础的软件开发流程,HAL库整体软件架构。使用者如何将这个HAL库能整体全局把握+底层外设驱动结合+逻辑层的分层实现+第三方库使用和移植?以上这几个点全部掌握才能做出稳定的产品,也能提高工程师自身的专业技能

猜你喜欢

转载自blog.csdn.net/qq_27568125/article/details/97797524
今日推荐