版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、STM32嵌入式微控器嵌入式微控器 快速上手快速上手 陈志旺陈志旺 等等 编著编著 电子工业出版社电子工业出版社 参考资料参考资料 n喻金钱,喻斌喻金钱,喻斌. STM32F系列系列ARM Cortex-M3核微控核微控 制器开发与应用制器开发与应用M. 清华大学出版社清华大学出版社. n彭刚,秦志刚彭刚,秦志刚. 基于基于ARMCortex-M3的的STM32系列嵌系列嵌 入式微控制器应用实践入式微控制器应用实践M. 电子工业出版社电子工业出版社. n李宁李宁. 基于基于MDK的的STM32处理器开发应用处理器开发应用M. 北京北京 航空航天大学出版社航空航天大学出版社. 考试形式考试形式
2、n总成绩总成绩 = 实验实验40%+平时平时10%+期末期末50% n实验时间:实验时间:1-17周周,双周周五上午双周周五上午8:00 n实验地点:电子楼实验地点:电子楼119 主要内容主要内容 n 1. 嵌入式系统简介嵌入式系统简介 n 2. STM32简介简介 n 3. 教学开发板教学开发板 n 4. 工程模板的建立工程模板的建立 1. 嵌入式系统简介嵌入式系统简介 n1.1 嵌入式系统定义嵌入式系统定义 n1.2 嵌入式系统的特点嵌入式系统的特点 n1.3 嵌入式系统的分类嵌入式系统的分类 n1.4 嵌入式系统的应用嵌入式系统的应用 n1.5 嵌入式系统的发展嵌入式系统的发展 n1.6
3、 通用计算机与嵌入式系统对比通用计算机与嵌入式系统对比 1.1 嵌入式系统定义嵌入式系统定义 n嵌入式系统(嵌入式系统(Embedded system),是一种),是一种“完全完全 嵌入受控器件内部,为特定应用而设计的专用计算机嵌入受控器件内部,为特定应用而设计的专用计算机 系统系统”,根据英国电器工程师协会(根据英国电器工程师协会( U.K. Institution of Electrical Engineer)的定义,嵌入式系统为)的定义,嵌入式系统为“用用 于控制、监视或者辅助操作机器和设备的装置于控制、监视或者辅助操作机器和设备的装置”。 n与个人计算机这样的通用计算机系统不同,嵌入式
4、系与个人计算机这样的通用计算机系统不同,嵌入式系 统通常执行的是带有特定要求的预先定义的任务。由统通常执行的是带有特定要求的预先定义的任务。由 于嵌入式系统只针对一项特殊的任务,设计人员能够于嵌入式系统只针对一项特殊的任务,设计人员能够 对它进行优化,减小尺寸降低成本。对它进行优化,减小尺寸降低成本。 n嵌入式系统通常进行大量生产,所以单个的成本节约,嵌入式系统通常进行大量生产,所以单个的成本节约, 能够随着产量进行成百上千的放大。能够随着产量进行成百上千的放大。 1.1 嵌入式系统定义嵌入式系统定义 n嵌入式系统的核心是由一个或几个预先编程好以用来嵌入式系统的核心是由一个或几个预先编程好以用
5、来 执行少数几项任务的微处理器或者单片机组成。与通执行少数几项任务的微处理器或者单片机组成。与通 用计算机能够运行用户选择的软件不同,嵌入式系统用计算机能够运行用户选择的软件不同,嵌入式系统 上的软件通常是暂时不变的,所以经常称为上的软件通常是暂时不变的,所以经常称为“固件固件”。 n国内普遍认同的嵌入式系统定义为:以国内普遍认同的嵌入式系统定义为:以应用应用为中心,为中心, 以以计算机技术计算机技术为基础,为基础,软硬件软硬件可裁剪,适应应用系统可裁剪,适应应用系统 对功能、可靠性、成本、体积、功耗等严格要求的对功能、可靠性、成本、体积、功耗等严格要求的专专 用计算机系统用计算机系统。 n一
6、般而言,嵌入式系统的构架可以分成四个部分:处一般而言,嵌入式系统的构架可以分成四个部分:处 理器、存储器、输入输出(理器、存储器、输入输出(I/O)和软件。)和软件。 1.2 嵌入式系统的特点嵌入式系统的特点 嵌入式系统的几个重要特征:嵌入式系统的几个重要特征: n(1)系统内核小系统内核小。由于嵌入式系统一般是应用于小型电子装置由于嵌入式系统一般是应用于小型电子装置 的,系统资源相对有限,所以内核较之传统的操作系统要小得多。的,系统资源相对有限,所以内核较之传统的操作系统要小得多。 内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提 供操作系统的最基本的功能,是操作系统工作的基础,它
7、负责管理 系统的进程、内存、 内核体系结构设备驱动程序、文件和网络系统, 决定着系统的性能和稳定性。 n(2)专用性强。专用性强。嵌入式系统的个性化很强,其中的软件系统和嵌入式系统的个性化很强,其中的软件系统和 硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同 一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断 进行修改。同时针对不同的任务,往往需要对系统进行较大更改,进行修改。同时针对不同的任务,往往需要对系统进行较大更改, 程序的编译下载要和系统相结合,这种
8、修改和通用软件的程序的编译下载要和系统相结合,这种修改和通用软件的“升级升级” 是完全两个概念。是完全两个概念。 1.2 嵌入式系统的特点嵌入式系统的特点 n(3)系统精简系统精简。嵌入式系统一般没有系统软件和应用软件的明嵌入式系统一般没有系统软件和应用软件的明 显区分,不要求其功能设计及实现上过于复杂,这样一方面利于显区分,不要求其功能设计及实现上过于复杂,这样一方面利于 控制系统成本,同时也利于实现系统安全。控制系统成本,同时也利于实现系统安全。 n(4)高实时性高实时性。高实时性的系统软件高实时性的系统软件(OS)是嵌入式软件的基是嵌入式软件的基 本要求。而且软件要求固态存储,以提高速度
9、;软件代码要求高本要求。而且软件要求固态存储,以提高速度;软件代码要求高 质量和高可靠性。质量和高可靠性。 n(5)多任务的操作系统多任务的操作系统。嵌入式软件开发要想走向标准化,嵌入式软件开发要想走向标准化, 就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有 操作系统而直接在芯片上运行;但是为了合理地调度多任务,利操作系统而直接在芯片上运行;但是为了合理地调度多任务,利 用系统资源、系统函数以及专家库函数接口,用户必须自行选配用系统资源、系统函数以及专家库函数接口,用户必须自行选配 RTOS (Real Time Operati
10、ng System)RTOS (Real Time Operating System)开发平台,这样才能保证开发平台,这样才能保证 程序执行的实时性、可靠性,并减少开发时间,保障软件质量程序执行的实时性、可靠性,并减少开发时间,保障软件质量。 1.2 嵌入式系统的特点嵌入式系统的特点 n(6)专门的开发工具和环境。专门的开发工具和环境。系统开发需要开发工具系统开发需要开发工具 和环境。由于其本身不具备自举开发能力,即使设计完成以后用户通常和环境。由于其本身不具备自举开发能力,即使设计完成以后用户通常 也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才也是不能对其中的程序功能进行修改
11、的,必须有一套开发工具和环境才 能进行开发。开发时往往有主机和目标机的概念,主机用于程序的开发,能进行开发。开发时往往有主机和目标机的概念,主机用于程序的开发, 目标机作为最后的执行机,开发时需要交替结合进行。目标机作为最后的执行机,开发时需要交替结合进行。 【自举(bootstrapping)一词来自于人都是靠自身的“自举”机构站立起 来的这一思想。计算机必须具备自举能力将自己所有的元件激活,以便 能完成加载操作系统这一目的,然后再由操作系统承担起那些单靠自举 代码无法完成的更复杂的任务。自举只有两个功能:加电自检和磁盘引 导。】 1.3 嵌入式系统的分类嵌入式系统的分类 (1)体系结构。普
12、林斯顿结构()体系结构。普林斯顿结构(冯诺依曼结构 )和哈佛结构)和哈佛结构 (2)指令集。)指令集。CISC(复杂指令系统)和(复杂指令系统)和RISC(精简指令系统)(精简指令系统) (见表(见表1-2, P4) (3)嵌入式处理器种类。一般可以将嵌入式处理器分成)嵌入式处理器种类。一般可以将嵌入式处理器分成4类,即类,即 n嵌入式微处理器嵌入式微处理器(Micro Processor Unit,MPU) n嵌入式微控制器嵌入式微控制器(Micro Controller Unit,MCU单片机单片机) n嵌入式嵌入式DSP处理器处理器(Digital Signal Processor,DS
13、P) n嵌入式片上系统嵌入式片上系统(System On Chip,SoC) (见表(见表1-3, P5) 冯冯诺依曼结构诺依曼结构 :单一存储、统一编址、分时复用:单一存储、统一编址、分时复用 哈佛结构:分开存储、独立编址、两倍带宽、效率更高哈佛结构:分开存储、独立编址、两倍带宽、效率更高 CISC vs RISC 1.4 嵌入式系统的应用嵌入式系统的应用 (1)工业控制)工业控制 基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已 经有大量的经有大量的8、16、32 位嵌入式微控制器在应用中,网络化是提位嵌入式微控制器在应用中,网络
14、化是提 高生产效率和产品质量、减少人力资源主要途径,如工业过程控高生产效率和产品质量、减少人力资源主要途径,如工业过程控 制、数字机床、电力系统、电网安全、电网设备监测、石油化工制、数字机床、电力系统、电网安全、电网设备监测、石油化工 系统。就传统的工业控制产品而言,低端型采用的往往是系统。就传统的工业控制产品而言,低端型采用的往往是8位单位单 片机。但是随着技术的发展,片机。但是随着技术的发展,32位、位、64位的处理器逐渐成为工业位的处理器逐渐成为工业 控制设备的核心,在未来几年内必将获得长足的发展。控制设备的核心,在未来几年内必将获得长足的发展。 (2)交通管理)交通管理 在车辆导航、流
15、量控制、信息监测与汽车服务方面,嵌入式系在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系 统技术已经获得了广泛的应用,内嵌统技术已经获得了广泛的应用,内嵌GPS模块、模块、GSM模块的移动模块的移动 定位终端已经在各种运输行业获得了成功的使用。目前定位终端已经在各种运输行业获得了成功的使用。目前GPS设备设备 已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以 随时随地找到你的位置。随时随地找到你的位置。 1.4 嵌入式系统的应用嵌入式系统的应用 (3)信息家电)信息家电 这将称为嵌入式系统最大的应用领域,冰箱、空调等的网络化
16、、这将称为嵌入式系统最大的应用领域,冰箱、空调等的网络化、 智能化将引领人们的生活步入一个崭新的空间。即使你不在家里,智能化将引领人们的生活步入一个崭新的空间。即使你不在家里, 也可以通过电话线、网络进行远程控制。在这些设备中,嵌入式也可以通过电话线、网络进行远程控制。在这些设备中,嵌入式 系统将大有用武之地。系统将大有用武之地。 (4)家庭智能管理系统)家庭智能管理系统 水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中 嵌有的专用控制芯片将代替传统的人工检查,并实现更高,更准嵌有的专用控制芯片将代替传统的人工检查,并实现更高,更准
17、确和更安全的性能。目前在服务领域,如远程点菜器等已经体现确和更安全的性能。目前在服务领域,如远程点菜器等已经体现 了嵌入式系统的优势。了嵌入式系统的优势。 (5)POS网络及电子商务网络及电子商务 公共交通无接触智能卡公共交通无接触智能卡(Contactless Smartcard, CSC)发行系发行系 统,公共电话卡发行系统,自动售货机,各种智能统,公共电话卡发行系统,自动售货机,各种智能ATM终端将全终端将全 面走入人们的生活,到时手持一卡就可以行遍天下。面走入人们的生活,到时手持一卡就可以行遍天下。 1.4 嵌入式系统的应用嵌入式系统的应用 (6)环境工程与自然)环境工程与自然 水文资
18、料实时监测,防洪体系及水土质量监测、堤坝安全,地水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地 震监测网,实时气象信息网,水源和空气污染监测。在很多环境震监测网,实时气象信息网,水源和空气污染监测。在很多环境 恶劣,地况复杂的地区,嵌入式系统将实现无人监测。恶劣,地况复杂的地区,嵌入式系统将实现无人监测。 (7)国防与航天)国防与航天 嵌入式芯片的发展将使机器人在微型化,高智能方面优势更加嵌入式芯片的发展将使机器人在微型化,高智能方面优势更加 明显,同时会大幅度降低机器人的价格,使其在工业领域和服务明显,同时会大幅度降低机器人的价格,使其在工业领域和服务 领域获得更广泛的应用。领域获得
19、更广泛的应用。 1.5 嵌入式系统的发展嵌入式系统的发展 纵观嵌入式系统的发展历程,大致经历了以下纵观嵌入式系统的发展历程,大致经历了以下3个阶段个阶段 : n以嵌入式微处理器为基础的初级嵌入式系统以嵌入式微处理器为基础的初级嵌入式系统 n以嵌入式操作系统为标志的中级嵌入式系统以嵌入式操作系统为标志的中级嵌入式系统 n以以Internet和实时多任务操作系统为标志的高和实时多任务操作系统为标志的高 级嵌入式系统级嵌入式系统 发展趋势发展趋势 嵌入式技术与嵌入式技术与Internet技术的结合正在推动着嵌入式技术的技术的结合正在推动着嵌入式技术的 飞速发展,为嵌入式市场展现了美好的前景,同时也对
20、飞速发展,为嵌入式市场展现了美好的前景,同时也对 嵌入式生产厂商提出了新的挑战,未来嵌入式系统的几嵌入式生产厂商提出了新的挑战,未来嵌入式系统的几 大发展趋势:大发展趋势: (1)嵌入式系统的开发成了一项系统工程,开发厂商不仅)嵌入式系统的开发成了一项系统工程,开发厂商不仅 要提供嵌入式软硬件系统本身,同时还要提供强大的硬要提供嵌入式软硬件系统本身,同时还要提供强大的硬 件开发工具和软件支持包。件开发工具和软件支持包。 (2)网络化、信息化的要求随着)网络化、信息化的要求随着Internet技术的成熟和带技术的成熟和带 宽的提高而日益突出,以往功能单一的设备如电话、手宽的提高而日益突出,以往功
21、能单一的设备如电话、手 机、冰箱、微波炉等功能不再单一,结构变得更加复杂,机、冰箱、微波炉等功能不再单一,结构变得更加复杂, 网络互联成为必然趋势。网络互联成为必然趋势。 发展趋势发展趋势 (3)未来的嵌入式设备为了适应网络发展的要求,必然要求)未来的嵌入式设备为了适应网络发展的要求,必然要求 硬件上提供各种网络通信接口。传统的单片机对于网络支持硬件上提供各种网络通信接口。传统的单片机对于网络支持 不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除 了支持了支持TCP/IP协议,还有的支持协议,还有的支持IEEE1394、USB、CAN、
22、Bluetooth或或IrDA通信接口中的一种或者几种,同时也需要通信接口中的一种或者几种,同时也需要 提供相应的通信组网协议软件和物理层驱动软件。软件方面提供相应的通信组网协议软件和物理层驱动软件。软件方面 系统系统内核支持网络模块,甚至可以在设备上嵌入系统系统内核支持网络模块,甚至可以在设备上嵌入Web浏浏 览器,真正实现随时随地用各种设备上网。览器,真正实现随时随地用各种设备上网。 (4)精简系统内核,优化关键算法,降低功耗和软硬成本。)精简系统内核,优化关键算法,降低功耗和软硬成本。 (5)提供更加友好的多媒体人机交互界面。)提供更加友好的多媒体人机交互界面。 1.6 通用计算机与嵌入
23、式系统对比通用计算机与嵌入式系统对比 硬件平台比较 软件平台比较 返回 2. STM32简介简介 nSTM32系列基于专为要求高性能、低成本、低功耗的系列基于专为要求高性能、低成本、低功耗的 嵌入式应用专门设计的嵌入式应用专门设计的ARM Cortex-M3内核。内核。 n按性能分成两个不同的系列:按性能分成两个不同的系列:STM32F103“增强型增强型” 系列和系列和STM32F101“基本型基本型”系列。系列。 n增强型系列时钟频率达到增强型系列时钟频率达到72MHz,是同类产品中性能,是同类产品中性能 最高的产品;基本型时钟频率为最高的产品;基本型时钟频率为36MHz,以,以16位产品
24、位产品 的价格得到比的价格得到比16位产品大幅提升的性能,是位产品大幅提升的性能,是16位产品位产品 用户的最佳选择。用户的最佳选择。 n两个系列都内置两个系列都内置32K128K的闪存,不同的是的闪存,不同的是SRAM 的最大容量和外设接口的组合。时钟频率的最大容量和外设接口的组合。时钟频率72MHz时,时, 从闪存执行代码,从闪存执行代码,STM32功耗功耗36mA,是,是32位市场上位市场上 功耗最低的产品,相当于功耗最低的产品,相当于0.5mA/MHz。 2. STM32简介简介 n2.1 历史历史 n2.2 产品介绍产品介绍 n2.3 Cortex-M3内核内核 n2.4 应用应用
25、2.1 STM32历史历史 n意法半导体意法半导体 (STMicroelectronics) 集团于集团于1987年年6月月 成立,是由意大利的成立,是由意大利的SGS 微电子公司和法国微电子公司和法国 Thomson 半导体公司合并而成。半导体公司合并而成。1998年年5月,月,SGS- THOMSON Microelectronics 将公司名称改为意法半将公司名称改为意法半 导体有限公司导体有限公司,意法半导体是世界最大的半导体公司之意法半导体是世界最大的半导体公司之 一。从成立之初至今,一。从成立之初至今,ST 的增长速度超过了半导体工的增长速度超过了半导体工 业的整体增长速度。自业的
26、整体增长速度。自1999年起,年起,ST 始终是世界十始终是世界十 大半导体公司之一。大半导体公司之一。 n2007年年6月月ST宣布了她的第一款基于宣布了她的第一款基于Cortex-M3并内并内 嵌嵌32K128K闪存的闪存的STM32微控制器系列产品。微控制器系列产品。 nARM公司在公司在2004年推出了年推出了CM3内核,经过内核,经过5年市场的年市场的 积累,包括积累,包括ST公司、公司、TI公司等一些半导体公司推出了公司等一些半导体公司推出了 基于基于CM3内核的微控制器产品。内核的微控制器产品。 ARM nARM(Advanced RISC Machines)是英国的一家微)是英
27、国的一家微 处理器企业,处理器企业, 也可以认为是对一类微处理器的通称,也可以认为是对一类微处理器的通称, 还可以认为是一种技术的名字。还可以认为是一种技术的名字。 n见表见表1-5(P10) nARM体系结构定义了指令集和基于这一体系结构下处体系结构定义了指令集和基于这一体系结构下处 理器的编程模型。基于同样体系结构可以有多种处理理器的编程模型。基于同样体系结构可以有多种处理 器,每个处理器性能不同,所面向的应用也就不同。器,每个处理器性能不同,所面向的应用也就不同。 nARMv7有三个分支,即:有三个分支,即: A-应用分支,面向应用,如手持设备。应用分支,面向应用,如手持设备。 R-实时
28、分支,面向一般的实时控制。实时分支,面向一般的实时控制。 M-微处理机分支,面向深度嵌入系统。微处理机分支,面向深度嵌入系统。 ARM处理器系列处理器系列 2.2 Cortex-M3内核内核 Cortex-M3Cortex-M3系列微处理器的主要特点如下:系列微处理器的主要特点如下: (1 1)Thumb-2 Thumb-2 指令集架构指令集架构(ISA, Instruction Set Architecture)。 (2 2)哈佛处理器架构,在加载)哈佛处理器架构,在加载/ /存储数据的同时能够执行指令取指。存储数据的同时能够执行指令取指。 (3 3)三级流水线。)三级流水线。 (4 4)3
29、2 32 位单周期乘法。位单周期乘法。 (5 5)具备硬件除法。)具备硬件除法。 (6 6)ThumbThumb状态和调试状态。状态和调试状态。 (7 7)处理模式和线程模式。)处理模式和线程模式。 (8 8)ISRISR(Interrupt Service Routine)的低延迟进入和退出。的低延迟进入和退出。 (9 9)可中断)可中断- -可继续的可继续的LDM/STMLDM/STM(批量传输数据的指令 ),),PUSH/POPPUSH/POP。 (1010)ARMv6ARMv6类型类型BE8/LEBE8/LE支持。支持。 (字节不变式大端模式big-endian /小端模式little
30、-endian) (1111)ARMv6 ARMv6 非对齐访问。非对齐访问。 (1212)分支预测功能)分支预测功能 关于指令集关于指令集 nCortexM3处理器采用处理器采用ARMv7-M架构,它包括所有的架构,它包括所有的16位位 Thumb指令集和基本的指令集和基本的32位位Thumb-2指令集架构,指令集架构,Cortex-M3 处理器不能执行处理器不能执行ARM指令集。指令集。 nThumb-2在在Thumb指令集架构(指令集架构(ISA)上进行了大量的改进,它)上进行了大量的改进,它 与与Thumb相比,具有更高的代码密度并提供相比,具有更高的代码密度并提供16/32位指令的更
31、高位指令的更高 性能。性能。 n为兼容数据总线宽度为为兼容数据总线宽度为16位的应用系统,位的应用系统,ARM体系结构除了支持体系结构除了支持 执行效率很高的执行效率很高的32位位ARM指令集以外,同时支持指令集以外,同时支持16位的位的Thumb 指令集。指令集。 nThumb指令集是指令集是ARM指令集的一个子集,是针对代码密度问题指令集的一个子集,是针对代码密度问题 而提出的,它具有而提出的,它具有16位的代码宽度。与等价的位的代码宽度。与等价的32位代码相比较,位代码相比较, Thumb指令集在保留指令集在保留32位代码优势的同时,大大的节省了系统位代码优势的同时,大大的节省了系统 的
32、存储空间。的存储空间。 Cortex-M3只支持最新的只支持最新的Thumb-2指令集,这样设计的指令集,这样设计的 优势在于:优势在于: n免去免去Thumb和和ARM代码的互相切换,对于早期的处理器来说,代码的互相切换,对于早期的处理器来说, 这种切换会降低性能。这种切换会降低性能。 nThumb-2指令集的设计是专门面向指令集的设计是专门面向C语言的,切包括语言的,切包括If/Then 结构、硬件除法以及本地位域操作。结构、硬件除法以及本地位域操作。 nThumb-2指令集允许用户在指令集允许用户在C代码层面维护修改程序。代码层面维护修改程序。 nThumb-2指令集也包含了调用汇编代码
33、的功能。指令集也包含了调用汇编代码的功能。 综合以上优势,新产品的开发将更易于实现,上市时间综合以上优势,新产品的开发将更易于实现,上市时间 也大为缩短。也大为缩短。 三级流水线三级流水线-取指、译码、执行取指、译码、执行 关于工作状态关于工作状态 Coretx-M3处理器有处理器有2种工作状态。种工作状态。 nThumb状态:这是状态:这是16位和位和32位位“半字对齐半字对齐”的的 Thumb和和Thumb-2指令的执行状态。指令的执行状态。 n调试状态:处理器停止并进行调试,进入该状态。调试状态:处理器停止并进行调试,进入该状态。 关于工作模式关于工作模式 Cortex-M3处理器支持处
34、理器支持2种工作模式:线程模式和处理模式。种工作模式:线程模式和处理模式。 n在复位时处理器进入在复位时处理器进入“线程模式线程模式”,异常返回时也会进入,异常返回时也会进入 该模式,特权和用户(非特权)模式代码能够在该模式,特权和用户(非特权)模式代码能够在“线程模线程模 式式”下运行。下运行。 n出现异常模式时处理器进入出现异常模式时处理器进入“处理模式处理模式”,在处理模式下,在处理模式下, 所有代码都是特权访问的。所有代码都是特权访问的。 关于中断关于中断 nCortex-M3的一个创新在于嵌套中断向量控制器的一个创新在于嵌套中断向量控制器 (NVIC ,Nested Vectored
35、 Interrupt Controller),), 是是Cortex-M3内部的独有集成单元。内部的独有集成单元。 nNVIC 提供如下的功能:提供如下的功能: n可嵌套中断支持可嵌套中断支持 n向量中断支持向量中断支持 n动态优先级调整支持动态优先级调整支持 n中断延迟大大缩短中断延迟大大缩短 n中断可屏蔽中断可屏蔽 ARM数据存储格式数据存储格式 nCortex-M3 处理器能够以小端格式或大端格式处理器能够以小端格式或大端格式 访问存储器中的数据字,而访问代码时始终使访问存储器中的数据字,而访问代码时始终使 用小端格式。用小端格式。 n小端格式是小端格式是 ARM 处理器默认的存储器格式
36、。处理器默认的存储器格式。 2.3 产品介绍产品介绍 n在在STM32F105和和STM32F107互连型系列微控制器之互连型系列微控制器之 前,意法半导体已经推出前,意法半导体已经推出STM32基本型系列、增强型基本型系列、增强型 系列、系列、USB基本型系列、增强型系列;新系列产品沿基本型系列、增强型系列;新系列产品沿 用增强型系列的用增强型系列的72MHz处理频率。内存包括处理频率。内存包括64KB到到 256KB闪存和闪存和 20KB到到64KB嵌入式嵌入式SRAM。 n新系列采用新系列采用LQFP64、LQFP100和和LFBGA100三种封三种封 装,不同的封装保持引脚排列一致性,
37、结合装,不同的封装保持引脚排列一致性,结合STM32平平 台的设计理念,开发人员通过选择产品可重新优化功台的设计理念,开发人员通过选择产品可重新优化功 能、存储器、性能和引脚数量,以最小的硬件变化来能、存储器、性能和引脚数量,以最小的硬件变化来 满足个性化的应用需求。满足个性化的应用需求。 nLQFP也就是薄型QFP(Low-profile Quad Flat Package) 指封装本体厚度为1.4mm的QFP,是日本电子机械工业 会制定的新QFP外形规格所用的名称。 nQFP封装:这种技术的中文含义叫四方扁平式封装技术 (Quad Flat Package),该技术实现的CPU芯片引脚之
38、间距离很小,管脚很细。一般大规模或超大规模集成电路 采用这种封装形式,其引脚数一般都在100以上。该技术 封装CPU时操作方便,可靠性高;而且其封装外形尺寸 较小,寄生参数减小,适合高频应用;该技术主要适合用 SMT表面贴装技术在PCB上安装布线。 nLFBGA封装 :也就是薄型FBGA nFBGA( Fine-Pitch Ball Grid Array:细间距球栅阵列) 是一种在底部有焊球的面阵引脚结构, 使封装所需的安 装面积接近于芯片尺寸。BGA是英文Ball Grid Array Package的缩写, 即球栅阵列封装。 2.3 产品介绍产品介绍 n基本型:基本型:STM32F101R
39、6, STM32F101C8, STM32F101R8, STM32F101V8, STM32F101RB, STM32F101VB n增强型:增强型:STM32F103C8, STM32F103R8, STM32F103V8, STM32F103RB,STM32F103VB, STM32F103VE, STM32F103ZE STM32型号的说明型号的说明 以以STM32F103RBT6这个型号的芯片为例,该型号的组成为这个型号的芯片为例,该型号的组成为7 个部分,其命名规则如下:个部分,其命名规则如下: nSTM32:STM32代表代表ARM Cortex-M3内核的内核的32位微控制器。
40、位微控制器。 nF:F代表芯片子系列。代表芯片子系列。 n103:103代表增强型系列。代表增强型系列。 nR:R这一项代表引脚数,其中这一项代表引脚数,其中T代表代表36脚,脚,C代表代表48脚,脚,R代代 表表64脚,脚,V代表代表100脚脚,Z代表代表144脚。脚。 nB:B这一项代表内嵌这一项代表内嵌Flash容量,其中容量,其中6代表代表32K字节字节Flash, 8代表代表64K字节字节Flash,B代表代表128K字节字节Flash,C代表代表256K字字 节节Flash,D代表代表384K字节字节Flash,E代表代表512K字节字节Flash。 nT:T这一项代表封装,其中这
41、一项代表封装,其中H代表代表BGA封装,封装,T代表代表LQFP封封 装装,U代表代表VFQFPN封装。封装。 n6:6这一项代表工作温度范围,其中这一项代表工作温度范围,其中6代表代表-40-85, 7代表代表-40-105。 STM32F103RBT6封装引脚图封装引脚图 2.4 STM32F103性能性能 nSTM32F系列属于中低端的系列属于中低端的32位位ARM微控制器,该系微控制器,该系 列芯片是意法半导体(列芯片是意法半导体(ST)公司出品,其内核是)公司出品,其内核是 Cortex-M3。 n该系列芯片按片内该系列芯片按片内Flash的大小可分为三大类:的大小可分为三大类: n
42、小容量(小容量(16K和和32K)、)、 n中容量(中容量(64K和和128K)、)、 n大容量(大容量(256K、384K和和512K)。)。 n芯片集成有芯片集成有USB,CAN,最多,最多8个定时器,个定时器,2个个ADC, SPI,IIC,USB,UART等多种功能。等多种功能。 2.4 STM32F103性能性能 n内核:内核:ARM32位位Cortex-M3 CPU,最高工作频率,最高工作频率72MHz, 1.25DMIPS/MHz。单周期乘法和硬件除法。单周期乘法和硬件除法。 n存储器:存储器:片上集成片上集成32512KB的的Flash存储器。存储器。6 64KB的的SRAM
43、存储器。存储器。 n时钟、复位和电源管理:时钟、复位和电源管理:2.0 3.6V的电源供电和的电源供电和I/O接口的驱动电接口的驱动电 压;上电压;上电/断电复位;断电复位;4 16MHz的晶振;内嵌出厂前调校的的晶振;内嵌出厂前调校的8MHz RC振荡电路;内部振荡电路;内部40kHz的的RC振荡电路;用于振荡电路;用于CPU时钟的时钟的PLL (Phase Locked Loop,锁相环);带校准用于锁相环);带校准用于RTC(real-time clock)的)的32kHz的晶振。可编程电压检测(的晶振。可编程电压检测(PVD)。)。 n低功耗:低功耗:3种低功耗模式:休眠,停止,待机模
44、式。为种低功耗模式:休眠,停止,待机模式。为RTC和备份和备份 寄存器供电的寄存器供电的VBAT(电池引脚)。(电池引脚)。 n调试模式:调试模式:串行调试(串行调试(SWD)和)和JTAG接口。接口。 nDMA (Direct Memory Access):12通道通道DMA控制器。支持的外设:控制器。支持的外设: 定时器,定时器,ADC,DAC,SPI,IIC和和UART。 n2个个12位的位的us级的级的A/D转换器(转换器(16通道)通道):A/D测量范围:测量范围:0-3.6 V。 双采样和保持能力。片上集成一个温度传感器。双采样和保持能力。片上集成一个温度传感器。 2.4 STM3
45、2F103性能性能 n2通道通道12位位D/A转换器转换器: STM32F103xC,STM32F103xD,STM32F103xE独有。独有。 n最多高达最多高达112个的快速个的快速I/O端口端口:根据型号的不同,有:根据型号的不同,有26,37,51, 80,和,和112的的I/O端口,所有的端口都可以映射到端口,所有的端口都可以映射到16个外部中断向个外部中断向 量。除了模拟输入,所有的都可以接受量。除了模拟输入,所有的都可以接受5V以内的输入。以内的输入。 n最多多达最多多达11个定时器个定时器:4个个16位定时器,每个定时器有位定时器,每个定时器有4个个 IC/OC/PWM或者脉冲
46、计数器。或者脉冲计数器。2个个16位的位的6通道高级控制定时器:通道高级控制定时器: 最多最多6个通道可用于个通道可用于PWM输出。输出。2个看门狗定时器(独立看门狗个看门狗定时器(独立看门狗 和窗口看门狗)。和窗口看门狗)。Systick定时器:定时器:24位倒计数器。位倒计数器。2个个16位基本位基本 定时器用于驱动定时器用于驱动DAC。 n最多多达最多多达13个通信接口个通信接口:2个个IIC接口。接口。5个个USART接口。接口。3个个SPI 接口,两个和接口,两个和IIS复用。复用。CAN接口(接口(2.0B)。)。USB 2.0全速接口。全速接口。 SDIO接口。接口。 nECOP
47、ACK封装封装:STM32F103xx系列微控制器采用系列微控制器采用ECOPACK封封 装形式(装形式(一种无铅的BGA封装 )。)。 2.5 应用应用 返回 3. 教学开发板教学开发板 返回 4 工程模板的建立工程模板的建立 4.1 ARM Cortex-M3处理器编程环境处理器编程环境 需要准备的资料需要准备的资料: n1. STM32F10 x_StdPeriph_Lib_V3.5.0 (这是这是 ST官网下载的固件库完整版官网下载的固件库完整版) n2. 安装安装MDK4.70a (Keil) n3. 注册注册License(破解破解,如果不破解只能支持如果不破解只能支持32K 的代
48、码的代码) 安装成功后,桌面上安装成功后,桌面上Keil4显示图标显示图标 n固件库是压缩文件,解压缩后,准备编程时用。固件库是压缩文件,解压缩后,准备编程时用。 4.2 新建工程 输入工程名,保存 选择CPU,STM32F103VB n弹出对话框弹出对话框“Copy STM32 Startup Code to project .”,询问是否添加启动代码到我们的工程中,询问是否添加启动代码到我们的工程中, 这里我们选择这里我们选择“否否”,因为我们使用的,因为我们使用的ST固件库文固件库文 件已经包含了启动文件。件已经包含了启动文件。 n接下来,在接下来,在Template工程目录下面,新建工
49、程目录下面,新建3个个 文件夹文件夹 CORE, USER, STM32F10 x_FWLib。 nUSER用来放我们主函数文件用来放我们主函数文件main.c,以及其他以及其他 包括包括system_stm32f10 x.c 等等,等等, nCORE用来存放启动文件等,用来存放启动文件等, nSTM32F10 x_FWLib文件夹顾名思义用来存放文件夹顾名思义用来存放 ST官方提供的库函数源码文件。官方提供的库函数源码文件。 n还可以新建一个还可以新建一个OUTPUT文件夹,用来放。文件夹,用来放。 HEX等编译输出的文件。等编译输出的文件。 n下面要将官方的固件库包里的源码文件复制到 我们
50、的工程目录文件夹下面。 n我们只用到我们只用到arm目录下面的目录下面的startup_stm32f10 x_md.s文文 件,这个文件是针对中等容量芯片的启动文件。件,这个文件是针对中等容量芯片的启动文件。 n其他两个主要的为其他两个主要的为startup_stm32f10 x_ld.s为小容量,为小容量, startup_stm32f10 x_hs.c为大容量芯片的启动文件。这为大容量芯片的启动文件。这 里里copy进来是方便其他开发者使用小容量或者大容量芯进来是方便其他开发者使用小容量或者大容量芯 片的用户。片的用户。 将目录下面的将目录下面的src、inc文件夹文件夹copy到到STM
51、32F10 x_FWLib 文件夹下面。文件夹下面。src存放的是固件库的存放的是固件库的.c文件,文件,inc存放的是存放的是 对应的对应的.h文件,每个外设对应一个文件,每个外设对应一个.c文件和一个文件和一个.h头文件。头文件。 下面将这些文件加入我们的工程中去。右键点击下面将这些文件加入我们的工程中去。右键点击Target1, 选择选择Manage Components Project Targets一栏,将一栏,将Target名字修改为名字修改为Template,然后然后 在在Groups一栏删掉一个,建立三个一栏删掉一个,建立三个Groups:USER, CORE, FWLIB.
52、点击点击OK. n下面我们往Group里面添加我们需要的文件。 右键点击点击Tempate,选择选择Manage Components. 然后选择需要添加文件的Group, 这里第一步我们选择FWLIB,然后点击右边的 Add Files,定位到我们刚才建立的目录 STM32F10 x_FWLib/src下面,将里面所有的 文件选中(Ctrl+A),然后点击Add,然后Close. 可以看到Files列表下面包含我们添加的文件 n下面我们点击编译按钮下面我们点击编译按钮 编译工程,编译工程, 可以看到很多报错,因为找不到库文件。可以看到很多报错,因为找不到库文件。 n下面要告诉MDK,在哪些路径之下搜索相应的文件。 n回到工程主菜单,点击魔术棒, 出来一个菜单,然后点击 c/c+选项.然后点击Include Paths右边的按钮。弹出一个添加path的对话框,然后 我们将图上面的3个目录添加进去。记住,keil只会在 一级目录查找,所以如果你的目录下面还有子目录, 记得path一定要定位到最后一级子目录。然后点击OK. n重新定位到c/c+界面,然后copy “STM32F10X_MD,USE_STDPERIPH_DRIVER”到 Define里面。 在编译之前,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- oled产业就业机会
- 2026年幼儿园保健医急救知识
- AI在古建筑工程技术中的应用
- 浙教版小学信息科技三年级上册第四单元开展在线学习教学设计
- 原材料入库管理办法
- 公关服务公司档案保管期限管理制度
- 2026电商项目面试题及答案
- 2026动画面试题库及答案解析
- 工业机器人维修合同协议(2026年电子厂)
- 成品储罐区无组织VOC管控升级改造项目可行性研究报告模板拿地申报
- 2026年高考新高考二卷英语试卷附答案(新课标卷)
- 初中数学九年级下册《投影与视图》单元整体教学设计 -2
- 2026年云南省职教高考电工技术类《电工基础理论知识》考试核心题库
- 素养导向的深度学习设计:人教版九年级化学第五单元《化学方程式》导学案
- 2026年重点高中中考自主招生英语试卷试题(含答案详解)
- 2026年音乐制作入门音乐理论与制作基础试题
- 有限空间安全培训内容
- 文书模板-两用物项出口管制内部合规制度运行情况说明
- 碳排放核算师职业资格考试大纲含答案
- 35KV变电站应急预案
- 2025年中级选煤工《理论知识》考试真题(含解析)
评论
0/150
提交评论