- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
stm3库3.4说明精选
STM32固件库详解
分类: STM32 嵌入式系统原理与接口应用-教材编写 2011-11-29 23:33 244人阅读 评论(0) 收藏 举报
最近考试较多,教材编写暂停了一下,之前写了很多,只是每一章都感觉不是特别完整,最近把其中的部分内容贴出来一下,欢迎指正。本文内容基于我对固件库的理解,按照便于理解的顺序进行整理介绍,部分参考了固件库的说明,但是也基本上重新表述并按照我理解的顺序进行重新编写。我的目的很简单,很多人写教程只是告诉你怎么做,不会告诉你为什么这么做,我就尽量吧前因后果都说清楚,这是我的出发点,水平所限,难免有很大的局限性,具体不足欢迎指正。
1.1.1 STM32F10XXX标准外设库结构与文件描述
1. 标准外设库的文件结构
在上一小节中已经介绍了使用标准外设库的开发的优势,因此对标准外设库的熟悉程度直接影响到程序的编写,下面让我们来认识一下STM32F10XXX的标准外设库。STM32F10XXX的标准外设库经历众多的更新目前已经更新到必威体育精装版的3.5版本,开发环境中自带的标准外设库为2.0.3版本,本书中以比较稳定而且较新的V3.4版本为基础介绍标准外设库的结构。
可以从ST的官方网站下载到各种版本的标准外设库,首先看一下3.4版本标准外设库的文件结构,如图 53所示。3.0以上版本的文件结构大致相同,每个版本可能略有调整。
图 53 STM32F10XXX V3.4标准外设库文件结构
表 54中介绍了每个文件夹所包含的主要内容。
表 54 STM32F10XXX V3.4标准外设库文件夹描述
STM32F10x_StdPeriph_Lib_V3.4.0 _htmresc 本文件夹包含了所有的html页面资源 Libraries CMSIS 见表 56 STM32F10x_StdPeriph_Driver inc 标准外设库驱动头文件 src 标准外设库驱动源文件 Project Examples 标准外设库驱动的完整例程 Template MDK-ARM KEIL RVMDK的项目模板示例 RIDE Raisonance RIDE的项目模板示例 EWARM IAR EWARM的项目模板示例 Utilities STM3210-EVAL 本文件夹包含了用于STM3210B-EVAL和STM3210E-EVAL评估板的专用驱动 标准外设库的第一部分是CMSIS 和STM32F10x_StdPeriph_Driver,CMSIS 是独立于供应商的Cortex-M 处理器系列硬件抽象层,为芯片厂商和中间件供应商提供了简单的处理器软件接口,简化了软件复用工作,降低了Cortex-M 上操作系统的移植难度,并减少了新入门的微控制器开发者的学习曲线和新产品的上市时间。STM32F10x_StdPeriph_Driver则包括了分别对应包括了所有外设对应驱动函数,这些驱动函数均使用C语言编写,并提供了统一的易于调用的函数接口,供开发者使用。Project文件夹中则包括了ST官方的所有例程和基于不同编译器的项目模板,这些例程是学习和使用STM32的重要参考。Utilities包含了相关评估板的示例程序和驱动函数,供使用官方评估板的开发者使用,很多驱动函数同样可以作为学习的重要参考。
STM32F10xxx标准外设库体系结构如图 54所示。图中很好的展示了各层以及具体文件之间的联系,各文件的具体功能说明如表 55所示。
图 54 STM32F10xxx标准外设库体系结构
表 55 文件功能说明
文件名 功能描述 具体功能说明 core_cm3.h
core_cm3.c Cortex-M3内核及其设备文件 访问Cortex-M3内核及其设备:NVIC,SysTick等
访问Cortex-M3的CPU寄存器和内核外设的函数 stm32f10x.h 微控制器专用头文件 这个文件包含了STM32F10x全系列所有外设寄存器的定义(寄存器的基地址和布局)、位定义、中断向量表、存储空间的地址映射等 system_stm32f10x.h
system_stm32f10x.c 微控制器专用系统文件 函数SystemInit,用来初始化微控制器
函数Sysem_ExtMemCtl,用来配置外部存储器控制器。它位于文件startup_stm32f10x_xx.s /.c,在跳转到main前调用
SystemFrequncy,该值代表系统时钟频率 startup_stm32f10x_Xd.s 编译器启动代码 微控制器专用的中断处理程序列表(与头文件一致)
弱定义(Weak)的中断处理程序默认函数(可以被用户代码覆盖) 该文件是与编译器相关的 stm32f10x_conf.h 固件库配置
文档评论(0)