嵌入式复习资料(精)

第一章嵌入式系统基础知识

1.嵌入式系统基础知识

计算机系统的两个发展分支

通用计算机与嵌入式计算机

嵌入式系统的一般定义、IEEE定义

一般定义:以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统。(技术角度)

嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。(系统角度)

广义定义:任何一个非计算机的计算系统。

IEEE(国际电气和电子工程师协会)定义:嵌入式系统是“用于控制、监视或者辅助操作的机器、设备或装置”。

嵌入式系统4个组成部分

嵌入式微处理器、外围硬件设备、嵌入式操作系统、用户应用程序

嵌入式系统的三个基本要素

嵌入性、专用性、计算机系统

嵌入式系统的软硬件特点

硬件方面:稳定性、低功耗、体积受限、看门狗电路、成本低、系统资源少

软件方面:实时性、可裁剪性、精简性、人机界面要求不高

嵌入式系统的硬件架构

以嵌入式处理器为中心,配置存储器、I/0设备、通信模块以及电源等必要的辅助接口组成。

嵌入式系统的硬件核心

嵌入式微处理器

嵌入式处理器的种类

嵌入式微处理器、嵌入式微控制器、嵌入式DSP、嵌入式SOC

S0C

SOC是指在单芯片上集成数字信号处理器、微控制器、存储器、数据转换器、接口电路等电路模块,可以直接实现信号采集、转换、存储、处理等功能。

2.嵌入式系统硬件

嵌入式微处理器的体系结构

冯诺依曼结构:单一的程序和数据总线。

哈佛结构:独立的程序和数据总线。

RISC(精简指令集计算机)的概念及思想精华

1979年,美国加州伯克利分校提出了RISC的概念,基本思想是尽量简化计算机指令功能,只保留那些功能简单,能在一个节拍内执行完成的指令,而把较复杂的功能用一段子程序实现。

RISC思想的精华就是通过简化计算机指令功能、简化计算机指令格式,使指令的平均执行周期减少,同时大量使用通用寄存器来提高计算机的工作主频,提高程序的速度。(通常,RISC计算机的速度是同等CISC计算机的3倍。)

ARM概念及ARM处理器系列产品

ARM(Advanced RISC Machines)是一个CPU内核。

ARM7系列(有ARM7TDMI、ARM720T、ARM7EJ-S)

ARM9系列(有ARM920T、ATM922T、ARM940T、ARM926EJ-S等)

ARM10、11系列

ARM Cortex系列(Cortex-A、Cortex-R、Cortex-M)

3.嵌入式软件及嵌入式操作系统

嵌入式系统软件架构

应用程序、协议线、嵌入式操作系统、板支持包/设备驱动、硬件

嵌入式操作系统的功能和架构

功能:任务调度、进程间通信、文件管理(可选)、中断处理、存储器管理(可选)

架构 Kernel: Memory Mgmt.、I/O System 、Network Stack 、Device Drivers 、File Systems

当前流行的嵌入式操作系统

Palm OS 、Windows CE 、Linux(uClinux) 、RT Linux、uC/OSⅡ、其它商业OS:QNX、VxWorks 等

第二章 CM3体系结构与STM32

1.CM3

Cortex-M3是一个32位处理器内核。CM3采用了哈佛结构,拥有独立的指令总线和数据总线。

程序计数寄存器R15的作用

指向当前程序地址

特殊功能寄存器类别和作用

程序状态字寄存器组:记录ALU标志(0标志、进位标志、负数标志、溢出标志)、执行状态以及当前服务的中断号。

中断屏蔽寄存器组:PRIMASK失能所有的中断、FAULTMASK失能所有的fault、BASEPRI失能所有优先级不高于某个具体数值的中断。

控制寄存器:定义特权状态,并且决定使用哪一个堆栈指针。

Cortex-M3处理器支持两种操作模式和两级特权操作

两种操作模式处理者模式:异常服务例程的代码——包括中断服务;

线程模式:普通应用程序的代码。

两级特权——特权级和用户级,提供一种存储器访问保护机制,使得普通用户程序代码不能意外地,甚至是恶意地执行涉及到要害的操作。

异常及包括的类型

在ARM编程领域中,凡是打断程序顺序执行的事件,都被称为异常。包括:外部中断、不可屏蔽中断、指令执行了“非法操作”或者访问被禁的内存区间产生的各种错误fault。

向量表及其工作工程

向量表是一个WORD(32位整数)数组,每个下标对应一种异常,该下标元素的值则是该ESR 的入口地址。向量表在地址空间中的位置是可以设置的,通过NVIC中的一个重定位寄存器来指出向量表的地址。在复位后,该寄存器的值为0。因此,在地址0处必须包含一张向量表,用于初始时的异常分配。

CM3的复位序列

在离开复位状态后,CM3做的第一件事就是读取下列两个32位整数的值:

从地址0x00000000处取出MSP的初始值

从地址0x00000004处取出PC的初始值——这个值是复位向量,LSB必须是1。然后从这个值所对应的地址处取指。

CM3的三级流水线

取指令、解码、执行

CM3指令集

