【STM32】基础理论知识学习1

本文深入探讨了ARM Cortex微控制器软件接口标准(CMSIS)的作用与优势,以及STM32标准外设库、HAL库、LL库的具体内容与区别。CMSIS为Cortex-M系列处理器提供了一个统一的硬件抽象层,简化了软件开发流程,降低了成本。同时,详细解析了STM32固件库的架构与功能,包括启动文件、时钟配置、外设驱动等关键组件。
摘要由CSDN通过智能技术生成

0.CMSIS

https://baike.baidu.com/item/CMSIS/4082822

ARM Cortex™ 微控制器软件接口标准(CMSIS:Cortex Microcontroller Software Interface Standard) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层(英文原文为:a vendor-independent hardware abstraction layer for the Cortex-M processor series and defines generic tool interfaces--来自ARM官方定义)。

使用CMSIS,可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。软件的创建被嵌入式行业公认为主要成本系数。通过在所有Cortex-M 芯片供应商产品中标准化软件接口,这一成本会明显降低,尤其是在创建新项目或将现有软件迁移到新设备时。最新版本的CMSIS为5.5.1。

-----

翻译一下就是,ARM 的Cortex芯片的内核相同,但芯片厂商外设可能不同,所以不同芯片厂商开发的微控制器软件可能不兼容。所以ARM和芯片商建立CMSIS。

 

 

1.STM32标准外设库、HAL库、LL库

 

标准外设库的认识:

STM32固件库文件分析
	1.固件库的内容:
		1.1-汇编编写的启动文件startup_stm32f10x_hd.s(hd:high density大容量)
			功能:设置堆栈指针、设置PC指针、初始化中断向量表、配置系统时钟、调用c库函数_main最终去到C的世界
		
		1.2-时钟配置文件system_stm32f10x.c
			功能:把外部时钟HSE=8M,经过PLL倍频为72M
			
		1.3-外设相关的 stm32f10x.h
			功能:内核之外的实现了寄存器映射
				stm32f10x_xx.c:外设的驱动函数库文件(xx:gpio、i2c、can、usart...)
				stm32f10x_xx.h:外设驱动函数的初始化结构体,外设初始化结构体成员参数列表,外设库函数的声明
			
		1.4-内核相关的  
			CMSIS-Cortex(微控制器软件接口标准)
				core_cm3.h:内核里面外设的寄存器映射
				core_cm3.c:
			NVIC(嵌套向量中断控制器)、SYSTick(系统滴答定时器)
				misc.h misc.c: 
		
		1.5-头文件的配置文件
			stm32f10x_conf.h :包含所有外设头文件的头文件
		
		1.6-专门存放中断服务的C文件
			stm32f10x_it.h stm32f10x_it.c
			中断服务函数也可以随意的放在其他的地方,并不是一定放在stm32f10x.c

三个库都是ST对出的,有一些区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值