嵌入式期末复习

复习好不了一点!!!!

 

 (早日暴毙!!!)

第一章1嵌入式的定义:

pcb是通用的计算机,嵌入式系统是“专用计算机应用系统”他具有一般计算机组成共性,也是由硬件和软件组成。嵌入式系统一般由嵌入式微处理器、存储与 I/O 部分、外设与执行部分、嵌入式软件等

四个部分组成。

嵌入式微处理器的基础是通用计算机中的CPU,是嵌入式系统的核心。

嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点

3、简述嵌入式系统产品的设计和开发过程。

答:① 在嵌入式系统的开发过程中,一般采用的方法是首先在通用 PC 机上的集成开发环境中编程;② 然后通过交叉编译和链接,将程序转换成目标平台(嵌入式系统)可以运行的二进制代码;③ 接着通过嵌入式调试系统调试正确;④ 最后将程序下载到目标平台上运行

2嵌入式的主要组成部分:

嵌入式系统的组成主要由:嵌入式硬件系统、嵌入式软件系统。

(1)嵌入式硬件系统主要包括:嵌入式处理器、存储器、模拟电路、电源、接口控制器、接插件等

1)嵌入式处理器:是嵌入式系统的核心。嵌入式处理器与通用处理器最大的区别在于嵌入式CPU大多工作在为特定用户群设计的系统中。

2)存储器:静态易失型存储器(RAM、SRAM)、动态存储器(DRAM、SDRAM)、非易失型存储器(ROM、EPROM、EEPROM、Flash)。

3)嵌入式外围硬件设备:串口、以太网接口、USB、音频接口、液晶显示屏、摄像头等。

(2)嵌入式软件系统主要包括:底层驱动、操作系统、应用程序

1)底层驱动:实现嵌入式系统硬件和软件之间的接口。

2)操作系统:简称OS。实现系统的进程调度、任务处理。操作系统的核心是嵌入式处理器。

3)应用程序:实现系统功能的应用。

3嵌入式系统的分类:

一:哈弗体结构:哈佛结构数据空间和地址空间是分开的。

1、冯诺依曼体系结构:冯·诺依曼(VON-NEUMANN)型计算机最显著的特点是指令和数据共享内存,指令总线和数据总线共享。取指令和取数据通过同一个总线完成。CPU 取指令和取数据不能同时进行。

区别:两者的主要区别在于数据空间和程序空间是否分开。地址空间的编辑方式不一样哈弗是数据总线,指令地址是分开的,分别遍历的同时独立访问,从而提高处理器(CPU)的运行速度。取址,取数据方便。

ARM 处理器系列中 ARM7 采用 VON NEUMANN 体系结构,而 ARM9 以上采用的HARVARD 体系结构。

RISC是精简指令集计算机的缩写,其目标是设计出在高时钟频率下单周期执行,简单而有效的指令集。ARM内核采用RISC体系结构,因此具有RISC的结构特点:

具有大量的通用寄存器;

独特的装载/保存(load-store)结构(ldr,str,ldm,stm);

简单的寻址模式;

统一和固定长度的指令格式。

嵌入式系统内核的分类

1ARM体系结构和VLSI实现技术特点把简单的硬件和指令集结合起来,这是RISC思想的基础; 但仍然保留一些CISC的特征,并且因此达到了比纯粹RISC更高的代码密度,使得ARM获得其功耗效率和较小的核面积。VLSI实现技术

arm概念(四个)1公司名字2.基于rise架构的体系结构3arm产品ip核4arm生产的器件

第二章ARM系列内核

2.1 什么是ARM?ARM是一家公司,只做CPU设计,采用出售IP的方式运行,半导体制造商,ARM同时是一种架构,一种结构体系,最新为ARM Cortex架构。

ARM体系结构特点

体积小,低功耗、成本低、高性能

支持Thumb(16位)与ARM(32位)双指令集,有良好的兼容性。

大量使用寄存器,执行速度快,数据操作在寄存器中完成,

共有37个寄存器,有7种不同的处理模式

寻址方式灵活简单,指令长度固定,执行效率高。

2.2 ARM指令集与Thumb指令集

