嵌入式复习大纲
第一章
1、嵌入式系统定义及概念:
嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统 2、嵌入式系统的特点:(3个)
1) 嵌入式系统通常是面向特定应用的;
2) 嵌入式系统功耗低、体积小、集成度高、成本低; 3) 嵌入式系统具有较长的生命周期; 4) 嵌入式系统具有固化的代码; 3、嵌入式处理器的分类:
1) 嵌入式微处理器(EMPU); 2) 嵌入式微控制器(EMCU); 3) 嵌入式DSP处理器(EDSP); 4) 嵌入式片上系统(ESoC)。 4、嵌入式系统的组成:
由硬件层、中间层、系统软件层和应用软件层组成。
(1)硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)
(2)硬件层与软件层之间为中间层,也称为硬件抽象层,该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。BSP具有以下两个特点。 (3)系统软件层由实时多任务操作系统、、文件系统、图形用户接口、网络系统及通用组件模块组成。 5、嵌入式操作系统:
嵌入式实时操作系统μC/OS-II、嵌入式Linux、Windows Embedded、VxWorks、pSOS、等,以及应用在智能手机和平板电脑的Android、iOS等 6、嵌入式系统的设计方法:(需交叉编译和调试环境)
(1)系统定义与需求分析 (2)系统设计方案的初步确立
(3)初步设计方案性价比评估与方案评审论证 (4)完善初步方案、初步方案实施 (5)软硬件集成测试
(6)系统功能性能测试及可靠性测试 第二章
1、ARM的CISC、RISC ARM7~ARM9
(1)CISC特点:复杂指令、各种类型的内存寻址方式、微程序结构、效率高
(2)RISC特点:固定指令长度、指令流水线处理、简化内存管理、硬件接线式控制、 单周期执行、复杂度存于编译程序内
(3)冯诺依曼结构:输入输出设备、运算器、控制器、存储器 主要贡献:提出并实现了“存储程序”的概念
2、ARM7:采用3级流水线结构,采用冯诺依曼结构(程序存储与数据存储统一编址) ARM9:采用5流水线结构,采用哈弗体系结构(程序存储器与数据存储器分开独立编 址)
ARM10:采用6流水线结构,采用哈弗体系结构
ARM11:采用8流水线结构,采用哈弗体系结构 3、ARM体系结构的技术特征:
(1)单调周期操作
(2)采用加载/存储指令结构 (执行速度快) (3)固定32位指令 (结构简单、效率高)
(4)地址指令格式 (三地址指令格式,优化代码) (5)指令流水线技术 (提高执行效率) 4、ARM的三种工作状态,如何标记?
(1)ARM状态:32位,ARM状态下执行字对准的32位ARM指令; (2) Thumb状态:16位,Thumb状态下执行半字对准的16位Thumb指令。在Thumb-2 状态下,内核兼有16位和32位指令
(3)调试状态:停机调试时,*cortex-M3只有Thumb-2状态和调试状态
处理器的当前状态寄存器CPSR的T位可标志出两种状态。当T位为0时是ARM状态,为1时是Thumb状态。
5、ARM 7 种功能模式:
(1)用户模式:正常用户模式,程序正常执行模式。
(2)FIQ模式:处理快速中断,支持高速数据传送或通道处理。 (3)IRQ模式:处理普通中断。
(4)SVC模式:操作系统保护模式,处理软件中断。
(5)中止模式:处理存储器故障,实现虚拟存储器和存储器保护。
(6)未定义模式:处理未定义的指令陷阱,支持硬件协处理器的软件仿真。 (7)系统模式:运行特权操作系统任务。
6、ARM共有37个寄存器,包括31个通用寄存器(含PC)和6个状态寄存器 7、7 个异常中断:
(1)复位异常reset。
(2)数据访问中止异常DABT (3)快速中断异常 FIQ (4)外部中断异常 IRQ
(5)指令预取中止异常 FABT
(6、7)软件中断异常SWI 和未定义的指令异常 8、ARM对异常中断的响应过程:
(1)保存处理器当前状态、中断屏蔽位以及各条件标志位; (2)设置当前程序状态寄存器CPSR中的相应位; (3)将寄存器lr_mode设置成返回地址;
(4)将程序计数器值PC,设置成该异常中断的中断向量地址,跳转到相应异常中断处 执行。
9、大端模式:32位的高字节存放在低地址中,低字节存放在高地址中
10、小端模式(系统复位默认):32位的高字节存放在高地址中,低字节存放在低地址中。 11、简述ARM7的内部寄存器R13、R14、R15的主要功能和作用:
R13、R14、R15都可以被ARM处理器当作通用寄存器和寻址访问;但在ARM处理器系统中R13也用作堆栈指针,R14用作链接寄存器,R15用作取指指针寄存器。
第三章
1、ARM指令的寻址方式:
1) 立即数寻址:在立即数寻址方式下,操作数本身直接在指令中给出,去除指令也就
获得了操作数,这个操作数也称为立即数。
2) 寄存器寻址:在寄存器寻址方式下,寄存器的值即为操作数。ARM指令普遍采用
这种寻址方式,由于直接和寄存器交换数据,其执行效率较高。
3) 寄存器移位寻址:寄存器移位寻址的操作数由寄存器的数值进行相应移位而得到;
移位的方式在指令中以助记符的形式给出,而移位的位数可用立即数或寄存器寻址方式表示。
4) 寄存器间接寻址:寄存器中的值为操作数的物理地址,这样的寻址方式称为寄存器
间接寻址。实际的操作数存放在存储器中,其地址由寄存器给出。 5) 基址变址寻址:将寄存器(称为基址寄存器)的值与指令中给出的偏移地址量相加,
所得的结果作为操作数的物理地址,这样的寻址方式称为基址变址寻址。
6) 相对寻址:相对寻址同基址变址寻址相似,区别只是将程序计数器PC作为基址寄
存器,指令中的标记作为地址偏移量。
7) 多寄存器寻址:在多寄存器寻址方式中,一条指令可实现一组寄存器值的传送。连
续的寄存器间用“-”连接,否则用“,”分隔。
8) 块复制寻址:块复制寻址可实现连续地址数据从存储器的某一位置复制到另一位
置。
9) 堆栈寻址:堆栈寻址用于数据栈与寄存器组之间批量数据传输。堆栈是一种后进先
出的数据结构,数据写入和读出内存的顺序不同,适用堆栈寻址可以很好地解决这个问题。
第四章
1、嵌入式系统中常用的C语言语句:P121 第六章
1、嵌入式的最小系统:
2、UART串行通信的过程:
第七章
1、叙述嵌入式系统Boot Loader概念、 功能和两个阶段(即:stage1和stage2)的启动步骤:
(1)概念:Boot Loader 是在操作系统内核运行之前运行的一段小程序。
(2)功能:通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从
而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内