当前位置: 首页 > article >正文

开发库介绍

一、开发库选择
1.1 概述
STM32开发相关的库有很多,它们都是为了方便开发者使用STM32微控制器而提供的软件工具。根据不同的功能和层次,可以将它们分为以下几类:

CMSIS库(Cortex Microcontroller Software Interface Standard)是ARM公司推出的一种标准化的微控制器软件接口,它定义了一些通用的数据类型、寄存器访问、中断处理、内核功能等,方便开发者使用Cortex-M内核的各种功能。CMSIS库还包括了一些中间件组件,如RTOS、DSP、Driver、Pack、SVD、DAP和NN等,提供了丰富的软件功能。CMSIS库不是HAL库,也不是标准库,它是一种与厂商(比如ST公司)无关的软件层,可以在不同的微控制器上使用。

HAL库(Hardware Abstraction Layer,硬件抽象层)是ST公司推出的一种硬件抽象层库,它提供了一套统一、简洁、易用的API函数接口,方便开发者使用STM32的各种外设功能。HAL库支持STM32全系列产品,具有可移植性、易用性和可靠性等优点。HAL库还提供了一些中间件组件,如RTOS,USB,TCP/IP和图形等,可以快速实现复杂的功能。

标准库(Standard Peripheral Libraries)是ST公司为STM32微控制器提供的一种固件函数包,它封装了STM32所有外设的寄存器操作和中断处理,提供了一套统一、简洁、易用的API函数接口,方便开发者使用STM32的各种外设功能。标准库支持STM32全系列产品,具有可移植性、易用性和可靠性等优点。不过,ST官方已经不再更新STM32标准固件库,而是力推新的固件库:HAL库。

LL库(Low-Layer,底层)是ST公司最近(也不是最近,六七年了)新增的一种底层库,它与HAL库捆绑发布,文档也是和HAL文档在一起的。 LL库更接近硬件层,对需要复杂上层协议栈的外设不适用,直接操作寄存器。LL库可以独立使用,也可以和HAL库结合使用。

其他第三方或开源库:除了ST公司提供的官方库外,还有许多第三方或开源的软件库可以用于STM32开发,如FreeRTOS、uCOS、FatFs、LwIP等。这些软件库通常提供了一些特定领域或功能的解决方案,如实时操作系统、文件系统、网络协议等。


http://www.kler.cn/a/109028.html

相关文章:

  • 11 go语言(golang) - 数据类型:结构体
  • 100+SCI科研绘图系列教程(R和python)
  • js-将JavaScript对象或值转换为JSON字符串 JSON.stringify(this.SelectDataListCourse)
  • Go语言中的`io.Pipe`:实现进程间通信的利器
  • Axure是什么软件?全方位解读助力设计入门
  • 后悔没早点知道,Coze 插件 + Cursor 原来可以这样赚钱
  • 链游风暴再起?MBOX即将再度起飞
  • O(1) 时间插入、删除和获取随机元素
  • 你会处理 go 中的 nil 吗
  • ChatGPT 驱动软件开发:AI 在软件研发全流程中的革新与实践
  • 38基于matlab的期货预测,利用PSO优化SVM和未优化的SVM进行对比,得到实际输出和期望输出结果。
  • 万字解析设计模式之单例模式
  • 为wget命令设置代理
  • 利用 JSqlParser 防止 SQL 注入
  • String、StringBuffer、StringBuilder和StringJoiner
  • prometheus服务发现
  • 松下A6B伺服 马达不动问题解决
  • Photoshop(PS)2021版 安装教程(图文教程超详细)
  • git建仓库小记
  • C#__简单了解XML文档
  • 谈谈我对 Reacitive 方法的理解
  • Java开发中方法命名规范
  • NCCL后端
  • 面试测试工程师一般问什么问题?
  • 【Java】选择语句、循环语句
  • Mybatisplus 常用注解