缩写 汇总 (****) HAL

HAL

============================

标准外设库(SPL库):典型应用,由汇编级的语句、直接来操作 IO口。

HAL 库(Hardware Abstraction Layer,硬件抽象层库):典型应用,由抽象的 C函数,来间接来操作 IO口。在 C函数的内部,采用汇编语句,即采用标准外设库(SPL库)、来直接来操作 IO口。

HAL 与 SPL 之间的桥梁:stm32 由 CubeMx来完成。

注:N多的寄存器,N多的 IO端口复用,N多的 IO之间的逻辑关系(比如:IIC,当一个 IO口被定义为 IIC之后,同时必然还有一个与之配合的 IO口被用于 IIC)。

a. MCU厂家设计的目标,总是希望兼顾所有的应用场景,以便卖给不同应用场景需求的用户。

b. 具体用户的实际应用场景,只是 MCU所有应用场景中的其中某一个,或两个,反正就是比 MCU所有可能的应用场景要简单,只是其中的一个子集。

c. 小结:这是一个矛盾。对于具体用户来说,只是为了使用 MCU其中的一、或二个应用场景,却需要掌握 MCU所用的应用场景知识之后,才能完成设置出符合子集需要的某个应用场景;这需要浪费很多的时间和精力,对于 复杂 MCU来说,这就是 HAL库存在的意义。

当然,对于很简单的 MCU,HAL是没有必要的。或者说,对于具体用户来说,还是有必要的;但是,对于 MCU厂家来说,由于它们的 MCU太简单了,为了实现 HAL库,就必须还要制作出类似

CubeMx这样的工具,以便将由汇编来设置硬件的语句 --->z转换为 --->由函数来设置硬件的语句,这样的工作,MCU厂家来说,因为太简单,所以没必要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值