Belle1257 发表于 2025-3-20 12:01

为什么ST现在推HAL库?不再推标准库了呢?

为什么ST现在推HAL库?不再推标准库了呢?HAL不是说比较冗余,需要MCU配置较高吗?

yangjiaxu 发表于 2025-3-20 12:02

为什么ST现在推HAL库?不再推标准库了呢?

ST推广HAL库是为了提高开发效率、降低门槛、增强跨平台兼容性,并更好地支持现代嵌入式开发需求。我觉得现在MCU配置都还可以,其实问题应该也不算大了

Wordsworth 发表于 2025-3-21 08:02

标准库(STD库)已经不再更新,HAL虽然有些冗余,但支持更多特性,比如DMA、RTOS集成等更方便。

Bblythe 发表于 2025-3-21 08:04

HAL库封装了很多错误处理和异常检测,减少了低级错误的可能性,适合需要稳定性的项目。

Pulitzer 发表于 2025-3-21 08:05

其实ST并没有完全抛弃底层开发,LL(Low Layer)库就是给追求性能优化的开发者准备的,和HAL可以混用。

Uriah 发表于 2025-3-21 08:06

HAL代码结构偏向面向对象,适应现代C语言开发趋势,而标准库更贴近寄存器,适合有经验的工程师。

Clyde011 发表于 2025-3-21 08:08

你如果觉得HAL库影响性能,可以直接用寄存器操作关键部分,比如SPI、GPIO、定时器等,灵活度还是很高的。

公羊子丹 发表于 2025-3-21 08:09

HAL库比标准库更抽象,兼容性更好,ST可以减少维护不同芯片系列的成本,用户迁移到新型号也更方便。

周半梅 发表于 2025-3-21 08:10

HAL确实比标准库冗余,但现在MCU资源越来越大,开发效率比极致优化更重要,HAL能减少底层代码工作量。

帛灿灿 发表于 2025-3-21 08:11

ST主要面向的是工业和企业用户,HAL的API封装统一,可以降低开发门槛,不需要工程师深入研究寄存器。

童雨竹 发表于 2025-3-21 08:13

你如果追求代码精简和性能优化,还是可以用LL库或者直接操作寄存器,HAL只是提供了一种更通用的方式。

万图 发表于 2025-3-21 08:14

HAL支持CubeMX自动生成代码,对新手来说上手快,ST也是为了推广自己的工具链,提升市场竞争力。

烟雨蒙蒙520 发表于 2025-5-31 22:59

HAL设计考虑了多线程、异步中断等高级应用,更适合现代嵌入式项目。
页: [1]
查看完整版本: 为什么ST现在推HAL库?不再推标准库了呢?