目录
一、学习HAL库的必要性
1.AI辅助编程在用HAL库
随着AI技术的快速发展,AI编程能力的不断完善,AI辅助编程用的越来越多。而AI辅助编程在用于STM32程序开发创作的时候,也发现了一些问题,像AI辅助编程在很多的时候会用HAL库来编写代码,这时候我们就要懂HAL库。
2.ST官方现在主要推广HAL库和LL库
ST现在主要推广HAL库和LL库,而逐渐停止更新标准外设库了。而且ST将STM32CubeMX工具与HAL库配合使用,可以实现图形化配置和代码生成,极大地提升了开发效率。另外ST新推出的芯片也不再提供标准库,只提供HAL库。所以面对未来,对于开发者而言,学习和使用HAL库将是顺应ST产品发展战略和技术潮流的重要步骤。
3.HAL库的优势
HAL库的优势主要体现在其对于提高嵌入式开发效率和代码可移植性方面。如简化嵌入式开发、提高代码可维护性和可移植性、降低入门门槛、提升开发效率等都有显著优势。在现代的嵌入式系统开发中,使用硬件抽象层(HAL)库已经成为一种趋势,尤其是在STM32这类微控制器的开发过程中。
4.用HAL库完善江协科技STM32入门教程
随着江协科技STM32入门教程的推出和受初学者们的追捧,但江协科技STM32入门教程用的是标准库,这对于初学者们来说想用标准库转HAL库有很大的限制,AI辅助编程在用HAL库写出的程序也用不到。
二、创建HAL库工程模板(基于江协科技STM32风格)
1.获取HAL库固件包
可以在本文结尾百度网盘链接获取
2.创建工程模板文件
在桌面创建<2-1 STM32工程模板>文件
3.解压固件包,创建<Core>文件
解压固件包,打开固件包文件,根据下图路径找到<Include>文件,并将<Include>文件复制到<2-1 STM32工程模板>文件路径下,并更名为<Core>文件
以STM32Cube_FW_F1_V1.8.0\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm为路径,找到<startup_stm32f103xb.s>启动文件,并复制该启动文件到<2-1 STM32工程模板>文件路径下的<Core>文件中
4.创建<User>文件
在<2-1 STM32工程模板>文件路径下创建<User>文件
以STM32Cube_FW_F1_V1.8.0\Drivers\CMSIS\Device\ST\STM32F1xx\Include为路径找到<Include>文件下的<stm32f1xx.h>、<stm32f103xb.h>、<system_stm32f1xx.h>文件,并复制这些文件到<2-1 STM32工程模板>文件路径下的<User>文件中
以STM32Cube_FW_F1_V1.8.0\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates为路径,找到<system_stm32f1xx.c>文件,并复制该文件到<2-1 STM32工程模板>文件路径下的<User>文件中
以STM32Cube_FW_F1_V1.8.0\Projects\STM3210E_EVAL\Templates\Inc为路径,找到<main.h>、<stm32f1xx_hal_conf.h>和<stm32f1xx_it.h>文件,并复制这些文件到<2-1 STM32工程模板>文件路径下的<User>文件中
以STM32Cube_FW_F1_V1.8.0\Projects\STM3210E_EVAL\Templates\Src为路径,找到<stm32f1xx_hal_msp.c>和<stm32f1xx_it.c>文件,并复制这些文件到<2-1 STM32工程模板>文件路径下的<User>文件中
5.创建<Library>、<Hardware>、<System>文件
在<2-1 STM32工程模板>文件路径下创建<Library>、<Hardware>、<System>文件
以STM32Cube_FW_F1_V1.8.0\Drivers\STM32F1xx_HAL_Driver为路径,找到<Inc>和<Src>文件,并复制这些文件到<2-1 STM32工程模板>文件路径下的<Library>文件中
此时我们需要的文件已经添加完成了
6.打开Keil v5软件,新建工程
7.添加文件
8.注意事项
9.设置路径和声明
该工程已经建完了。
三、未来将用HAL库复现江协科技STM32的工程
基于现有的江协科技STM32的工程没有HAL库,所以在今后的文章中会慢慢完善江协科技STM32工程的HAL库资料,如有需要请注意更新。
四、文件链接
固件包链接:
百度网盘链接:https://pan.baidu.com/s/1MkYWKmSoqV-3HM_ZCscS9Q?pwd=anho
提取码:anho