基于STM32Cube_FW_L4包,新建项目(keil)和移植LL库

本文介绍了STM32Cube_FW_L4固件库的用途,详细阐述了如何从ST官网或GitHub下载,然后根据STM32L433xx芯片型号选择并移植必要的文件到CMSIS、USER和DRIVER文件夹。在Keil中新建工程时,需要添加相关文件和设置,以确保编译无误。文章还提醒注意LL库与HAL库的配合使用。
摘要由CSDN通过智能技术生成

目录


前言

本文介绍如何使用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账号后下载)

  1. 打开ST官网
  2. 按顺序点击:工具与软件->生态系统->STM32Cube Ecosystem 
  3. 找到Embedded Software,并点击L4链接
  4. 找到Get Software,并点击STM32CubeL4那栏的Get latest,登录ST账号后即可下载。

 通过GitHub下载(无需注册,但可能网络不稳定)

  1. 打开GitHub,搜索并进入STMicroelectronics
  2. 找到STM32CubeL4并进入
  3. 下载

 2.根据芯片型号选择必要的文件(以STM32L433xx为例)

确定芯片类型

STM32L433xx是基于ARM Cortex-M4内核的微控制器系列,属于ARMv7-M架构。

删除刚下载的CubeL4包中多余的文件

这里我们可以仅保留Drivers和Projects,Drivers里有必要的和芯片相关的库文件;Projects里是ST官方的实例工程,我们需要移植其中的部分用户文件。

新建CMSIS文件夹,向CMSIS文件夹移植必要的头文件和源文件

  1. 在Drivers\CMSIS\Core\Include中选择所需要的头文件,删除与ARMV7和CM4同类且无关的文件,仅剩:

    移植到我们的CMSIS\Include中;
  2. 在Drivers\CMSIS\Device\ST\STM32L4xx\Include中选择所需要的头文件,删除与stm32l433同类且无关的文件,仅剩:

    移植到我们的CMSIS\Include中;
  3. 在Device\ST\STM32L4xx\Source\Templates\arm中选择所需要的启动文件

    移植到我们的CMSIS\Source中。

新建USER文件夹,向USER文件夹移植用户头文件和源文件

  1. 移植Projects\NUCLEO-L433RC-P\Templates_LL\Inc中的所有文件到我们的USER\Include中;
  2. 移植Projects\NUCLEO-L433RC-P\Templates_LL\Src中的所有文件到我们的USER\Source中;

 新建DRIVER文件夹,向将DRIVER文件夹移植HAL库的头文件和源文件

将Cubel4包中的Drivers\STM32L4xx_HAL_Driver的Inc和Src复制到我们的STM32L4xx_HAL_Driver文件夹

3.新建Keil工程(简略,可参考其他博文)

  1. 选择合适的文件位置;
  2. 选择相应的芯片型号;
  3. 在项目管理器中新建相应的组,并将步骤2中的源文件(.c和.s)加入相应的组;
  4. 添加头文件路径;
  5. 在c/c++编译器窗口预定义STM32L433xx,USE_FULL_LL_DRIVER;
  6. 在c/c++编译器窗口的warning栏选择AC5-like Warnings可减少警告;
  7. 点击编译,检测报错;
  8. 完成。

问题及解决

  1. 部分LL库可能需要HAL库配合,若不需要可删除,若需要请添加响应HAL相关文件
  2. 本人新手,若有错误,望批评指正,谢谢!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Version: 2.5.0 (2020-10-21) Keil.STM32L4xx_DFP.2.5.0.pack Updated Pack to STM32Cube_FW_L4 Firmware Package version V1.16.0 using HAL Drivers V1.12.0 Package Description (pdsc): Added global define USE_HAL_DRIVER to the component ::Device:STM32Cube HAL:Common. Device support: Aligned devices with CubeMX DB. CMSIS Flash Algorithm: Removed targets (STM32L4xx_512, STM32L4xx_256) from STM32L4Rx Flash Algorithm project. Added source code for: STM32L476G-Disco QSPI, STM32L4P5G-DK OSPI, STM32L4P5G-DK PSRAM STM32L4R9I-DK PSRAM, STM32L4R9I-DK OSPI1 and STM32L4R9I-EVAL OSPI. Added PSRAM external Loader support for STM32L4R9I-Disco. Fixed STM32L4P5 1M internal flash Loader sector erase with DBANK mode. Fixed STM32L4xx 512K and 128K internal flash Loader sector erase. CMSIS-Driver: MCI: Replaced empty delay loops with _NOP(). Added handling for separate SD and MMC HAL layers. Added busy signal handling after CMDREND interrupt. SPI: Corrected PowerControl function (to return error if Initialize was not called, to abort active transfer if power off was requested). Updated GetDataCount function to give accurate count. Corrected Uninitialize function (to power off the peripheral if it is powered). USART: Added Driver_USART6 (uses LPUART1). Corrected GetTxCount/GetRxCount implementation. USBD: Removed include of stm32l4xx_hal_pcd.h header. Corrected documentation of STM32CubeMx configuration. Updated Boards Examples: Migrated CubeMX projects to V6.0.1. Changed variant selection to "MDK-Plus" where possible. Updated all USB Host/Device examples with user templates from MDK-Middleware v7.11.1.
