嵌入式--stm32固件库课件.pptx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式--stm32固件库课件

STM32固件库简介;1. STM32标准外设库概述 2. STM32 固件库与 CMSIS 标准 3.STM32固件库包结构 4.STM32使用步骤简介;本质:一个固件函数包 组成:程序、数据结构和宏,包括了微控制器所有外设的性能特征。还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由一个通用API (application programming interface 应用编程界面)驱动,API对该驱动程序的结构,函数和参数名称都进行了标准化。 优点:a、通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设; b、使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。 ST公司2007年10月发布了V1.0版本的固件库,MDK ARM3.22之前的版本均支持该库。2008年6月发布了V2.0版的固件库,从2008年9月推出的MDK ARM3.23版本至今均使用V2.0版本的固件库。V3.0以后的版本相对之前的版本改动较大,本书使用目前较新的V3.4版本。 ;其实一句话就可以概括: 固件库就是函数的集合; 固件库函数的作用是: 向下负责与寄存器直接打交道, 向上提供用户函数调用的接口( API)。 ;但是固件库不是万能的,您如果想要把 STM32 学透,光读 STM32 固件库是远远不够的。你还是要了解一下 STM32 的原理,而这些原理了解了,你在进行固件库开发过程中才可能得心应手游刃 有余。 E.g ;2. STM32 固件库与 CMSIS 标准;CMSIS 通过以上三个部分实现了: 定义访问外设寄存器和异常向量的通用方法; 定义核内外设的寄存器名称和核异常向量的名称; 为RTOS 核定义与设备独立的接口,包括Debug 通道。 我们在使用 STM32 芯片的时候首先要进行系统初始化, CMSIS 规范就规定,系统初始化函数名字必须为SystemInit,所以各个芯片公司写自己的库函数的时候就必须用SystemInit 对系统进行初始化。 CMSIS 还对各个外设驱动文件的文件名字规范化,以及函数名字规范化等等一系列规定。 ;3.STM32固件库包结构;CM3;缩写;首先新建一个项目并设置工具链对应的启动文件,可以使用标准外设库中提供的模板,也可以自己根据自己的需求新建。标准外设库中已经提供了不同工具链对应的文件,位于STM32F10x_StdPeriph_Lib_V3.4.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup目录下。 其次按照使用产品的具体型号选择具体的启动文件,加入工程。文件主要按照使用产品的容量进行区分,根据产品容量进行选择即可。每个文件的具体含义可以在“stm32f10x.h”文件中找到对应的说明 “stm32f10x.h”是整个标准外设库的入口文件,这个文件包含了STM32F10x全系列所有外设寄存器的定义(寄存器的基地址和布局)、位定义、中断向量表、存储空间的地址映射等。为了是这个文件适用于不同系列的产品,程序中是通过宏定义来实现不同产品的匹配的 #if !defined (STM32F10X_LD) !defined (STM32F10X_LD_VL) !defined (STM32F10X_MD) !defined (STM32F10X_MD_VL) !defined (STM32F10X_HD) !defined (STM32F10X_HD_VL) !defined (STM32F10X_XL) !defined (STM32F10X_CL) /* #define STM32F10X_LD */ /*! STM32F10X_LD: STM32 Low density devices */ ;如果去掉/*#define USE_STDPERIPH_DRIVER*/的注释,则是使用标准外设库进行开发,用户需要使用在文件“stm32f10x_conf.h”中,选择要用的外设,外设同样是通过注释/去掉注释的方式来选择。 /* Uncomment the line below to enable peripheral header file inclusion */ #include stm32f10x_adc.h /* #include stm32f10x_bkp.h */ /* #include stm32f10x_can.h */ 系统时钟在“system_stm32f10x.c”同样通过注释的方式来配置;已经配置了系统的主要外部参数,这

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档