STM32-HAL库移植(以F407为例)寄存器模式
一,下载标准库
1.进入意法半导体官网、(顶部)工具软件 -> (左侧)嵌入式软件 -> (右下)STM32微控制器软件
2.左侧STM32微软控制器选择MCU和MPU -> 点击产品选择器(往下滑找到STM32CudeF4)
3.(open software page)鼠标移至STM32CudeF4 -> 产品概述下侧选择获取软件
选择包含示例的版本,需要账号
二、移植库
1.
新建一个文件夹,不能有中文
2.
在该文件夹内创建以下文件夹
以下文件并非定义死,但需要分文件夹,方便对工程进行管理和维护
lib
:库文件,官方提供文件 (寄存器不需要)
startup
:启动文件,官方提供文件
user
:用户文件,自己编写
cmsis
:系统文件,官方提供文件
project
:工程文件,
KILE5
软件所创建文件
3.
将芯片所需的系统文件添加到对应的文件夹下(对应颜色文件放置在对应颜色的文件夹
内)
文件详解:
系统文件
内核文件:
core_xxx
、
arm_xxx
时钟文件:
system_xxx
初始化文件:
stm32fxxx.h
启动文件:
startup_xxx.s
用户文件:
主文件:
main
或自己创建
中断文件:
stm32fxxx_it
库文件:(寄存器不需要)
初始化文件:
stm32fxxx_hal_conf.h
库文件:
HAL_Driver
内全部
三、工程创建
1、打开keil 5软件,Project -> New uVision Project…
2、将路径选择为刚才建立的 project 文件夹
3.在Device -> Search内输入对应芯片型号
4、勾选CMSIS -> CORE
5、设置虚拟工程树
Project_Targete
为工程名称,双击修改
Groups
:为工程内部的组:需要跟文件夹创建对应上,这里需要创建除
project
中全部的文件夹
Files
:为该组内文件,需要将该文件夹的全部
.c
及
.s
文件添加进去,添加文件
时需要注意文件类型的选择()
由于我是操作寄存器所以不需要 lib
7.添加头文件路径,
C/C++
->
Include Paths
->
…
->
外部文件夹内有
.h
文件的路径
->
ok
8.选择编译器版本 C/C++ -> Language/Code Generation -> C99 Mode
9.打开初始化文件 stm32fxxx.h ->下滑找到芯片宏定义
10.将芯片宏定义添加至 C/C++ -> Preprocessor Symbols -> Define
11.勾选允许重定义函数 Targer -> Code Generation -> Use MicroLIB
12.若移植 main.c 文件和 main.h 文件需要将内部全部删除并添加下段代码
13.若文件出现钥匙图案,表示该文件为只读文件,需要将其改为可写文件,
右键->
属性
->
常规
->
只读
(
勾掉
)->
确认
->
影响子文件
->
确定
如果只有.h函数被锁住就不用管
作者:城北徐公909