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

物联沃分享整理
物联沃-IOTWORD物联网 » STM32-HAL库移植(以F407为例)寄存器模式

发表回复