嵌入式知识点整理
嵌入式知识点整理

1、定义国内:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
国际:嵌入式系统是“控制、监视或辅助设备、机器和车间运行的装置”。
2、嵌入式系统的特点:(1)专用的计算机系统(2)体积小、功耗小(3)高可靠性和实用性(4)高效的软硬件设计(5)软件固化在半导体存储器中(6)无自举开发能力3、嵌入式处理器的类型:(1)微控制器(2)嵌入式微处理器(3)DSP处理器(4)片上系统4、操作系统包含的功能:(1)多任务管理(2)存储器管理(3)设备管理(4)文件管理5、ARM微处理器的特点:(1)采用精简指令集(RISC)结构(2)支持双指令集(3)对指令的执行采用了多级流水线技术(4)采用加载/存储模式及多寄存器结构(5)指令长度固定,寻址方式灵活,对于存储器和I/O接口的访问采取统一编址(6)支持多种运行模式(7)具有协处理器接口,能够连接多个协处理器共同工作(8)潜入了在线仿真ICE-RT逻辑,可以使用JTAG来仿真调试ARM微处理器6、ARM指令集:复杂指令集和精简指令集。
复杂指令集是指字啊早起的计算机设计中,为了使目标程序尽可能的优化,从而增加了许多功能复杂的指令。
精简指令集通过简化指令系统的复杂程度,简化指令实现的硬件电路,使硬件只执行有限的最常用部分的指令。
8、精简指令集体系结构的特点:(1)在CPU内部大量使用通用寄存器(2)微处理器仅处理CPU中寄存器的数据,在存储器中的数据需先通过加载指令渠道CPU的寄存器,然后进行处理,处理完后再使用存储指令传送回存储器中(3)主要选择使用平率高但不复杂的指令形成指令合集(4)固定指令的长度,简化指令的译码(5)采用流水线技术,以提高CPU的工作频率和利用效率9、ARM7采用3级流水线结构;ARM9采用5级流水线结构; ARM10采用6级流水线结构;ARM11采用8级流水线;Cortex-A9则采用13级流水线/10、ARM微处理器的运行模式:(1)用户模式(2)普通中断模式(3)快速中断模式(4)系统模式(5)管理模式(6)数据访问中止模式(7)未定义指令中止模式11、ARM微处理器的内部一共使用了37个32位的寄存器,其中31个为通用寄存器,剩余的6个为程序状态寄存器。
嵌入式系统知识点

嵌入式系统知识点1.什么是嵌入式系统。
2.嵌入式系统三要素3.嵌入式处理器的类型4.大端存储格式的规则是______;小端存储格式的规则是。
5.ARM是______的处理器,有_____个工作状态,工作在_____状态时,执行的是32位指令集,工作在_____状态时,执行的是16位指令集。
_____指令集是_____指令集的子集。
6.ARM有_____种工作模式。
它们的名称和缩写分别是:()。
其中特权模式是指:(),异常模式又是指:()。
当前工作模式状态及设置是由_____寄存器中的M[4:0]五位决定的,每种模式对应的M[4:0]值是:()。
7.ARM的异常中断有_____种,它们的名称是:(),对应的中断入口地址是:(),默认的优先级是:()。
8.ARM核内共有_____寄存器,分_____、_____两类。
按工作模式不同可分_____个寄存器组。
在ARM状态时的寄存器有:所有模式下均能访问的寄存器是();除()模式外均能访问寄存器R0-R12,()模式只使用自己的专用寄存器R8-R12;在()模式中,每个模式均有自己的R13、R14、SPSR 寄存器。
其中R13是作_____寄存器共_____个、R14是作_____寄存器共_____个、R15是作_____寄存器共_____个。
在Thumb状态下的寄存器:通用寄存器是_____,有_____组;SP堆栈指针寄存器共有_____个,LR_____寄存器共有_____个;PC_____寄存器有_____个,CPSR_____寄存器有_____个,SPSR_____寄存器有_____个。
9.ARM7系列是_____级流水线,即_____、_____、_____。
程序计数器R15(PC)总是指向取指的指令,因此PC总是指向第_____条指令。
对于ARM指令有: PC值=当前程序执行位置+_____;对于Thumb指令有: PC值=当前程序执行位置+_____。
嵌入式涵盖量的知识点