### 回答1: STM32Cube_FW_F1_v1.8.0是由STMicroelectronics开发的一款软件,用于支持STM32F1系列微控制器的开发。该软件含了各种驱动、中间件和示例代码,旨在帮助开发者快速构建应用程序。 STM32Cube_FW_F1_v1.8.0提供了丰富的功能模块,括通用外设模块(如GPIO、UART、SPI、I2C等)和专用外设模块(如定时器、DMA、ADC等)。用户可以根据具体需求选择所需模块,并通过函数进行配置和控制。该软件还提供了一套易于使用的图形化界面工具,可以帮助用户快速初始化和配置微控制器,提高开发效率。 此外,STM32Cube_FW_F1_v1.8.0还集成了一些常用中间件和协议栈,例如文件系统(FATFS)、USB协议栈(USB_HOST和USB_DEVICE)和TCP/IP协议栈(LwIP)。这些中间件可以方便地集成到应用程序中,提供更强大的功能和更灵活的通信接口。 该软件还提供了大量的示例代码,涵盖了各种应用场景,括串口通信、网络通信、数据存储等。这些示例代码可以作为开发者的起点,帮助他们理解和学习如何使用STM32F1系列微控制器开发应用程序。 总之,STM32Cube_FW_F1_v1.8.0是一款功能强大、易于使用的软件,为STM32F1系列微控制器的开发提供了全面的支持。无论是初学者还是经验丰富的开发者,都可以从中受益,并快速构建高性能的应用程序。 ### 回答2: STM32Cube_FW_F1_V1.8.0是STMicroelectronics(意法半导体)为STM32F1系列微控制器设计的嵌入式软件。这个软件是基于STM32Cube软件开发平台,为开发人员提供了一个完整的软件解决方案,用于快速开发STM32F1系列微控制器的应用程序。 STM32Cube_FW_F1_V1.8.0含了一系列的驱动程序、中间件组件和示例代码,可以方便地集成到用户的应用程序中。这些组件括了GPIO、UART、SPI、I2C、定时器等外设驱动程序,以及文件系统、USB设备、USB主机、TCP/IP等中间件组件。用户只需要根据自己的需求选择合适的组件来开发自己的应用程序。 STM32Cube_FW_F1_V1.8.0还括了一些示例代码和工程模板,可以帮助开发人员更快地上手。示例代码涵盖了各个外设和中间件的使用方法,可以作为开发参考和学习资料。工程模板则提供了一个初始的工程结构,可以直接用于开发新的应用程序。 除了软件本身,STM32Cube_FW_F1_V1.8.0还提供了一些工具和文档,帮助开发人员进行开发和调试。其中括了CubeMX配置工具,用于配置微控制器的引脚和时钟设置;以及UM的参考手册、应用笔记和编程手册等文档,提供了详细的开发指导和信息。 总之,STM32Cube_FW_F1_V1.8.0是一个功能强大的嵌入式软件,为开发人员提供了丰富的驱动程序、中间件组件和示例代码,可以大大简化STM32F1系列微控制器的应用程序开发过程。无论是初学者还是有经验的开发人员,都可以从中受益并快速实现自己的应用。 ### 回答3: STM32Cube_FW_F1是STMicroelectronics公司推出的嵌入式软件,用于支持STM32F1系列微控制器的开发。版本号为1.8.0。 STM32Cube_FW_F1提供了丰富的软件和例程,括标准外设驱动程序、中间件和操作系统,以及用于快速启动新项目的代码生成器。该软件括了各种功能模块的驱动程序,如GPIO、UART、SPI、I2C、定时器等。而中间件方面,STM32Cube_FW_F1还提供了USB、文件系统、TCP/IP协议栈等。此外,该软件兼容常用的开发环境,如Keil MDK和IAR Embedded Workbench。 使用STM32Cube_FW_F1可以极大地简化嵌入式系统的开发过程,减少开发时间和工作量。开发人员可以使用提供的例程和代码生成器快速构建原型,并通过简单的配置和修改适配不同的硬件或软件功能。 从版本号来看,v1.8.0是该软件的第一个大版本的第八个次版本。通常,新版本的发布会含一些新功能、优化和修复的bug。因此,如果您正在使用旧版本的STM32Cube_FW_F1,升级到v1.8.0可能会带来一些改进和额外的功能。 总之,STM32Cube_FW_F1是一个强大而全面的嵌入式软件,可以帮助开发人员更轻松地开发STM32F1系列微控制器的应用程序。版本v1.8.0可能是相对较新的版本,具有更新的功能和改进。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值