ARM指令集特点:

为典型的精简指令集。固定32位指令宽度,指令结构十分规整,便于存储,传输,解析和执行。自ARM7开始加入了Thumb指令集。

Thumb指令集特点:

Thumb指令集是精简的16位指令集。只能完成32位标准ARM大部分功能,但是它的16位设计可以有效减少二进制代码的大小,降低对存储器容量的要求,而降低成本。但使得整个CPU更加负载,尤其是开发人员必须谨慎处理两类指令集模式的切换。

corter:A:CortexTM-A8处理器简介:该处理器是ARM公司所开发的基于ARMv7架构的首款应用级处理器,其特色是运用了可增加代码密度和加强性能的技术、可支持多媒体以及信号处理能力的NEONTM技术、以及能够支持Java和其他文字代码语言的提前和即时编译的Jazelle@RTC技术。      众多先进的技术使其适用于家电以及电子行业等各种高端的应用领域。

R:CortexTM-R4处理器简介:该处理器是首款基于ARMv7架构的高级嵌入式处理器,其主要目标为产量巨大的高级嵌入式应用系统,如硬盘,喷墨式打印机,以及汽车安全系统等等。

CortexTM-R4F处理器简介:  该处理器在CortexTM-R4处理器的基础上加入了代码错误校正(ECC)技术,浮点运算单元(FPU)以及aDMA综合配置的能力,增强了处理器在存储器保护单元、缓存、紧密耦合存储器、DMA访问以及调试方面的能力。

M:CortexTM-M3处理器简介: 该处理器是首款基于ARMv7-M架构的处理器,采用了纯Thumb2指令的执行方式,具有极高的运算能力和中断响应能力。Cortex-M3主要应用于汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域。目前最便宜的基于该内核的ARM单片机售价为1美元。

第二章corter-M3工作模式和工作状态

工作模式:1处理模式:异常、中断。代码和执行权限只有一种

2线程模式:正常执行模式。代码和执行权限有特权级和非特权级,默认:特权级线程模式

俩种堆栈指针、寄存器不同FSP\PSP

线程模式:进程堆栈FSP\PSP

处理模式:主堆栈PSP

工作状态:1thumb状态、正常执行状态2停机调试状态

寄存器总共有多少个

(1)通用寄存器组(16个): 

 

(2)特殊功能寄存器:

①程序状态寄存器组(PSRs或xPSR):

程序状态寄存器在其内部又被分为三个子状态寄存器(三合一寄存器):

应用程序PSR(APSR)、中断号PSR(IPSR)、执行PSR(EPSR)

为什么需要执行状态寄存器EPSR ?

LDM、 STM和If-then指令, 为多周期指令, 如果在执行以上多周期指令时发生异常, 处理器会暂时停止以上指令的操作, 进入异常,这时需要保护现场。

②中断屏蔽寄存器组(PRIMASK,FAULTMASK,BASEPRI):

用于控制异常的使能和除能,特权级下才允许访问

③控制寄存器(CONTROL):

用于特权模式选择和堆栈指针选择

8、Cortex-M3处理器架构

集成了内核和高级系统外设的分级处理器

Cortex-M3内核:哈佛体系结构、拥有分支预测功能的三级流水线、ThumbR-2指令集和传统的Thumb指令集、带有硬件除法和单信号周期乘法的ALU。

Cortex-M3处理器:Cortex-M3内核、可配置的中断控制器、总线矩阵、先进的调试组件■可选择的 MPU & ETM

Thumb2指令集特点:

​ Thumb2在前面两者之间取了一个平衡,兼有二者的优势, 当一个操作可以使用一条 32位指令完成时就使用 32位的指令,加快运行速度,而当一次操作只需要一条16位指令完成时,就使用16位的指令,节约存储空间。

总线矩阵用来将处理器和调试接口与外部总线相连。总线矩阵与下面的外部总线相连:

I-Code 总线,该总线用于从代码空间取指令和向量,是32位AHB-Lite总线。

D-Code 总线,该总线用于对代码空间进行数据加载/存储以及调试访问,是32位AHB-Lite总线。