嵌入式涵盖量的知识点一、知识概述《嵌入式涵盖量的知识点》①基本定义:嵌入式系统简单说就像是把计算机系统“塞”到其他东西里,让那个东西有智能的能力。
比如智能手表,里面有小芯片那些东西就是嵌入式系统的一部分,它涵盖量呢,就是关于嵌入式系统里能包含的知识、技术之类的总量。
②重要程度:在如今科技发达、智能化设备到处都是的时代,嵌入式相关技术很关键。
它在智能家电、汽车电子、工业控制等好多领域都起着核心的作用。
可以说如果没有嵌入式技术,很多智能化设备就像是没有脑子的躯壳,啥复杂点的事儿都干不了。
③前置知识:对于一些基本电路知识得有了解,像电路怎么连通啊,电阻电容是啥啊这种。
还有基本的编程知识,比如说C语言之类的,就跟学开车得先知道一些交通规则和操作汽车的基本方法一样,这些前置知识是走进嵌入式世界的入门钥匙。
④应用价值:像智能电视,通过嵌入式技术能实现联网、智能推荐节目之类的功能。
在工业上,那些自动化的设备靠嵌入式系统才能精确控制生产流程,更有效率地制造产品,这就可以赚钱啊,提升竞争力啥的。
二、知识体系①知识图谱:在电子信息整个学科里面,嵌入式涵盖量的知识点就像是一个汇总中心。
硬件知识啊、软件知识啊好多方面的知识最终都汇到这儿了。
②关联知识:和微控制器知识紧密相关,就像人的大脑和身体各个器官的关系,微控制器就是嵌入式系统的一个关键零件。
还有软件开发知识,没有软件,嵌入式系统就没灵魂了,跟一个空壳似的。
③重难点分析:- 掌握难度:有点高呢。
因为它既涉及硬件又涉及软件,硬件有各种芯片、电路啥的,软件又得各种编程调试。
就像要同时精通厨师做菜(硬件)和餐厅管理(软件),两个完全不同方向的事儿。
- 关键点:硬件方面你得搞清楚各种芯片怎么选型,电源设计合不合理等。
软件那就得把程序编写得高效稳定,能适应不同的使用环境。
④考点分析:- 在考试里,如果是高校的相关专业考试,肯定是比较重要的部分。
- 考查方式:有时候出硬件选型题,给一些设备功能要求,选合适的芯片之类的。
嵌入式知识点总结

嵌入式知识点总结嵌入式系统是指以特定功能为目标,嵌入到更大的系统中运行的计算机系统。
它由硬件和软件组成,常用于各种领域的应用,如家电、通信设备、汽车电子等。
下面将对嵌入式系统的一些重要知识点进行总结。
一、嵌入式系统的定义和特点1. 定义:嵌入式系统是指嵌入到其他设备或系统中,实现特定功能的计算机系统。
2. 特点:a. 实时性要求高:嵌入式系统中的任务通常需要在严格的时间约束内完成。
b. 系统资源受限:嵌入式系统通常具有较小的存储容量和计算能力。
c. 硬件与软件紧密结合:嵌入式系统的硬件和软件是一体化设计,相互依赖。
d. 专用性强:嵌入式系统针对特定应用设计,功能和性能需要满足特定需求。
二、嵌入式系统的架构和组成1. 架构:嵌入式系统的架构可分为单处理器架构和多处理器架构。
2. 组成:a. 处理器:常见的处理器包括ARM、MIPS等。
处理器决定了系统的性能和能耗。
b. 存储器:包括内部存储器(ROM、RAM)和外部存储器(Flash、SD卡)。
c. 输入输出设备:如键盘、显示器、传感器等。
d. 总线:用于连接处理器、存储器和输入输出设备的数据传输通道。
e. 实时操作系统:提供任务调度和资源管理功能,保证系统具备实时性。
三、嵌入式系统开发流程1. 系统需求分析:明确系统的功能、性能和接口要求。
2. 系统设计:包括硬件设计和软件设计,确定系统各个模块的功能和接口。
3. 系统开发:根据设计进行硬件和软件的开发,包括原型制作和调试过程。
4. 系统测试和验证:对系统进行功能验证、性能测试和稳定性测试。
5. 系统维护:对系统进行维护和升级,保证系统的可靠性和稳定性。
四、关键技术和应用1. 嵌入式编程:使用特定的编程语言(如C/C++)进行系统软件的开发。
2. 实时操作系统(RTOS):提供任务调度和资源管理功能,保证系统具备实时性。
3. 通信技术:包括UART、SPI、I2C等用于设备间的数据交换与通信。
4. 传感器技术:用于采集环境数据,如温度、湿度、压力等。
嵌入式知识点总结

