XuSenfeng

个人站

复读了,更新随缘,有的文件不全或者图片缺失具体看我的笔记库(https://github.com/XuSenfeng/note)


初识HAL库

目录

初识HAL库

CMSIS标准以及库法的层次关系

image-20231004160626443

CMSIS层: 内核通用的一些接口

image-20231004160903832

image-20231004164009251

image-20231004164610417

使用的两种模式

  1. 自己移植, 不推荐
  2. 使用CubeMX进行配置

自己进行移植

主要是移植CMSIS文件夹以及HAL_Driver两个文件夹

之后添加文件, 添加一个启动文件, 之后添加一个CMSIS文件夹下的对应的系统设置的文件

在添加库文件的时候不添加template文件以及ll库的文件

移植之后添加两个宏USE_HAL_DRIVER,STM32F103xE

添加之后依旧在报错找不到一个文件

/**
  ******************************************************************************
  * @file    stm32f1xx_hal_conf.h
  * @author  MCD Application Team
  * @version V1.1.1
  * @date    12-May-2017
  * @brief   HAL configuration template file.
  *          This file should be copied to the application folder and renamed
  *          to stm32f1xx_hal_conf.h.
  ******************************************************************************/

这个文件里面说明需要这样进行设置, 这一个文件会进行设置哪一个文件会被编译进我们的项目

之后有的文件之间又相互的依赖关系, 需要在添加的时候把所有的文件都添加到里面

CubeMX

安装

首先下载Java的运行环境, 之后下载CubeMX进行安装, 使用默认配置

使用

image-20231004193845251

有三种创建项目的模式, 第一种是根据芯片进行创建, 第二种是官方的开发板, 第三种是示例

image-20231004194307823

找到对应的芯片双击进入

image-20231004194525685

image-20231004194617060

image-20231004194718648

image-20231004194933122

image-20231004195042492

可以在这里添加其他的功能

STM32CubeMX - STM32Cube初始化代码生成器 - 意法半导体STMicroelectronics

这里面有相关的配置文档

image-20231004195425275

  1. 各种外设的配置
  2. 时钟
  3. 项目的工程怎么生成

image-20231004200040453

image-20231004200135447

下载不同版本的固件包版本

image-20231004200633367

image-20231004200901772

image-20231004201045833生成代码