系统总线,该总线用于对系统空间执行取指令和向量,数据加载/存储以及调试访问,是32位AHB-Lite总线。

PPB总线(外部专用外设总线),该总线用于对PPB空间进行数据加载/存储以及调试访问,是32位APB(v3.0)总线。

总线矩阵还对以下方面进行控制:1非对齐访问。总线矩阵将非对齐的处理器访问转换为对齐访问。2Bit-banding位带操作。总线矩阵将位带别名访问转换为对位带区的访问。3缓冲区。总线矩阵包含一个单入口写缓冲区,该缓冲区使得处理器内核不受到总线延迟的影响。

存储器格式小端高放高

Cortex-M3通常是以小端格式访问代码, 小端格式是ARM 处理器的默认存储器格式。

支持位带操作的区域就是位带区

位带别名区就是为位带区服务的,对位带别名区的操作最终都会反映在位带区上,我们操作位带别名区的时候就等价于在操作位带区地址。

为什么要使用位带操作?一个是因为访问速度快,另一个是因为安全。

Cortex-M3的内核结构:

是32位处理器内核,采用哈佛结构,拥有独立的指令总线和数据总线,可并行访问,地址统一分配编址。使用一个3级流水线:取指令、译码和执行

     正常操作过程中,在执行一条指令的同时对下一条(第二条)指令进行译码,并将第三条指令从存储器中取出。

 

从用户级到特权级的唯一途径就是异常

异常优先级:

软件优先级高于硬件

占先优先级作用:中断嵌套

内部资源框图

 

第三章时钟系统

3种低功耗模式:1待机最低2停止3睡眠

注:设定时钟一般步骤:① 使能(包括不被旁路)② 等待就绪③ 切换至目标时钟(默认是 HSI)

系统时钟:

简述STM32时钟的类型。

答:STM32提供了三种不同的时钟源,其都可被用来驱动系统时钟SYSCLK,这三种时钟源分别

1 HSI振荡器时钟: HSI时钟信号由内部8MHz的RC振荡器产生,可直接作为系统时钟或在2分频后作为PLL输入。 HSI RC振荡器能够在不需要任何外部器件的条件下提供系统时钟。它的启动时间比HSE晶体振荡器短。然而,即使在校准之后它的时钟频率精度低

 2 HSE振荡器时钟:HSE外部晶体/陶瓷谐振器,精度高。HSE用户外部时钟:

 3 PLL时钟:如果需要在应用中使用USB接口,PLL必须被设置为输出48或72MHZ时钟,用于提供48MHz的USBCLK时钟。

外部时钟:LSE时钟LSE晶体是一个32.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟或者其他定时功能提供一个低功耗且精确的时钟源。 LSE晶体通过在备份域控制寄存器(RCC_BDCR)里的LSEON位启动和关闭。

内部时钟:LSI时钟LSI RC担当一个低功耗时钟源的角色,它可以在停机和待机模式下保持运行,为独立看门狗和自动唤醒单元提供时钟。LSI时钟频率大约40kHz(在30kHz和60kHz之间)。LSI RC可以通过控制/状态寄存器(RCC_CSR)里的LSION位来启动或关闭。

三种复位:

1系统复位2上电复位3备份区域复位

第四章:控件库函数的命名规则

没有字符串变量

第五章:GPIO八个工作模式:入浮空 ─ 输入上拉 ─ 输入下拉 ─ 模拟输入 ─ 开漏输出 ─ 推挽式输出 ─ 推挽式复用功能 ─ 开漏复用功能。四个输入四个输出

22.STM32的GPIO的配置模式有那几种?如何进行配置模式的配置?8种

1.GPIO_Mode_AIN模拟输入2.GPIO_Mode_IN_FLOATING浮空输入3.GPIO_Mode_IPD下拉输入

4.GPIO_Mode_IPU上拉输入5.GPIO_Mode_Out_OD开漏输出6.GPIO_Mode_Out_PP推挽输出

7.GPIO_Mode_AF_OD复用开漏输出8.GPIO_Mode_AF_PP复用推挽输出