第一部分:嵌入式系统定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式系统的产生:嵌入式系统来源于单片机系统,微型机嵌入到对象体系统中实现智能控制,嵌入式系统系统应运而生。
嵌入式系统的特点:1 面向特定应用,2 可裁减,3处理器体系结构和类型多样化,4大多都有实时操作系统,5 一般有实时性要求,6资源比较少,7 软件固化在存储器芯片中,8 通常要求功耗小,9 集成度高,10嵌入式系统本身不具备自举开发能力。
嵌入式系统的组成:1,硬件平台2,板级支持包(BSP )3,操作系统4,应用程序嵌入式系统的应用领域:图像、网络、汽车、无线、MCU、消费电子、工业控制、火控系统、飞行控制系统、测试仪器、医疗设备、游戏机。
嵌入式系统的发展方向:1,对处理器要求越来越高,2,软件变得愈加复杂和重要,3,设计复杂度急剧增加。
32位CPU的需求驱动力●更复杂的控制算法●快速复制带来矢量浮点●有效的编译支持●网络/ 因特网通讯●基于标准的软件(TCP/IP)●符合市场需求的RTOS 支持●更成熟的人机界面●LCD 控制面板、触屏式界面●操作系统支持,如WinCE、Symbian、Linux 等第二部分:嵌入式系统硬件平台的组成:嵌入式处理器、存储器件、外设接口。
嵌入式系统CPU的特点:1 对实时多任务操作系统具有很强的支持能力,2具有功能很强的存储区保护功能。
3 处理器结构可扩展4 低功耗。
嵌入式系统CPU的分类:嵌入式微控制器EMCU、嵌入式微处理器EMPU、嵌入式DSP处理器EDSP、嵌入式片上系统ESoC各种类CPU的概念与特点:MCU芯片内集成了ROM/EEPOM、RAM、总线、总线逻辑、I/O等必要功能和外设。
与MPU比,单片化、体积小,功耗、成本低,可靠性高,,能节省系统开支、降低出错概率和减少高频干扰适合控制系统。
DSP(Digital Signal Processor)专用于信号处理,采用哈佛体系结构,指令系统特殊,具有较高的编译效率和指令执行速度。
嵌入式系统相关知识点总结

嵌入式系统相关知识点总结嵌入式系统(Embedded Systems)是一种专门设计和用途的计算机系统,用于控制设备和机器的各个方面,通常被嵌入到所控制的设备中。
嵌入式系统是一个开放的领域,涵盖了面向硬件和软件的多个方面。
在本文中,我将总结一些与嵌入式系统相关的重要知识点。
一、嵌入式系统的基础知识:1.什么是嵌入式系统:嵌入式系统是一种专门设计和用途的计算机系统,被嵌入到所控制的设备中。
2.嵌入式系统的特点:实时性、可靠性、功耗低、体积小、成本低、资源有限等。
3.嵌入式系统的分类:实时嵌入式系统、网络嵌入式系统、移动嵌入式系统、无线嵌入式系统等。
4.嵌入式系统的组成:硬件平台(处理器、内存、输入输出接口等)和软件平台(操作系统、驱动程序等)。
二、嵌入式系统的硬件知识:1. 存储器:RAM(随机访问存储器)、ROM(只读存储器)、Flash memory(闪存)等。
2.处理器:常见的处理器包括ARM、MIPS、x86等,需要根据应用需求选择适合的处理器。
3.输入输出接口:串口、并口、USB、以太网等用于与外设通信。
4.性能优化:资源有限的嵌入式系统需要优化性能和资源利用,例如使用中断处理、多任务处理等技术。
三、嵌入式系统的软件知识:1. 操作系统(OS):嵌入式系统通常使用实时操作系统(RTOS),如FreeRTOS、Linux、VxWorks等,用于管理任务、内存、进程和资源。
2.设备驱动程序:用于控制和管理硬件设备,例如串口驱动、触摸屏驱动等。
3.编程语言:C/C++是嵌入式系统开发中常用的编程语言,还有汇编语言适用于对性能要求较高的关键模块。
4.软件开发工具:编译器、调试器、仿真器等用于嵌入式软件的开发和调试。
四、嵌入式系统的开发流程:1.系统需求分析:明确系统的功能、性能、成本等需求,并进行需求分析和规划。
2.硬件设计与开发:选择合适的硬件平台,设计硬件电路,并进行原型制作和测试。
3.软件设计与开发:进行软件系统的设计和开发,包括操作系统选择、驱动程序编写、应用程序开发等。
嵌入式的有关知识

