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

孤人 提交于 2019-12-27 04:52:43

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对出的,有一些区别。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!