STM32 HAL库和LL库的区别

    上次开发一个项目,使用一个小容量的STM32 ARM CORTEX核心的单片机,使用STM32CUBEMX自动生成配置代码,正准备编写程序的时候,发现容量竟然有6K多。这个容量在使用大容量FLASH的单片机时不感到什么,可是使用小容量单片机的时候,就明显不够用了。

    没有办法,只好打算回去使用原来的StdLib库,前两年不就这么干的嘛,也没什么难的。可是回头找对应库的时候,发现悲剧了,没有这个序列的标准库。

    这也难不倒我们老司机!我就从HAL库里面把必须的寄存器语句摘出来,把冗余的有效检验和冲突处理去掉,不就精简下来了么,就这么干!

    打开“Drivers\STM32F0xx_HAL_Driver\Src”的目录,突然发现除了一般常用的“stm32f0xx_hal_”开头的文件,还有“stm32f0xx_ll_”开头的文件,这是什么鬼?!而且这两种文件都是一一对应的,每个模块,GPIO, RCC, CRC, DMA,... ,都有对应的文件。打开看看,跟hal的一对比,发现精简很多。

    我一下子精神了,意识到这是一个精简的库。于是上网查资料,终于查到了,这是STM32Cube LL库,看起来比较新,似乎是ST最近推出来的。


    看上表也发现它的优化性(内存和MIPS)好很多,只是产品线覆盖还没有全,但我需要的系列是有的。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值