STM32记.doc

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

Erased v. 抹去(erase的过去分词);消除 Programmed adj. 程序化的,程控的 Verified adj. 已查清的,已证实的,,已验证的 stm32f10x.h 类似于51单片机中的头文件 reg51.h 一样,定义了如P0、P1等特殊寄存器的名称与实际物理地址相对应 stm32f10x_conf.h 是用户需要配置的头文件,当我们需要用到某部分外设驱动时,我们只需要将该部分外设的头文件包含进来即可。 configured adj. 配置;配置的 故,添加外设驱动文件stm32f10x_xxx.c 的时候,可以把全部驱动文件全部添加进来,然后通过stm32f10x_conf.h 文件选择性的添加; 也即,只有在stm32f10x_conf.h 文件中配置的文件才会被编译。 Stm32f10x_it.c 和 Stm32f10x_it.h 这两个文件里面是中断函数,里面内容为空,并没有写任何中断服务程序,需用户添加; it — interrupt vi. 打断;打扰 Core_cm3.c 和 Core_cm3.h 是位于Libraries/CMSIS/CM3文件夹下的Coresupport的文件,它们是CMSIS标准的核内设备函数层的M3核通用的源文件和头文件,其作用是为那些采用Cortex-M3核设计SOC的芯片的外设提供一个进入M3内核的接口,这两个文件在其他公司的M3系列芯片也是相同的。 什么是JTAG接口 JTAG(Joint Test Action Group联合测试行动小组 ) 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。 JTAG 技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路 TAP ( Test Access Port 测试访问口),通过专用的 JTAG测试工具对内部节点进行测试。TAP控制器的状态机通过TCK和TMS进行状态的改变,实现数据和指令的输入。 目前大多数比较复杂的器件都支持 JTAG 协议,如 ARM 、 DSP 、 FPGA 器件等。 标准的 JTAG 接口是 4 线: TMS 、 TCK 、 TDI 、 TDO ,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。( Test mode selecet、test clock、test data input、test data output ) JTAG 测试允许多个器件通过 JTAG 接口串联在一起,形成一个 JTAG 链,能实现对各个器件分别测试。 JTAG 接口还常用于实现 ISP ( In-System Programmable 在系统编程)功能,如对 FLASH器件进行编程等。 通过 JTAG 接口,可对芯片内部的所有部件进行访问,因而是开发调试嵌入式系统的一种简洁高效的手段。目前 JTAG 接口的连接有两种标准,即 14 针接口和 20 针接口,其定义分别如下所示。 STM32总线 AHB Advanced Hight Speed Buses 先进高速总线 数据总线D-bus、系统总线、STM32内部的SRAM和DMA单元都挂载在AHB上; AHB总线的工作频率与Cortex-M3内核一致,但AHB总线上挂着许多独立的分频器,可以输出较低的时钟频率而达到较低功耗 APB Advanced Peripheral Buses 先进外部设备总线 每一条APB又都与AHB总线矩阵相连 APB1总线只能以最大36MHz频率运行,而APB2总线可以最大72MHz频率运行 DMA(Direct Memory Access)控制器是一种在系统内部转移数据的独特外设。可以将其视为一种能够通过一组专用总线,将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。它之所以属于外设,是因为它是在处理器的编程控制下来执行传输的。值得注意的是,通常只有数据流量较大(kBps或者更高)的外设才需要支持DMA能力,这些应用方面典型的例子包括视频、音频和网络接口。 小结: 在stm32f10x_gpio.h中,只有GPIO_InitTypeDef一个数据结构, 在stm32f10x_uart.h中有两个数据结构USART_ClockInitTypeDef和USART_InitTypeDef ........ 相信在其他的stm32f10x_xxx.h中也是如此,即有针对性的数据结构,不会好多而混乱。 也就是说,在不同外设的头文件里,都有几个针对该外设的数据结构,这些数据结构,也就是该外设驱动函数的操作对象(作为一个输入参数)。 我们要做的就是:定义数据结构,对数据结构成员赋值,调用驱动函数,当然,如果可能有多重配置等,可以定义多个数据结构。 库函数编程: 其实很简单: 在s

文档评论(0)

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

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

1亿VIP精品文档

相关文档