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

如何提高HAL库的运行效率

这是经国 2019-04-14 浏览量:1684
如何提高HAL库的运行效率
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • HAL库使用时 ,可以把编译器的优化等级提高,会优化掉一部分没有用的代码,效率可以提高一些

    还可以自己手动去掉一些不用的代码与检验

    如果要求再高,就要使用寄存器的方式来写代码了。不要使用库了

    • 发布于 2019-04-15
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • HAL库的运行效率很难通过自行编码的方式提高,目前能够相对优化的情况是使用IAR进行编译,并进行高等级优化,效率可能会比其他编译器编译的代码效率稍高,但也不会有根本性的改善。最好的方法也就是ST官方推荐的,在需要高效运行的模块中使用LL库,这个库配合HAL库一起使用,这样可以使得使用LL库的部分运行效率相比HAL大大提高,接近寄存器操作方式的效率。
    • 发布于2019-04-15
    • 举报
    • 评论 0
    • 0
    • 0

  • HAL库因为封装问题没办法通过改库提高执行效率,最好配合LL库替换执行率较低的代码;

    再有就是换编译器、KEIL最新的V6编译器比V5优化了不少,程序优化等级可以调高点,不过对代码要求就比较严谨了

    • 发布于2019-04-15
    • 举报
    • 评论 0
    • 0
    • 0

  • HAL库本身就存在很多层的封装,除非你有修改HAL库内部代码的能力,不然很难从库本身去优化,但可以在应用代码层面做优化,一些简单的操作,比如翻转IO这些,可以不用HAL库的,直接用寄存器操作,这样可以提高代码运行效率
    • 发布于2019-04-16
    • 举报
    • 评论 0
    • 0
    • 0

  • HAL库进行了很多的封装,调用时也是一层层的调用,效率真是很低,再提高也不好寄存器的方式

    不棕可以通过提高优化等级提高一点效率

    • 发布于2019-04-16
    • 举报
    • 评论 0
    • 0
    • 0

  • HAL库本身的多层调用是效率低的根本了,如果要提高效率,可以在低层去手动修改库的调用逻辑,但是不如换成LL库方便
    • 发布于2019-04-16
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

如何提高HAL库的运行效率