嵌入式的有关知识1.什么是嵌入式?嵌入式的定义与特点?(1) 嵌入式系统的定义按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。
“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。
对象系统则是指嵌入式系统所嵌入的宿主系统。
(2) 嵌入式系统的特点嵌入式系统的特点与定义不同,它是由定义中的三个基本要素衍生出来的。
不同的嵌入式系统其特点会有所差异。
与“嵌入性”的相关特点:由于是嵌入到对象系统中,必须满足对象系统的环境要求,如物理环境(小型)、电气/气氛环境(可靠)、成本(价廉)等要求。
与“专用性”的相关特点:软、硬件的裁剪性;满足对象要求的最小软、硬件配置等。
与“计算机系统”的相关特点:嵌入式系统必须是能满足对象系统控制要求的计算机系统。
与上两个特点相呼应,这样的计算机必须配置有与对象系统相适应的接口电路。
另外,在理解嵌入式系统定义时,不要与嵌入式设备相混淆。
嵌入式设备是指内部有嵌入式系统的产品、设备,例如,内含单片机的家用电器、仪器仪表、工控单元、机器人、手机、PDA 等。
2.什么是嵌入式系统嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
3.什么是嵌入式操作系统?与其他操作系统相比,嵌入式有那些优势?嵌入式操作系统EOS(Embedded Op eratingSystem)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。
EOS负责嵌入系统的全部软、硬件资源的分配、调度工作,控制协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。
嵌人式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
嵌入式知识点、完整版

