2、STM32固件库 STM32库是由ST公司针对STM32提供的函数借口,即API。开发者可调用这些函数接口来配置STM32的寄存器。库是架设在寄存器与用户驱动层之间的代码,向下处理与寄存器直接相关的配置,向上为用户提供配置寄存器的接口。 CMSIS标准 ARM公司出售其芯片技术授权,ST公司与其他芯片生产商如TI,负责设计的是在内核之外的部件,被称为核外外设或片上外设、设备外设。如芯片内部的模数转换外设ADC、串口UART、定时器TIM等。 内核和外设,类似于PC上的CPU与主板、内存、显卡、硬盘的关系。 因为基于Cortex的系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,为解决不同芯片厂商生产的Cortex微控制器软件的兼容性问题,ARM与芯片厂商建立了一个CMSIS标准(cortex Microcontroller software Interface standard)。 CMSIS标准中最主要的是CMSIS核心层,它包括: 内核函数层:其中包含用于访问内核寄存器的名称,地址定义,主要有ARM公司提供; 设备外设访问层:提供片上的核外外设的地址和终端定义,主要有芯片厂商提供。 (类似于板级的配置层,有板级开发者提供,提供板级的外设定义) 针对STM32F10x库,关于内核和外设的库文件主要有以下内容: (1)Core_cm3.C文件 该文件的作用是为采用Cortex-M3核设计SOC的芯片商设计的芯片外设提供一个进入CM3内核的接口。 (2)System_stm32f10x.c文件 在devicesupport文件夹下的是启动文件、外设寄存器定义和中断向量定义层的一些文件,由ST公司提供。该文件的功能是内置系统时钟和总线时钟。 (3)stm32f10x.h文件 Stm32f10x.h是非常底层的文件。包含STM32寄存器地址和结构体类型定义。 (4)启动文件 启动文件是任何处理器在上电复位之后最先运行的一段汇编语言。 (5)STM32F10x_stdperiph_driver文件夹 该文件夹下有inc和src两个文件夹,属于CMSIS的设备外设函数部分。Src里面是每个设备外设的驱动程序,这些外设是芯片制造商在cortex-M3核外加进去的。这两个文件夹中还有一个很特别的misc.c文件,在配置中断时,我们必须把这个文件添加到工程中。 (6)stm32f10x_it.c和stm32f10x_conf.h文件 Stm32f10x_conf.h文件可以配置是否使用断言编译选项。
|