侧边栏壁纸
    • 累计撰写 296 篇文章
    • 累计收到 520 条评论
    【嵌软】STM32的4种开发方式介绍
    我的学记|刘航宇的博客

    【嵌软】STM32的4种开发方式介绍

    刘航宇
    2023-12-20 / 0 评论 / 295 阅读 / 正在检测是否收录...

    与FPGA一样,STM32也属于板级开发,可适用于大多数计算场合,但神经网络这种需要大量并行计算的需求难以满足。
    STM32的开发主要指的是通过程序实现功能,ST官方提供的开发方式来说从远及近分别是:
    1、直接读写寄存器
    2、标准外设驱动库 SPL
    3、硬件抽象层库 HAL库
    4、底层库 LL库
    四种开发方式各有优缺点,可以参考ST官方的测试与说明:

    标准外设库:这是ST官方提供的一套固件库,包含了STM32所有外设的驱动函数,可以方便地调用。它的优点是稳定、兼容、易用,缺点是占用资源较多,效率较低,更新较慢。
    寄存器操作:这是直接对STM32的寄存器进行读写的方式,可以实现最底层的控制。它的优点是占用资源最少,效率最高,缺点是难度较大,需要熟悉寄存器的功能和位定义,不利于移植。
    HAL库:这是ST官方推出的一套新的固件库,基于硬件抽象层(Hardware Abstraction Layer)的思想,提供了更加简洁和统一的接口。它的优点是支持多种IDE,更新较快,易于移植,缺点是文档较少,兼容性较差,有些BUG。CubeMX:这是ST官方提供的一套图形化的配置工具,可以自动生成HAL库的代码,还可以集成一些中间件和应用层的功能。它的优点是操作简单,功能强大,缺点是生成的代码较冗余,不易修改,有些功能不完善。
    直接读写寄存器 开发是最慢的,可移植性最差,基本不推荐使用,只有个别对时间或是内存要求特别高、或者在写操作系统调度器时才需要直接读写寄存器;
    标准外设驱动库 是ST最开始提供的库(国内的教程也很多是依据题库出的),现在已经被ST放弃了;
    HAL库 和 LL库 是近几年推出的库,结合 STM32CubeIDE 使用非常方便, HAL库 性能较差、在STM32系列芯片中可移植性好, LL库 性能好、可移植性差。

    1
    面向对象在编程中的概念
    « 上一篇 2023-12-25
    华为C++算法-识别有效的IP地址和掩码并进行分类统计
    下一篇 » 2023-12-11

    评论 (0)

    取消