• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32的hal库与标准库的区别

hehung 2018-04-03 浏览量:2599
为什么会流行hal库
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 原来的STD库更接近于寄存器操作,主要就是将一些基本的寄存器操作封装成了函数。HAL库则是将这些抽象成了一个抽象层(HAL的意思是硬件抽象层),从使用的角度来看,是与硬件无关的。
    • 发布于 2018-04-03
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:15
  • 标准库效率稍高些,但是不同系列的兼容性较差;HAL库效率稍低,但是不同系列函数的兼容性很好,而且可以使用STM32CubeMX进行初始化配置,非常方便。
    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  : 回复

  • 流行hal库是因为操作方便,兼容性强吧。
    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :1SMB5927BT3G,onsemi参数需要确认,有货的电压值都比较高 回复

  • HAL库结构要比Std库复杂,执行效率相对Std也低一点,优势是不同系列芯片程序兼容性好,适合CubeMX这种配置工具生成工程代码,这个以后应该是主流。
    • 发布于2018-04-03
    • 举报
    • 评论 0
    • 0
    • 0

  • HAL库的应用层的代码是通用的,也就是如果你的代码分层是严格按HAL库的标准来做的,那么,你的这段代码在F1上可以运行,在F2上,F4上都可以运行的。低层的驱动由HAL库的接口已经匹配好了的。
    • 发布于2018-04-03
    • 举报
    • 评论 2
    • 0
    • 0
电子老工程师 回复了  :见附件 回复
电子老工程师 回复了  : 回复

  • 我觉得HAL库在某些场合特别方便

    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :需要客户提供类型,参数和封装,单从原理图无法找到型号 回复

  • 简单来说就是HAL库移植起来比标准库要简单方便的多得多
    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :没有替代 回复

  • HAL库把STD库都封装了,但是理解起来一下子不适应,就是移植方便

    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :584-ADRV1CRR-FMC是贸泽编号,不是原厂标准型号 回复

  • hal库移植比较方便,改几个宏定义就行了,但是效率低,
    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :Raspberry Pi Zero WH是树莓派ZERO WH的开发板,但现在官网暂无规格书 回复

  • hal库比较大,标准库比较精简,不过st现在推hal库
    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :同系列没有替代。 回复

  • 其他的库都不再更新了,而且是ST主要推广的一个库。

    说实话,HAL库的效率真的不怎么样

    • 发布于2018-04-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :尾缀包装区别,产品同一物料
回复

  • HAL库和硬件几乎已经没啥关系了,是个硬件的抽象层了,移植通用性很好,也是官方在力推的库。标准库的话和寄存器操作很像,和硬件还是有直接关系,理解起来更简单。
    • 发布于2018-04-04
    • 举报
    • 评论 0
    • 0
    • 0

  • HAL库属于高度封装的库。相对标准库,功能多,但是效率低。

    由于新款的STM32功能比较多,需要对一些功能进行高度封装,因此使用HAL库

    • 发布于2018-04-04
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :TLP185(GR-TPL,SE(T型号属于TLP185(SE)系列,尾缀GR代表电流传输比,100%-300%,TPL:代表包装,T:代表产地泰国,SE代表环保 回复

  • hal比较像arduino,标准库比较接近寄存器操作
    • 发布于2018-04-04
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :16-TSSOP没有满足此封装的物料 回复

  • HAL是Hardware Abstraction Layer的缩写,中文名:硬件抽象层。HAL库是ST为STM32最新推出的抽象层嵌入式软件,可以更好的确保跨STM32产品的最大可移植性。该库提供了一整套一致的中间件组件,如RTOS,USB,TCP / IP和图形等。 
    HAL库是基于一个非限制性的BSD许可协议(Berkeley Software Distribution)而发布的开源代码。 ST制作的中间件堆栈(USB主机和设备库,STemWin)带有允许轻松重用的许可模式, 只要是在ST公司的MCU 芯片上使用,库中的中间件(USB 主机/设备库,STemWin)协议栈即被允许随便修改,并可以反复使用。至于基于其它著名的开源解决方案商的中间件(FreeRTOS,FatFs,LwIP和PolarSSL)也都具有友好的用户许可条款。 
    可以说HAL库就是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。HAL库是ST未来主推的库,从前年开始ST新出的芯片已经没有STD库了,比如F7系列。目前,HAL库已经支持STM32全线产品。
    • 发布于2018-04-17
    • 举报
    • 评论 0
    • 0
    • 0

  • HAL库是STM32针对不同系列的MCU做的一种兼容性比较高的库,一些宏定义、枚举量、函数名称基本一样,不同型号的MCU的工程,可以直接共用函数名。

    • 发布于2018-04-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32的hal库与标准库的区别