哈佛祖安智 发表于 2018-2-27 13:12:55

STM32Cube一统天下,官方的STM32库函数性能对比.pdf里面做过对比测试:


zhjb1 发表于 2018-2-27 15:27:10

无论那种库都是为了减轻开发人员的编程麻烦开发的基于C的函数库,好处是一经编好,适用性大增,稍稍改改或增加些函数就可以应用到其他芯片上。缺点是易读性较差,不想寄存器编程那样可以明白具体操控。感觉HAL库比标准库通用性更强一点。

sfd123-302670 发表于 2018-2-27 16:10:34

一直在用标准库,没用过HAL,没法比较!

衔胆栖冰 发表于 2018-2-27 17:05:27

没出问题的时候是CubeMX+HAL好,出了问题就开始怀念标准库了!个人觉得熟练掌握标准库还是有必要的,毕竟其他友商的库跟标准库思路更像,不是每个公司都会给用ST的。目前用HAL的厂商相对要少。上面说了那么多都是废话,最后说一句就是:老夫写代码就是一把梭.....:D

maxtch 发表于 2018-2-27 18:28:17

我个人还是喜欢直接捅寄存器。

1. 不管是标准库还是 HAL,ST 都没有做到有意义的抽象,代码臃肿占用闪存空间,而且干扰到编译器优化,但没有什么实际意义。在提供库这方面我喜欢 TI 的做法:把库预先编译好放在片内速度等同于 SRAM 的掩膜 ROM 里面,这样的话库不占用闪存空间,还可以反过来加速代码执行。
2. 我个人已经有一套结合了 Arduino 和 POSIX 的嵌入式开发体系了,有不少现成的代码可以用。这些代码大多来自 AVR,都是直接捅寄存器的。(AVR 芯片实在太小了,没有库可用,8 位单片机用库也没有大意义。)

流水源 发表于 2018-2-27 18:52:45

个人更倾向代码执行效率。

nyszx 发表于 2018-2-27 20:27:10

我喜欢标准库+寄存器,相对于HAL库要直接一些,面对MCU我觉得就得简单暴力才能有效率。HAL库为了通用牺牲了很多。

yubinwu_3004964 发表于 2018-2-27 20:28:00

HAL库应该是为了便於F1和其他几个系列之间的程序互相移植,可以有较少的改动
本身ST的MCU,在引脚分布上F1、F4等等之间差异也很小

至於寄存库的库,效率是高的

超級稻草人 发表于 2018-2-27 20:48:45

看个人习惯吧

toofree 发表于 2018-2-28 00:55:32

熟悉标准库,不排斥HAL。毕竟新出的器件都没有标准库了,HAL是趋势。
LL库暂时不打算用,前几天验证一个坛友的问题,真是有BUG呀。
页: 1 2 [3] 4 5
查看完整版本: STM32 HAL和标准库,各有什么优劣势