STM32F10X标准外设库结构分析

所需积分/C币:13 2012-12-11 14:29:51 1.04MB PDF

STM32F10X标准外设库结构分析,详细讲解了STM32库的结构,对于STM32的库函数代码的理解有很大的帮助。并且还是中文资料。
标准外设库结构分析 第一部分 标准外设库概述 标准外设库是是一个固件函数包,它由程序、数据结构和宏 组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设 的驱动描述和应用实例。通过使用本固件函数库,无需深入掌握细节,用 户也可以轻松应用每一个外设。因此,使用本固态函数库可以大大减少用 户的程序编写时间,进而降低开发成本 每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能 每个器件的开发都由一个通用 应用编程界面驱动,对该驱动程序的结构,函数和参数名称都进行了 标准化。 所有的驱动源代码都符合“ ”标准(项目于范例文件符 合扩充 标准)。公司已经把驱动源代码文档化,他们同时兼容 标准。由于整个固态函数库按照“ ”标准编写, 它不受不同开发环境的影响。仅对话启动文件取决于开发环境。 该固态函数库通过校验所有库函数的输入值来实现实时错误检测。该 动杰校验提高了软件的鲁棒性。实时检测适合于用户应用程序的开发和调 试。但这会增加了成本,可以在最终应用程序代码中移去,以伏化代码大 小和执行速度 因为该固件库是通用的,并且包括了所有外设的功能,所以应用程序 代码的大小和执行速度可能不是最优的。对大多数应用程序来说,用户可 标准外设库结构分析 以直接使用之,对于那些在代码大小和执行速度方面有严格要求的应用程 序,该固件库驱动程序可以作为如何设置外设的一份参考资料,根据实际 需求对其进行调整 标准外设库结构分析 第二部分 架构简介 CISS COMPLLANT ARM Cortex Microcontroller Software Interface standard 公司于年月日发布了 微控制器软件接口 标准 是独立于供应商的 处理器系列硬件抽象层,为芯片厂商和 中间件供应商提供了连续的、筒单的处理器软件接口,简化了软件复用, 降低了 上操作系统的移植难度,并缩短了新入门的微控制器开 发者的学习时间和新产品的上市时间 根据近期的调查研究,软件开发已经被嵌入式行业公认为最主要的开 发成本。图为近年来软件开发与硬件开发成本对比图。因此,与 和等诸多芯片 和软件厂商合作,将所有 芯片厂商产品的软件接口标准化,制定了 标准。此举意在降低软件开发成本,尤其针对新设备项目开发,或 者将已有软件移植到其他芯片厂商提供的基于 处理器的微控制器 的情况。有了该标准,芯片厂商就能够将他们的资源专注于产品外设特性 的差异化,并且消除对微控制器进行编程时需要维持的不同的、互相不兼 容的标准的需求,从而达到降低开发成本的目的。 标准外设库结构分析 开发成本 工业应用) 硬件 软件 成本 成本 mmm=+=+一 1970 1980 1990 2000 2010 图1软件与硬件开发成本对比 如图所示,基于标准的软件架构主要分为以下层:用户应 用层、操作系统及中间件接口层、 层、硬件寄存器层。其中 层起着承上启下的作用:一方面该层对硬件寄存器层进行统一实现,屏蔽 了不同厂商对 系列微处理器核内外设寄存器的不同定义;另一方 面又向上层的操作系统及中间件接口层和应用层提供接口,简化了应用程 序开发难度,使开发人员能够在完全透明的情况下进行应用程序开发。也 正是如此, 层的实现相对复杂 用 应用层代码 操 作 实时操作 系统内核 中间件 系 统 核内外设访间层中间件访问层设备外设访问层 万 外设寄存器以及中断向量的定义 Cortex 系统定时器 NVIC 总|处理器RoS内核嵌套中断调试追踪其他外设 定时器向量控制器 接口 图2基于cMs|S标准的软件架构 标准外设库结构分析 层主要分为部分。 核内外设访问层 由负责实现。包括对寄存器地址的定义,对核寄存器、 调 试子系统的访问接口定义以及对特殊用途寄存器的访问接口如 和定义。由于对特殊寄存器的访问以内联方式定义,所以针对 不同的编译器统一用 来屏蔽差异。该层定义的接口函数均是可重 入的 、中间件访问层 由负责实现,但芯片厂商需要针对所生产的设备特性对该层进行 更新。该层主要负责定义一些中间件访问的函数,例如为 协 议栈、 协议以及实时操作系统的访问与调试提供标准软件接 口。该层在.标准中尚未实现。 设备外设访问层 由芯片厂商负责实现。该层的实现与类似,负责对硬件寄存器地 址以及外设访问接口进行定义。该层可调用层提供的接口函数,同时 根据设备特性对异常向量表进行扩展,以处理相应外设的中断请求 标准外设库结构分析 第三部分标准外设库的 结构 为了搞清出标准外设库的结构,我们先来看一下其物理组成,即其有 哪些文件和如何分布的。然后再-一介绍每个文件的内容及所包含的函数。 再次就可以分析出其逻辑结构 首先请看下图,这是从网上下载的 件解压后其 目录的结构。 目录就是我们编程时所需要运用的 我们可以把它到工程文件夹下,方便调用。 具体的文件我就不再描述了,大家看图便知。下面着重看看每个文件 夹的作用及其包含文件的作用。 标准外设库结构分析 STM32F10x Standard Per i pherals library v3.5 Structure Liberaries CMSIS Documention Coresupport CM3 Devicesuppol sH STM52F10x StdPeaph Dever cfm 3T2F10 tErtup stm32fl0x ds Gue-tide7n startup_stm32f10x_hd. s startup stm32f10x Ids Src sr2门Jxpp lEtup stm32f10x d v1. 3 starup stn32f10x hd vl.s tartu_stm32f10x_1d_vl.s Ai:cc ste13H0x h Tures DION IIc Syatem stm32t1Lxc e :2:_1pp.h Nisc. h 标准外设库结构分析 文件夹提供了对 系列芯片的 内核的支持。 下有个 文件,其描述了 文件夹下的两个文件夹分别包括了核内外设访问层的头文件 及为 系列写的设备外设访问层头文件 设备外设访问层系统 头文件 内对进行了配置 最重要的是调用了“ ”文件,该文件由编译环境提供,对 位、位、位等整数类型的定义及其范围进行了规范,还定义了大数 输出如 。主要用来屏蔽不同编译器之前的差异。这种扩 展整数类型的定义非常清晰,从类型名字上就可以看出它的长度,这有利 于编写可移植的代码。 指示寄存器的访问权限。 定义以下种标识符来指定访问权 限 和 。其中用来指 定只读权限,指定只写权限,指定读写权限 对核内的寄存器进行了定义 定义了 类型结构体 结构体 类型结构体 类型结构体 类型结构体 类型结构体 类型结构体 。定义了各种寄存器。 对硬件内存地址进行了映射

...展开详情

评论 下载该资源后可以进行评论 2

xxooren 内容还成,分挺贵
2015-01-22
回复
mynameistj 这资料不值这个分,到处都有下的伙计
2013-04-04
回复
img
wj2027
  • 分享达人

    成功上传6个资源即可获取

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