STM32讲义4-Keil.ppt_第1页
STM32讲义4-Keil.ppt_第2页
STM32讲义4-Keil.ppt_第3页
STM32讲义4-Keil.ppt_第4页
STM32讲义4-Keil.ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4章STM32计算机编程,主要内容Cortex微控制器软件介面标准CMSIS FWLib固件库Vision4开发环境简介,嵌入式软件层,、用户节目、硬件、虚拟BIOS调用硬件驱动程序,虚拟DOS调用(API 虚拟BIOS和虚拟DOS主要包括硬件、4.1 Cortex微控制器软件介面标准、主要内容基于CMSIS CMSIS标准的软件结构、4.1.1 CMSIS、1、“CMSIS”的含义Cortex微控制器软件接口标准CMSIS(Cortex microos 2.CMSIS的优势在于减少操作系统(OS)移植、中间件开发、应用软件开发和学习嵌入式系统(ARM微控制器)牙齿的难度。基于4.1.2 C

2、MSIS标准的软件结构、中间件:连接两个独立应用程序或独立系统的软件、多种软件、硬件平台、ARM公司、筹码供应商、CMSIS、MPU等,MCU牙齿层由ARM实现。中间件访问层中间访问层(mwal)定义用于中间件访问的API函数。ARM公司负责实现。“Device Peripheral Access Layer(设备外围访问层)”用于定义筹码制造商实施的某些硬件寄存器地址和一些外围设备访问函数地址。CMSIS规范-档案结构,Core_CM3.c和Core_CM3.h,CM3内核的全局变量宣言和定义,CM3内核及其设备system_。h和system _。c(系统初始化函数和时钟变量startup

3、_stm32f10 x_hd/md/ld.s,由sstem筹码供应商定义,针对不同容量产品的启动档案system_stm32f10 x.h,STM32F10 XXX微控制器周围访问层头文件,)可执行文件编译器和链接器生成操作系统连接库;和调试器。工具链是集成开发环境的同义词。编译的输入(对象)示例:节目代码编译输出(目标)示例:编译目标档案所需的工具包括:包括相关输入(对象)在内的编译器通用编译器示例,如gcc:(程序运行时依赖或一个库依赖的其他)库(或其他人可能调用的完整库档案链接所需的工具包括链接器、4.2 FWLib固件库、主要内容FWLib固件库STM32标准外围设备库固件库命名惯例数

4、据类型和结构固件库应用程序节目、STM32以标准为中心的函数功能,包括所有由节目、数据结构和宏组成的片上外设:驱动程序结构、函数和参数名称已标准化,语义清晰、易读,并且没有重复的名称。严格ANSI-C标准,可移植性好。对所有函数输入值进行了动态错误检测。每个外围设备都有一个应用程序节目实例。代码效率不高,实时性差。STM32F10XXX标准外围设备库StdPeriph_Lib V3.5.0版本从固件库存升级;与Cms兼容的库体系结构增强Doxygen源代码格式;升级不会影响STM32外设驱动API。,4.2.1 STM32标准周围的库,库档案目录结构,core _ cm3 . h core _

5、 cm3 . c STM 32 F10 x . h system _ STM 32 F10 x . h system STM 32 F10 x _ PPP . h STM 32 F10 x.硬件、API、应用程序和3.5.0的三个茄子级别。STM 32 F10 x . h system _ STM 32 F10 x . h system _ STM 32 F10 x . c和startup _ stm32f10x _ hd 与数据类型定义相对应# include STM 32f 10x _ gpio . h/# include STM 32f 10x _ I2C . h/# include S

6、TM 32f 10x _ iwdg . h/include STM Stm32f10 x_conf.h档案内容# include STM 32 F10 x _ ADC . h/# include STM 32 F10 x _ bkp . h/# include STM include STM 322 周边函数命名惯例以周边设备的缩写大写底线开始。只能使用一条下划线。例如:GPIO _ init、general purpose input output简称为GPIO或总线扩展器。车手函数命名(PPP:替换特定外围设备名称),4.2.3数据类型和结构,第一,基本数据类型1,CMSIS IO类型分隔

7、符定义#define _Ivolatile const只读访问#define _如果变量被const修改,则不能再更改其值。const可以保护修改的内容。通常,编译器存储在符号表中,而不是将存储空间分配给const常量,因此它在编译期间成为常量,可以在不进行存储和读取内存操作的情况下有效使用。关键字volatile提醒您,编译器后面定义的变量可以随时更改。因此,每当需要存储或读取牙齿变量时,编译的程序都会直接从变量地址读取数据。如果没有Volatile关键字,编译器可以优化读取和存储,临时使用寄存器值,牙齿变量被其他程序更新时,可能会出现不一致的情况。、3、 CMSIS和固件库的默认数据类型2

8、4茄子变量类型定义“stm32f10 x.h”中的固件库类型CMSIS类型语义s32 int32_t带符号s16 int 16 _ ts8 int 8 _ TSC 32 constint 32 _ t只读带符号s32 int32 t uc32 constuint32 _ t只读无符号uc16 constuint 16 _ t uc8 constuint 8 _ t io uint 16 _ TVU 8 _ _ io uint 8 _ tvuc 32 _ _ _ Typedef int16 _ t s16Typedef int8 _ t S8Typedef const int32 _ t sc3

9、2/read only typedef const int 16 _ t sc16;/read only type def const int 8 _ t sc8;/read only type def _ _ io int 32 _ t vs32;Typedef _ _ IO int16 _ t vs16Typedef _ _ IO int8 _ t vs8Typedef _ _ I int32 _ t vsc32/read only type def _ _ I int 16 _ t VSC 16;/read only typedef _ _ I int8 _ t到c8;/readonly

10、,typedef uint 32 _ t u32Typedef uint16 _ t u16Typedef uint8 _ t u8Typedef const uint32 _ t uc32/read only typedef const uint 16 _ t uc16;/read only type def const uint 8 _ t uc8;/read only type def _ _ io uint 32 _ t vu32;Typedef _ _ IO uint16 _ t vu16Typedef _ _ IO uint8 _ t vu8Typedef _ _ I uint32

11、 _ t vuc32/read only type def _ _ I uint 16 _ t vu C16;/read only type def _ _ I uint 8 _ t vu c8;/Read Only,2,布尔类型数据,在 stm32f10 x.h 中定义的布尔变量:事件,中断状态标志typedef enum RESET=0,SET=!RESET FlagStatus,ITStatus功能状态标志typedef enum DISABLE=0,ENABLE=!DISABLE FunctionalState错误状态标志typedef enum ERROR=0,SUCCESS=!ERROR ErrorStatus# defineis _ functional _ state(state)(state)=disable)| |(state)=enable1,GPIO通信端口设备结构定义数据类型定义typedef struct _ _ IO uint32 _ t CRL/通信端口配置行寄存器_ _ IO uint32 _ t CRH/通信端口配置高寄存器_ _ IO u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论