1.章导论1.1嵌入式系统概念、ARM的特点、嵌入式软件1.3.3支持的流水等级1.5 Cortex-M处理器的内核架构STM32F103系列工作频率、供电电压范围、所支持的外设USB、ADC、ADC、GPIO2. 章Cortex-M3处理器1、Cortex-M3处理器位数、组成、支持几级流水线技术及架构2、Cortex-M3内核组成、工作模式、堆栈3、NVIC的功能、中断优先级、分组、函数初始化、所支持的IRQ中断3.章STM32最小系统设计3.1 从Cortex-M3到STM32F1031、STM32F103可驱动系统时钟(SYSCLK)的时钟源2、最小系统的组成3.2存储器与总线架构AHB 、APB1、APB2所挂外设、DMA的作用3.3中断和事件1、系统时钟(SYSCLK)、NIVC配置的优先权等级位数5.章通用和复用功能I/O5.1 GPIO功能描述1、GPIO的配置寄存器、数据寄存器、置位/复位寄存器等的个数2、GPIO端口可配置的输入、输出模式、表5-23、I/O端口寄存器被访问的方式4、复用端口初始化步骤、使能其时钟的函数6.定时器6.1 定时器的4个功能模块:时钟产生模块、时基单元、输入检测、输出比较6.2 时钟产生模块1、功能2、时钟源:AHB、APB、CK_INT之间的关系6.3 时基单元1、功能2、有关的寄存器:PSC、CNT、ARR、RCR、SR3、影子寄存器4、定时器的3钟计数模式:向上、向下、中央对齐及其特点5、定时器的设置:已知定时器时钟,设置PSC和ARR实现定时6、定时器的编程:定时器的初始化、开定时器中断、编写中断处理函数等6.4 输入捕获1、功能或基本原理2、有关寄存器:CNT、CCRx3、输入捕获与输出比较共享CCRx,不能同时使用4、输入捕获中断5、输入捕获的初始化6、改变输入捕获边沿的极性6.5 输出比较1、功能2、有关的寄存器:CNT、CCRx3、掌握输出比较模式与极性,有效电平与输出电平4、输出比较的编程:初始化:GPIO、GPIO重映射、时基单元、输出比较PWM:周期、占空比、改变占空比7、USART7.1 串行通信与并行通信的特点7.2 USART、1-wire、IIC、IIS、SPI7.3 USART数据传输和帧1、以字节为传输单位,帧为字节批量传输单位2、帧的构成7.4 流控7.5 开始位7.6 停止位7.7 奇偶校验和CRC校验7.8 分数分频器的设置/波特率7.9 发送和接收状态变化1、TDR和TXE2、RDR和RXNE3、移位寄存器和TC4、发送和接受数据5、发送和接收的函数6、中断标志读取函数7.10 USART编程1、USART的初始化1.1 GPIO口的设置1.2 USART初始化配置:波特率、硬件流控、USART模式(发送/接收)、奇偶校验、停止位长度、数据位长度(字长)1.3开USART中断8 SPI8.1 SPI接口的特点:同步串行、高位在前发送、环形总线、8/16位的数据帧、单主多从8.2 SPI接口的构成1、SCLK/SCK、SS2、MOSI3、MISO8.3 SPI移位发送数据的特点8.4 SPI的时序1、CPOL:空闲时电平2、CPHA:采样时刻8.5 SPI主模式/从模式的区别1、主模式负责提供SCK时钟2、MISO和MOSI的发送和接收9、IIC9.1 IIC总线的特点1、功能:IC间2、多主多从3、双向2线制9.2 IIC的术语1、发送器2、接收器3、主机4、从机5、多株机6、仲裁7、同步8、地址9、SCL和SDA9.3 IIC总线的传输特性1、数据有效性2、起始条件、停止条件3、重复起始信号:什么是重复起始信号?什么时候产生?4、应答和非应答:什么是应答和非应答?由谁产生5、空闲电平9.4 IIC通信1、IIC传输格式:起始信号、从机地址、数据、停止信号2、寻址字节:地址和读写方向3、仲裁和同步9.5 IIC编程1、引脚配置2、起始信号、停止信号、应答和非应答3、数据位的发送11章模拟数字模块1、模数转换的步骤、模数转换器所具有的通道个数及可测得的外部信号源个数2、模数转换器的特性3、ADC校准的方式、DAC初始化所对应的寄存器4、使能ADC的时钟函数及配置其引脚的输入模式、初始化函数5、温度传感器所连接的通道。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章一:嵌入式系统基础知识第二章一:CM31.Cortex-M3 是一个32 位处理器内核。
内部的数据路径是32 位的,寄存器是32 位的,存储器接口也是32 位的。
CM3 采用了哈佛结构,拥有独立的指令总线和数据总线。
2.程序计数寄存器R15 :程序计数寄存器,指向当前程序地址。
3.特殊功能寄存器(1)程序状态字寄存器组(PSRs)记录ALU 标志(0 标志,进位标志,负数标志,溢出标志),执行状态,以及当前正服务的中断号;(2)中断屏蔽寄存器组:PRIMASK 失能所有的中断、FAULTMASK 失能所有的fault、BASEPRI 失能所有优先级不高于某个具体数值的中断;(3)控制寄存器(CONTROL ),定义特权状态(见后续章节对特权的叙述),并且决定使用哪一个堆栈指针;4.Cortex-M3 处理器支持两种处理器的操作模式,还支持两级特权操作。
两种操作模式:(1)处理者模式(handler mode) 异常服务例程的代码—包括中断服务(2)线程模式(thread mode)普通应用程序的代码;两级特权:特权级和用户级,提供一种存储器访问保护机制,使得普通用户程序代码不能意外地,甚至是恶意地执行涉及到要害的操作。
复位后,处理器默认进入线程模式,特权级访问;a.在 CM3 运行主应用程序时(线程模式),既可以使用特权级,也可以使用用户级;但是异常服务例程必须在特权级下执行;b.在特权级下,程序可以访问所有范围的存储器,并且可以执行所有指令,包括切换到用户级;c.从用户级到特权级的唯一途径就是异常,用户级的程序必须执行一条系统调用指令(SVC)触发 SVC 异常,然后由异常服务例程接管,如果批准了进入,则异常服务例程修改 CONTROL 寄存器,才能在用户级的线程模式下重新进入特权级;5.异常以及异常类型异常:在 ARM 编程领域中,凡是打断程序顺序执行的事件,都被称为异常(exception) 。
包括:外部中断、不可屏蔽中断、指令执行了“非法操作”或者访问被禁的内存区间产生的各种错误 fault。
6.向量表向量表其实是一个 WORD(32 位整数)数组,每个下标对应一种异常,该下标元素的值则是该 ESR 的入口地址。
向量表在地址空间中的位置是可以设置的,通过 NVIC 中的一个重定位寄存器来指出向量表的地址。
在复位后,该寄存器的值为 0。
因此,在地址 0 处必须包含一张向量表,用于初始时的异常分配。
工作原理:举个例子,如果发生了异常 11(SVC ),则 NVIC 会计算出偏移移量是11x4=0x2C,然后从那里取出服务例程的入口地址并跳入。
要注意的是这里有个另类:0 号类型并不是什么入口地址,而是给出了复位后 MSP 的初值。
7.复位序列在离开复位状态后,CM3 做的第一件事就是读取下列两个 32 位整数的值:从地址 0x0000,0000 处取出 MSP 的初始值。
从地址0x0000,0004 处取出 PC 的初始值—— 这个值是复位向量,LSB必须是 1。
然后从这个值所对应的地址处取指。
在 CM3 中,在 0 地址处提供 MSP 的初始值,然后紧跟着就是向量表。
向量表中的数值是 32 位的地址,而不是跳转指令。
向量表的第一个条目指向复位后应执行的第一条指令。
8.流水线取指令、解码和执行。
9.CM3 指令集(1)32 位的ARM 状态:所有的指令均是32 位的(哪怕只是个”NOP ”指令),此时性能相当高;(2)16 位的Thumb 状态:所有的指令均是16 位的,代码密度提高了一倍。
不过,thumb 状态下的指令功能只是ARM 下的一个子集,结果可能需要更多条的指令去完成相同的工作,导致处理性能下降。
Cortex-M3 只使用Thumb -2 指令集。
这是个了不起的突破,因为它允许32位指令和16 位指令水乳交融,代码密度与处理性能两手抓,两手都硬。
而且虽然它很强大,却依然易于使用。
二:STM321.架构2.不懂需要写什么,自己找吧3.启动配置在 STM32F10xxx 里,可以通过 BOOT[1:0] 引脚选择三种不同启动模式。
根据选定的启动模式,主闪存存储器、系统存储器或 SRAM 可以按照以下方式访问:(1)从用户 FLASH 启动:主闪存存储器被映射到启动空间(0x0000 0000) ,但仍然能够在它原有的地址(0x0800 0000) 访问它,即闪存存储器的内容可以在两个地址区域访问,0x0000 0000 或 0x0800 0000 。
(2)从系统存储器启动:系统存储器被映射到启动空间(0x0000 0000) ,但仍然能够在它原有的地址(互联型产品原有地址为0x1FFF B000,其它产品原有地址为 0x1FFF F000)访问它。
(3)从嵌入式 SRAM 启动:只能在 0x2000 0000 开始的地址区访问 SRAM 。
4.STM32 的低功耗模式有 3 种(1)睡眠模式(CM3 内核停止,外设仍然运行);(2)停止模式(所有时钟都停止);(3)待机模式(1.8V 内核电源关闭);在这三种低功耗模式中,最低功耗的是待机模式,在此模式下,最低只需要2uA 左右的电流。
停机模式是次低功耗的,其典型的电流消耗在 20uA 左右。
最后就是睡眠模式了。
用户可以根据自己的需求来决定使用哪种低功耗模式。
5.安全特性STM32 还有一系列的安全特性来捕捉 STM32 发生软硬件运行错误的时刻,以下是 STM32 的一部分安全特性:(1)为了确保有一个可靠的电源供应,STM32 拥有内部复位电路,当电压低于 VDD 下限值时会将器件置于复位状态。
STM32 内部还有一个可编程的电压检测电路,可以在电源即将崩溃前检测到异常状况。
当检测到电源异常时,该电压检测电路将产生一个中断信号将STM32 器件锁定在一个安全的状态。
(2)STM32 带有的时钟安全系统(clock Security System,简称css)会监视 HSE振荡器,一旦 HSE 无法正常提供时钟脉冲,CSS 会强制 STM32 转而使用 HSl 振荡器。
(3)STM32 的两只看门狗会即时监测当前程序的运行状况,并在程序运转异常时对 STM32 产生一次复位操作(4)STM32 的片上 Flash 可以在85℃下保持 30 年数据不丢失,显著领先于其他同类微控制器。
STM32 可以胜任一些既要求对自身有安全性保障措施,又要求硬件尽量少的应用场合,比如航天工业和汽车电子系统。
从保持硬件简洁性、低成本的角度来看,STM32 微控制器达到的绝对是一个令人侧目的高度。
第三章1.外设的初始化和设置步骤1)在主应用文件中,声明一个结构 PPP_InitTypeDef,例如:PPP_InitTypeDef PPP_InitStructure;这里 PPP_InitStructure 是一个位于内存中的工作变量,用来初始化一个或者多个外设 PPP 。
2)为变量 PPP_InitStructure 的各个结构成员填入允许的值。
可以采用以下2 种方式:I)按照如下程序设置整个结构体PPP_InitStructure.member1 = val1;PPP_InitStructure.member2 = val2;PPP_InitStructure.memberN = valN;/* where N is the number of the structure members */以上步骤可以合并在同一行里,用以优化代码大小:PPP_InitTypeDef PPP_InitStructure = { val1, val2,.., valN}II)仅设置结构体中的部分成员:这种情况下,用户应当首先调用函数PPP_SturcInit(..) 来初始化变量PPP_InitStructure,然后再修改其中需要修改的成员。
这样可以保证其他成员的值(多为缺省值)被正确填入。
PPP_StructInit(&PPP_InitStructure);PP_InitStructure.memberX = valX;PPP_InitStructure.memberY = valY;/*where X and Y are the members the user wants to configure*/3)调用函数 PPP_Init(..) 来初始化外设 PPP 。
4)调用函数 PPP_Cmd(..)来使能外设。
PPP_Cmd(PPP, ENABLE);2.在设置一个外设前,必须调用以下一个函数来使能它的时钟:RCC_AHBPeriphClockCmd(RCC_AHBPeriph_PPPx, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_PPPx, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_PPPx, ENABLE);第四章1.STM32的时钟源HSE、HSI、LSE、LSI。
系统时钟源(SYSCLK):HSI、HSE、PLL:注:在激活 PLL 的设置时,必须先完成选择 HSI 振荡器除 2 或 HSE振荡器为 PLL 的输入时钟,和选择倍频因子。
RTC 时钟源(RTCCLK):LSE、LSI、经过 128 分频的 HSE 时钟当 HSE 时钟失效时,时钟安全系统将系统(CSS)时钟切换到 HSI。
通过软件使能,将该中断连接到 Cortex-M3 内核的 NMI 中断上。
在 MCO 引脚(PA.08)可将时钟输出。
最大可达 50MHz;多个时钟源可实现全速运行/低功耗模式下的复杂应用。
(1)外部高速振荡器 HSE:4MHz 到 16MHz 主振荡器,可通过 PLL 进行倍频用以提供宽广的频率范围。
可使用外部时钟信号(最大25MHz):设置时钟控制寄存器的 HSEBYP和 HSEON 位。
(2)内部高速 RC 振荡器 HSI:频率为 8MHz,温度在 0-70°C 时误差位为± 1%。
(3)外部低速振荡器 LSE: 32.768kHz 振荡器,提供一个极低功耗(最大 1µA)的精确的时钟。
可选用为驱动 RTC 从停止/待机模式中唤醒。
(4)内部低速 RC(LSI): 40KHz 的内部 RC,可用作 IWDG 和自动唤醒的 RTC 的时钟。
2.Css在实际应用中,经常出现由于晶体振荡器在运行中失去作用,造成微处理器的时钟源丢失,从而出现死机的现象,导致系统出错。
STM32 内部的 CCS 正是为解决出现这种问题而设计的。
一旦外部晶体振荡器(HSE)失效,CCS 系统将系统时钟源切换到 HSI。