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

STM32F030F4P6 HAL问题

FEItwo 2018-12-06 浏览量:750
STM32CubeMX 5.0.0环境下,
STM32F030F4P6+HAL,仅生成一些初始接串口工作,
但编译后发现HEX文件大小14KBytes,
STM32F030F4P6总共就16KByte的ROM,
占了这么多空间,写应用的空间几乎没了?
请教下大家,用HAL都是占这么大的空间吗?怎么初始化代码空间?
2 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 注意堆栈设置,也就是stack和heap,这俩无论如何都会直接占用RAM,即使没有任何变量。

    不需要时候请减小或者干脆关闭它们,例如不动态分配内存,请直接关闭heap。大量减少ram占用。

    另外HAL库确实占用比标准库多,可以把外设库换成LL库,也可以用STM32CUBEMX

    • 发布于 2018-12-07
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:9
  • 小容量的尽量不要用hal库函数,寄存器操作
    • 发布于2018-12-06
    • 举报
    • 评论 0
    • 2
    • 0

  • HAL库的确费空间。有大量的检查、判断和函数调用。还包含了许多用不上的库。

    但用它开发能快速出产品。

    如果追求小容量和运行速度,还是改用LL库吧。

    • 发布于2018-12-06
    • 举报
    • 评论 0
    • 2
    • 0

  • HAL库要开比较高级的优化才可以的,要不程序占用很多
    • 发布于2018-12-06
    • 举报
    • 评论 0
    • 1
    • 0

  • HAL库要开比较高级的优化才可以的,要不程序占用很多
    • 发布于2018-12-06
    • 举报
    • 评论 0
    • 1
    • 0

  • HAL库开发起来方便,但需要开最高优化,同时本身占据空间就多;还是用LL库吧。
    • 发布于2018-12-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种单片机结构相对简单一些,不建议使用函数库写,用寄存器写可以省很多空间
    • 发布于2018-12-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个是HAL库的弊端,像flash小的32建议直接上寄存器或者LL库。

    • 发布于2018-12-09
    • 举报
    • 评论 0
    • 0
    • 0

  • HAL对资源的占用太多,这个是一个通病,如果对实时性要求较高可以用LL库或者标准库
    • 发布于2019-01-15
    • 举报
    • 评论 0
    • 0
    • 0

  • HAL进行了多次的封装,相对来说性能肯定会损失很多的
    • 发布于2019-01-17
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32F030F4P6 HAL问题