目录
2.根据芯片型号选择必要的文件(以STM32L433xx为例)
新建CMSIS文件夹,向CMSIS文件夹移植必要的头文件和源文件
前言
本文介绍如何使用STM32Cube_FW_L4,在keil中新建并移植必要文件,并移植LL库。
一、STM32Cube_FW_L4是什么?
STM32Cube_FW_L4是指STMicroelectronics(ST)为其基于ARM Cortex-M4内核的STM32微控制器系列提供的固件库。该固件库包含了许多用于简化STM32微控制器开发的软件模块,例如驱动程序、HAL库、RTOS等。它提供了在STM32微控制器上开发应用程序所需的所有必要功能。该固件库基于开放的标准,可以与多个开发工具一起使用,例如Keil MDK-ARM、IAR Embedded Workbench、GNU GCC等。该固件库适用于STM32 L4系列微控制器,包括STM32L4x2、STM32L4x3、STM32L4x5、STM32L4x6等型号。
二、操作步骤
1.下载STM32Cube_FW_L4
通过ST官网下载(需注册ST账号后下载)
- 打开ST官网;
- 按顺序点击:工具与软件->生态系统->STM32Cube Ecosystem
- 找到Embedded Software,并点击L4链接
- 找到Get Software,并点击STM32CubeL4那栏的Get latest,登录ST账号后即可下载。
通过GitHub下载(无需注册,但可能网络不稳定)
- 打开GitHub,搜索并进入STMicroelectronics
- 找到STM32CubeL4并进入
- 下载
2.根据芯片型号选择必要的文件(以STM32L433xx为例)
确定芯片类型
STM32L433xx是基于ARM Cortex-M4内核的微控制器系列,属于ARMv7-M架构。
删除刚下载的CubeL4包中多余的文件
这里我们可以仅保留Drivers和Projects,Drivers里有必要的和芯片相关的库文件;Projects里是ST官方的实例工程,我们需要移植其中的部分用户文件。
新建CMSIS文件夹,向CMSIS文件夹移植必要的头文件和源文件
- 在Drivers\CMSIS\Core\Include中选择所需要的头文件,删除与ARMV7和CM4同类且无关的文件,仅剩:
移植到我们的CMSIS\Include中; - 在Drivers\CMSIS\Device\ST\STM32L4xx\Include中选择所需要的头文件,删除与stm32l433同类且无关的文件,仅剩:
移植到我们的CMSIS\Include中; - 在Device\ST\STM32L4xx\Source\Templates\arm中选择所需要的启动文件
移植到我们的CMSIS\Source中。
新建USER文件夹,向USER文件夹移植用户头文件和源文件
- 移植Projects\NUCLEO-L433RC-P\Templates_LL\Inc中的所有文件到我们的USER\Include中;
- 移植Projects\NUCLEO-L433RC-P\Templates_LL\Src中的所有文件到我们的USER\Source中;
新建DRIVER文件夹,向将DRIVER文件夹移植HAL库的头文件和源文件
将Cubel4包中的Drivers\STM32L4xx_HAL_Driver的Inc和Src复制到我们的STM32L4xx_HAL_Driver文件夹
3.新建Keil工程(简略,可参考其他博文)
- 选择合适的文件位置;
- 选择相应的芯片型号;
- 在项目管理器中新建相应的组,并将步骤2中的源文件(.c和.s)加入相应的组;
- 添加头文件路径;
- 在c/c++编译器窗口预定义STM32L433xx,USE_FULL_LL_DRIVER;
- 在c/c++编译器窗口的warning栏选择AC5-like Warnings可减少警告;
- 点击编译,检测报错;
- 完成。
问题及解决
- 部分LL库可能需要HAL库配合,若不需要可删除,若需要请添加响应HAL相关文件
- 本人新手,若有错误,望批评指正,谢谢!