OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2423|回复: 7

STM32Cube固件架构,一些概念求解答

[复制链接]

49

主题

151

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2018-3-14
在线时间
71 小时
发表于 2019-11-27 15:16:16 | 显示全部楼层 |阅读模式
15金钱
固件.png
请问什么是HAL driver, BSP driver, LL driver, middleware components, middleware stack,求解释这些概念和彼此联系,谢谢大佬~

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
685
金钱
685
注册时间
2019-4-24
在线时间
43 小时
发表于 2019-11-27 15:23:11 | 显示全部楼层
你是没看HAL 库的API指南吧,下面是我复制的
The HAL driver layer provides a generic multi-instance simple set of APIs (application programming
interfaces) to interact with the upper layer (application, libraries and stacks).
The HAL driver APIs are split into two categories: generic APIs which provide common and generic
functions for all the STM32 series and extension APIs which include specific and customized functions
for a given line or part number. The HAL drivers include a complete set of ready-to-use APIs which
simplify the user application implementation. As an example, the communication peripherals contain
APIs to initialize and configure the peripheral, manage data transfers in polling mode, handle interrupts
or DMA, and manage communication errors.
The HAL drivers are feature-oriented instead of IP-oriented. As an example, the timer APIs are split into
several categories following the IP functions: basic timer, capture, pulse width modulation (PWM), etc..
The HAL driver layer implements run-time failure detection by checking the input values of all functions.
Such dynamic checking contributes to enhance the firmware robustness. Run-time detection is also
suitable for user application development and debugging.
The LL drivers offer hardware services based on the available features of the STM32 peripherals. These
services reflect exactly the hardware capabilities and provide atomic operations that must be called
following the programming model described in the product line reference manual. As a result, the LL
services are not based on standalone processes and do not require any additional memory resources to
save their states, counter or data pointers: all operations are performed by changing the associated
peripheral registers content. Contrary to the HAL, the LL APIs are not provided for peripherals for which
optimized access is not a key feature, or for those requiring heavy software configuration and/or
complex upper level stack (such as FSMC, USB, SDMMC).
UM1850:Description of STM32F1 HAL and Low-layer drivers
回复

使用道具 举报

6

主题

1127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1656
金钱
1656
注册时间
2019-8-15
在线时间
102 小时
发表于 2019-11-27 18:01:40 | 显示全部楼层
帮顶                                             
成功没有捷径
回复

使用道具 举报

49

主题

151

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2018-3-14
在线时间
71 小时
 楼主| 发表于 2019-11-28 09:45:35 | 显示全部楼层
高成 发表于 2019-11-27 15:23
你是没看HAL 库的API指南吧,下面是我复制的
The HAL driver layer provides a generic multi-instance si ...

谢谢~,后面的middleware,请问您了解吗
回复

使用道具 举报

49

主题

151

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2018-3-14
在线时间
71 小时
 楼主| 发表于 2019-11-28 09:47:30 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-11-29 01:52:45 | 显示全部楼层

从头开始看HAL库,看MDK介绍。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

37

主题

596

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1574
金钱
1574
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-11-29 08:43:55 | 显示全部楼层
Soitgoes 发表于 2019-11-28 09:45
谢谢~,后面的middleware,请问您了解吗

middleware就是一些第三方写的软件包,比如freertos,fatfs等。
回复

使用道具 举报

37

主题

596

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1574
金钱
1574
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-11-29 08:46:07 | 显示全部楼层
这个你不用看啊,你会配置就行了,反正最后就是生成一个keil的工程,什么HAL,BSP,MIDDLEWARE之类的只是工程里面的一个文件夹名称,里面就是放了一些分类的源文件而已。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-27 14:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表