Cortex-M3只使用Thumb-2指令集,允许32位指令和16位指令水乳交融,代码密度与处理性能两手抓。

2.STM32

架构

嵌入式复习资料(精)

STM32存储映射

代码区、片上SRAM、用户设备的存储映射、Cortex-M3寄存器启动配置

从用户FLASH启动、从系统存储器启动、从嵌入式SRAM启动STM32的低功耗模式有3种

睡眠模式(CM3内核停止,外设仍然运行)

停止模式(所有时钟都停止)

待机模式(1.8V内核电源关闭)

STM32的安全保障

内部复位电路、时钟安全系统、两只看门狗

第三章(P28) STM32程序设计

外设的初始化和设置步骤

在设置一个外设前,必须先使能它的时钟

第四章STM32电源、时钟及复位STM32电源配置

嵌入式复习资料(精)

STM32时钟源

HSE、HSI、LSE、LSI

实际应用中,经常出现由于晶振在运行中失去作用,导致系统出错。STM32内部的CCS解决了这种问题,一旦HSE失效,CCS系统将系统时钟源切换到HSI

启动模式

根据启动设置,可将用户Flash、系统Flash、内部SRAM映射到0x00000000起始的区域。

启动代码及其功能

嵌入式系统的启动还需要一段启动代码,类似于启动Pc时的BIOS,一般用于完成微控制器的初始化工作和自检。

功能:初始化堆栈、定义程序启动地质、中断向量表和中断服务程序入口地址,以及系统复位启动时,从启动代码跳转到用户main函数入口地址。

备份区域架构

嵌入式复习资料(精)

当TAMPER引脚上的信号的电平发生变化(从0变到1或从1变到0,取决于备份控制寄存器BKP_CR的TPAL位),会产生一个入侵检测事件。

cf:固件库:软硬件结合。

第五章STM32F10x标准外设

重点:GPIO、NVIC、通用定时器Timer2的时基单元

1.RVMDK 不要求掌握

2.C语言指针和构造数据类型

构造数据类型:数组、指针、结构体、枚举、共用体

3.GPIO

嵌入式复习资料(精)

GPIO的4种输入和4种输出模式

4种输入:浮空输入、带上拉电阻的输入、带下拉电阻的输入、模拟输入4种输出:开漏输出、推挽输出、复用推挽输出、复用开漏输出

STM32时钟树设置(P346 10分)

STM32库函数

嵌入式复习资料(精)

4. SysTick

SysTick,“系统节拍时钟”,属于ARM Cortex-M3内核的一个“内设”。

SysTick的组成

时钟的输入源、控制寄存器、私有外设总线

SysTick工作原理

首先SysTick 从时钟源接口获得时钟驱动,然后从重装寄存器将重装值读入当前计数寄存器,并在时钟驱动下进行减一计数。而当SysTick 发生下溢的时候将计数标志置位,并在满足一定条件的情况下出发SysTick 溢出中断,同时进行一次重装值载入操作。

5. USART通用同步异步收发器(不考)

配置串口通讯,至少需要设置:字长、波特率、奇偶校验位、停止位

3条线:Rx、Tx、GND

6.NVIC(不考EXTI)

概念

中断响应

当某个中断来临,会将相应的中断标志位置位。当CPU查询到这个置位的标志位时,将响应此中断,并执行相应的中断服务函数。

中断优先级

每个中断都具有其优先级,其相互之间的优先关系一般以优先级编号较小者拥有较高优先级。优先级又分为两种:查询优先级和执行优先级。

查询优先级和执行优先级

当某一时刻有两个或两个以上中断处于挂起状态,则首先执行执行优先级较高的中断。若执行优先级一致,则首先执行查询优先级较高的中断。查询优先级一般以该中断向量在中断向量表中的位置决定。

中断嵌套

当某个执行优先级较低的中断服务在执行时另一个执行优先级较高的中断来临,则当前优先级较低的中断被打断,CPU转而执行较高优先级的中断服务。

中断挂起

当某个较高执行优先级的中断服务在执行时另一个优先级较低的中断来临,则因为优先级的关系,较低优先级中断无法立即获得相应,则进入挂起状态(即等待执行)。

NVIC嵌套中断向量控制器同Systick定时器一样,NVIC属于ARM Cortex-M3内核的内设之一,用来管理中断嵌套。

NVIC的先占优先级和次占优先级管理机制

嵌入式复习资料(精)

STM32只使用4位序列表示优先级分组,即最大只支持16级中断嵌套管理。

7.通用定时器

嵌入式复习资料(精)

STM32的定时器资源

高级定时器、通用定时器、基本定时器、“专用”定时器、内核Systick定时器

通用定时器组成

时基单元、输入捕获、输出比较(后两个不要求)

时基单元组成

计数器寄存器(TIMx_CNT)、预分频器寄存器(TIMx_PSC)、自动装载寄存器(TIMx_ARR)

影子寄存器(了解)

嵌入式复习资料(精)

独立看门狗(了解)

嵌入式复习资料(精)

ADC类型

逐次逼近型、积分型、压频转换型、较为高级的分级型和流水线型

相关文档