
STM32 HAL库所在的层次 STM32的HAL库所处的位置 ![]() 标准库与HAL库所处的位置 ![]() 对于STM32而言,可以分为3层,即: MCU层 CMSIS层 用户层 用户层的代码就是我们的具体应用程序 CMSIS层是ARM公司提供的一些利用内核的通用特性来编写的一些接口 比如CMSIS DSP库,CMSIS实时系统API以及内核外设函数等,这些是内核通用的,放在了CMSIS层 HAL库属于CMSIS中的设备外设函数层 ![]() STM32CUBEMAX固件包 STM32CUBEMAX固件包中的文件包括: Documentation文件夹 说明文档,如何使用HAL库固件 Drivers文件夹 包含BSP\CMSIS\HAL Driver这三个文件夹。其中: 1. BSP为官方开发板的支持库包 2. CMSIS为前面讲述的 CMSIS标准除外设驱动外的各种接口库 3. HAL Driver就是HAL库驱动包了 Middlewares文件夹 中间件,提供一些对硬件的服务 其中ST文件夹下为ST官方的中间件,包含emWIN图形界面库和USB主从机接口库 Third_Party为第三方的中间件,如FatFs)文件系统、FreeRTOS实时系统、LwIP网络协议栈 Projects文件夹 官方开发板的各种工程实例,包含各种外设如何使用,以及外设与中间件的耦合 非常有参考价值 Utilities文件夹 通用的一些文件,比如官方实例中用到的一些音频、视频、字库资料 不重要 Keil配置时的注意点 1. 选择C99模式 2. 勾选使用MicroLib ![]() 3. 打开Keil中的上电复位设置 如图所示,首先点击Debug,然后选择Settings ![]() 然后选择Flash Download,并勾选Reset and Run 注意:这里非常重要,如果不勾选,则通过SWD下载的程序不能直接运行,而需要上电复位后才能运行(复位后进入.s文件中的ResetHandler)。由STM32Cube生成的Keil工程这里默认都是不勾选的! ![]() STM32CUBEMAX选择固件包存放的位置 固件包存放的位置,可以在CUBEMAX中进行设置 ![]() STM32CUBEMAX下载指定的固件包 ![]() ![]() STM32CUBEMAX生成代码时的库选择(HAL或LL) ![]() STM32CUBEMAX生成代码时的配置选择参考 ![]() STM32CUBEMAX生成函数的位置调节 STM32CUBEMAX 生成函数的位置,可以在这里调节 ![]() STM32 HAL库的使用方法 HAL库的使用方法介绍,打开对应的xx_hal_xx.c文件查看即可,在最上面的注释里 ![]() ![]() ———————————————— 版权声明:CodeForCoffee |
STM32cubeMX软件的使用过程中的“坑”
【有奖体验】STM32Cube通过Clang/LLVM支持进一步简化代码开发
STM32CubeMX应用结构选择指南
经验分享 | STM32CubeMX 生成时钟获取函数的分析
兔哥的最强U5图显【000】——U5G9最小系统绘制
兔哥的ST67——【000】ST67模组订购
基于LORA的环境感知系统
经验分享 | 使用CubeMx配置NVIC时为何不见子优先级?
经验分享 | 三个 ADC 同步模式配置以及 CubeMx 错误配置的解决方法
兔哥的边缘AI【001】——DIY-STM32N6全IO扩展板