你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 967|回复: 3

【中文文档】AN5044_标准外设库到STM32Cube移植介绍

[复制链接]

1347

主题

1124

回帖

0

蝴蝶豆

管理员

最后登录
2020-12-9
发表于 2019-3-18 13:22:46 | 显示全部楼层 |阅读模式
STM32标准外设库迁移至STM32Cube底层库

引言

STM32价值主张倡导提供完整和全面的固件库,为开发人员提供构建嵌入式应用程序的初始框架。

该框架的核心是众所周知的标准外设库(SPL),所有中间件组件都使用SPL来访问STM32外设。

多年来,STM32产品不断发展,为开发人员提供各种解决方案以平衡成本,功耗和性能,其中尤为出名的是STM32Cube底层(LL)驱动程序。

对于STM32微控制器应用的设计人员而言,轻松地升级微控制器型号和/或更换为另一种固件解决方案是一件至关重要的事情。由于SPL已经停止研发,随着产品需求和规格不断增长,对所使用的各种外设提出了额外的要求,因此,这种迁移通常必不可少。

本应用笔记介绍了从现有使用STM32 SPL开发的基于STM32的应用程序迁移到使用STM32Cube LL驱动程序的任何其他类型的微控制器的步骤。

本应用笔记汇总了将基于STM32 SPL的应用程序成功迁移到使用STM32Cube LL API所需的所有最重要信息。

它包含三个部分。

  • STM32 SPL与STM32Cube LL架构概述:介绍两种解决方案以及二者之间的比较。
  • STM32 SPL至STM32Cube LL手动迁移:详细说明了手动迁移基于标准外设库应用程序的步骤。
  • STM32 SPL至STM32Cube LL自动迁移:利用SPL2LL-转换器迁移工具作为解决方案,自动迁移基于标准外设的应用程序。

1 STM32 SPL与STM32Cube LL架构概述

本节介绍STM32标准外设库(SPL)和STM32Cube LL的架构,对两种解决方案之间的主要差异进行对比和总结。

1.1 STM32 SPL

1.1.1 概述

CMSIS

STM32 SPL的CMSIS由两层组成:第一层是内核外设访问层,包含名称定义、地址定义和辅助API,用于访问内核Cortex-Mx寄存器和外设。第二层是STM32外设访问层,定义了设备的所有外设寄存器、位域和存储器映射。

STM32 SPL驱动程序

该库基于模块化编程方法构建,确保构建主应用程序的多个组件之间保持独立。使用此库即可在广泛的产品系列和评估板上实现轻松移植,只需对公共部分的代码进行最小的更改。

STM32 SPL驱动程序为每个外设提供驱动程序和头文件。每个驱动程序都包含一组涵盖所有外设功能的API。

通过检查所有库函数的输入值,还可以实现运行时故障检测。此类动态检查有助于增强软件的稳健性。因此,它适用于开发和调试用户应用程序。

1.1.2 包含模型

图 1 基于STM32 SPL的默认用户应用程序,介绍了文件包含模型。

1.png

每个STM32嵌入式外设都有一个源代码文件stm32yyxx_ppp.c和一个头文件stm32yyxx_ppp.h。

stm32yyxx_ppp.c文件包含使用PPP外设所需的所有固件API。

stm32yyxx_conf.h文件被视为用户文件,根据应用程序中使用的外设进行自定义和定制。在运行任何应用程序之前,使用此文件指定与库驱动程序连接的参数集。

表 1对用户基于STM32 SPL的应用程序所引用的上述文件进行重新分组和介绍
1.png

1.2 STM32Cube底层驱动程序

1.2.1 概述

作为STM32Cube固件HAL的一部分,底层(LL)驱动程序旨在提供面向专家的快速轻量级层,与HAL相比,更接近硬件。与HAL相反的是,对于不关注优化访问的外设而言,LL API并不适用。

底层(LL)驱动程序旨在提供:

  • 一组函数,用于根据数据结构中指定的参数,对外设主要特性进行初始化
  • 一组函数,用于使用每个字段的复位值填充初始化数据结构
  • 函数,用于执行外设去初始化(外设寄存器恢复为默认值)
  • 一组内联函数,用于直接和原子寄存器访问
  • 由于LL驱动程序既可以在独立模式下使用(不使用HAL驱动程序),也可以在混合模式下使用(使用HAL驱动程序),因此完全独立于HAL
  • 涵盖全部支持的外设特性。底层驱动程序基于STM32外设的可用功能提供硬件服务。表 2列出了底层范围涵盖的STM32嵌入式外设:


..............

想了解更多,请下载原文阅读


回复

使用道具 举报

6

主题

930

回帖

133

蝴蝶豆

金牌会员

最后登录
2020-12-9
发表于 2019-3-19 13:02:58 | 显示全部楼层
值得收藏
回复 支持 反对

使用道具 举报

0

主题

27

回帖

3

蝴蝶豆

初级会员

最后登录
2020-11-14
发表于 2019-3-26 11:26:06 | 显示全部楼层
这个需要好好读一下
回复 支持 反对

使用道具 举报

0

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
2019-9-20
发表于 2019-4-3 09:21:15 | 显示全部楼层
mark一下
回复 支持 反对

使用道具 举报

请先关注话题后回复
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版