七个GPIO寄存器的功能:1端口配置低寄存器(GPIOx_CRL) (x=A..E)。2端口配置高寄存器(GPIOx_CRH) (x=A..E)。3端口输入数据寄存器(GPIOx_IDR) (x=A..E)。4端口输出数据寄存器(GPIOx_ODR) (x=A..E)。5端口位设置/清除寄存器(GPIOx_BSRR) (x=A..E)。6端口位清除寄存器(GPIOx_BRR) (x=A..E)。7 端口配置锁定寄存器(GPIOx_LCKR) (x=A..E)

这七个需要按子访问不容许按字节访问

第七章串口

异步串行通信数据帧:帧结构四个部分:起始位,数据位奇偶位停止位

 

比特率=波特率×单个调制状态对应的二进制位数

如果使用的是9600的波特率,其串口的比特率为

9600Bps×1bit = 9600bps

查询方式发送,中断接收

第八章:

简述STM32中TIM功能特点。STM32提供了高级控制定时器TIM1/8,通用定时器TIM2~5,基本定时器TIM6/7。这几个定时器都是由可编程预分频器驱动的16 位自动装载计数器构成。它们都可以做一些基本的定时,还可以做PWM输出或者输入捕获。除此之外,高级控制定时器具有刹车输入,互补输出和重复次数计数器功能,基本定时器具有触发DAC同步电路的功能。

定时器的类型: STM32中一共有11个定时器,其中2个高级控制定时器18,4个普通定时器2345和2个基本定时器67,以及2个看门狗定时器和1个系统嘀嗒定时器SysTick。全部计数分辨率16位可以产生DMA。预分频系数1~65535。定时器的计数类型:

基本定时器:只有向上定时

高级控制定时器、通用定时器:1向上/下定时(中央对齐定时器)2向上、3向下;

高级控制定时器、通用定时器:还有四个通道:捕获/比较通道4

高级控制定时器:有互补输出

6.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为   向上计数  模式、  向下计数   模式和 向上下计数  模式。

定时时间的计算

1、 PSC = 72-1,定时器频率=72M/(PSC+1)=1MHZ

2、 ARR = 1000-1,从0计数到999,则计了1000次

3、中断周期T = 1000 *1/1000000 = 1mS

5.STM32的NVIC管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现  时延  的中断处理,并有效地处理  后到中断  。

第十章ADC的工作原理

12位ADC是一种逐次逼近型模拟数字转换器。12位二进制数字,精度和分辨率。2.4~3.6V

工作模式:ADC的输入时钟不得超过14M兆Hz

ADC主要特征:● 12位分辨率 ● 转换结束、注入转换结束和发生模拟看门狗事件时产生中断 ● 单次和连续转换模式 ● 从通道0到通道n的自动扫描模式 ● 自校准 ● 带内嵌数据一致性的数据对齐 ● 采样间隔可以按通道分别编程 ● 规则转换和注入转换均有外部触发选项 ● 间断模式 ● 双重模式(带2个或以上ADC的器件) ● ADC转换时间: ─ STM32F103xx增强型产品:时钟为56MHz时为1μs(时钟为72MHz为1.17μs) ● ADC供电要求:2.4V到3.6V ● ADC输入范围:VREF- ≤ VIN ≤ VREF+ ● 规则通道转换期间有DMA请求产生。

有16个多路通道。可以把转换组织成两组:规则组和注入组。在任意多个通道上以任意顺序进行的一系列转换构成成组转换。分组扫描

●规则组最多达16个转换组成(16个通道)。规则通道和它们的转换顺序在ADC_SQRx寄存器中选择。规则组中转换的总数应写入ADC_SQR1寄存器的L[3:0]位中。  

●注入组由多达4个转换组成。注入通道和它们的转换顺序在ADC_JSQR寄存器中选择。注入组里的转换总数目应写入ADC_JSQR寄存器的L[1:0]位中。

转换方式:1单次转换模式2连续转换模式3间断转换(适用于短序列的转换)4扫描转换

每个ADC有18个通道包含16个外部通道,2个内部通道、一个是内部温度传感器一个内部参考电压源通道

支持左对齐或者右对齐的方式,注入要校位

猜你喜欢

转载自blog.csdn.net/weixin_56316833/article/details/131117711