运行等待就绪1、嵌入式计算机与通用计算机的区别与联系。通用计算机具有一般计算机的基本标准形态,通过装配不同的应用软件,以基本雷同的的面目应用在社会的各种领域,其典型产品为PC机;而嵌入式计算机,则是非通用计算机形态的计算机应用,它以潜入系统核心部件的形式隐藏在各种装置、设备、产品和系统中。因此,嵌入式计算机是一种计算机的存在形式,是从计算机技术的发展中分离出来的。2、嵌入式系统的定义。以应用为中心,以计算机技术为基础,软/硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。3、嵌入式系统的特点。(1)“专用”计算机系统(2)运行环境差异很大(3)比通用PC系统资源少(4)功耗低、体积小、集成度高、成本低(5)具有完整的系统测试和可靠性评估体系(6)具有较长的生命周期(7)需要专用开发工具和方法进行设计(8)包含专用调试电路(9)多科学知识集成系统4、嵌入式系统的组成结构(硬件系统和软件系统)。软件层次:1.应用层2.OS层3.BSP;硬件层次:1.电源管理2.存储器3.看门狗及复位电路4.输入/输出接口及专用设备5.人机交互设备、LCD、触摸屏、键盘、鼠标。5、嵌入式系统的基本开发流程。1.系统定义与需求分析阶段2.方案设计阶段3.详细设计阶段4.软硬件集成测试阶段5.系统功能性测试及可靠性测试阶段6、嵌入式系统的分类。商用型和免费型(Linux和μC/OS-Ⅱ)6、交叉开发环境。交叉开发是指在一台通用计算机上进行软件的编辑编译,然后下载到嵌入式设备中运行调试的开发方法,他通常采用宿主机/目标主机模式。交叉开发环境一般由运行于宿主机上的交叉开发软件、宿主机到目标机的调用通道组成。7、嵌入式系统的应用范围。汽车、工业控制、通信设备、消费电子、商业终端、航空航天、军事需求。8、嵌入式操作系统有哪些状态,它们的关系。运行状态,就绪状态,等待状态新进程结束9、常用的嵌入式操作系统。(1)uC/OS-II嵌入式操作系统。它是一个结构简单、功能完备和实时性很强的嵌入式操作系统内核。(2)WindowsCE操作系统。内核较小,具有便携性、提供对微处理器的选择以及非强行的电源管理功能。(3)VxWorks嵌入式实时操作系统。它内建了符合POSIX规范的内存管理,以及多处理器控制程序,并且具有简明易懂的用户接口。(4)Linux操作系统。它针对无MMU的处理器而设计,可以利用功能强大的Linux资源。10、缩写FLASH—闪存RTOS—实时操作系统realtimeoperatingsystemSoC—片上系统sysytemonchipSoPC—可编程片上系统systemonaprogrammablechipAPI—应用程序接口applicationprogramminginterfaceRISC—精简指令集计算机ReducedInstructionSetComputerI2S—集成音频接口IntegrateInterfaceofSoundI2C—微集成电路Inter-integratedCircuitUART—通用异步接收/发送装置UniversalAsynch.ReceiverTransmitterSWI—软中断SoftwareInterruptFIQ—快速中断请求FastInterruptRequestMMU—存储管理单元MemoryManagementUnit1、RISC体系结构的优缺点RISC相对于CISC的优点主要体现在体系结构和VLSI实现上:(1)硬连线的指令译码逻辑,加快指令执行速度,减少微程序码中的指令解释开销。(2)便于流水线执行。(3)大多数RISC指令为单周期执行。最终,满足对功能、可靠性、成本、体积、功耗有着严格要求的嵌入式系统。主要缺点体现在:(1)与CISC相比RISC的代码密度低,随意程序库较大。(2)RISC不能执行x86代码。(3)RISC给优化编译程序带来困难。2、ARM7TDMI是ARM公司最早为业界普遍认可且得到最为广泛应用的处理器核。ARM7:32位ARM体系结构4T版本。T:Thumb16位压缩指令集。D:支持片上Debug,使处理器能够停止以响应调试请求。M:增强型Multiplier,与前代相比具有较高的性能且产生64位的结果。I:EmbeddedICE硬件以支持片上断点和观察点。3、ARM73级流水线取指级:完成程序存储器中指令的读取,并放入指令流水线中。译码级:对指令进行译码,为下一周期准备数据路径需要的控制信号。只“占有”译码逻辑,不“占有”数据路径。执行级:指令“占有”数据路径,寄存器堆被读取,操作数在桶式移位器中被移位,ALU产生相应的运算结果并回写到目的寄存其中,ALU结果根据指令需求更改状态寄存器的条件位。4、ARM95级流水线取指,译码,执行,存储器,写。5、ARM处理器的工作状态(1)ARM状态。ARM状态下执行字对准的32位ARM指令。(2)Thumb状态。Thumb状态下执行半字对准16位Thumb指令集。两种状态间的切换:进入Thumb状态,当操作数寄存器Rm的状态位bit[0]为1时,执行“BXRm”指令进入Thumb状态。进入ARM状态,当操作数寄存器Rm的状态位bit[0]为0时,执行“BXRm”指令进入ARM状态。6、ARM寄存器组成37个寄存器,按用户编程中的功能划分:31个通用寄存器,都是32位的。6个状态寄存器,也是32位的,但是只使用其中的12位。7、ARM状态下的通用寄存器通用寄存器(R0~R15)可分为三类:未分组寄存器,R0~R7;分组寄存器,R8~R14;程序计数器,R15(PC)。8、分组寄存器R13、R14,程序计数器R15的意义。寄存器R13通常用作堆栈指针SP。每一种异常模式都有自己的物理R13。应用程序在对每一种异常模式进行初始化时,都要初始化下该模式下的R13,使其指向相应的堆栈。当退出异常处理程序时,将保存在R13所指的堆栈中的寄存器值弹出,这样使异常处理程序破坏被其中断的运行现场。寄存器R14用作子程序链接寄存器,也称LK。当程序执行子程序调用指令BL、BLX时,当前的PC将保存在R14寄存器中。当执行完子程序后,只要把R14的值复制道程序计数器PC中,子程序即可返回。寄存器R15被用作程序计数器,也称PC。可用作一般的寄存器,但是R15的值的改变会引起程序执行顺序的变化,也可能引起程序执行中出现不可预料的结果,所以R15的使用要慎重。其第0、1位总为0,PC[32:2]用于保存地址。9、异常终端的优先级。优先级如下:复位→数据异常中止→FIQ→IRQ→预取指异常终止→SWI、未定义指令10、ARM的七种工作模式。模式用途用户正常用户模式,程序正常执行模式FIQ处理快速中断,支持高速数据传送或通道处理IRQ处理普通中断SVC操作系统保护模式,处理软件中断(SWI)中止处理存储器故障,实现虚拟存储器和存储器保护未定义处理未定义的指令陷阱,支持硬件协处理器的软件仿真系统运行特权操作系统任务11、ARM的异常中断响应过程。(1)将CPSR的内容保存到简要执行的异常中断对应的SPSR中,以实现对处理器但前状态、中断屏蔽位以及各个标志位的保存。(2)设置当前状态寄存器CPSR中的响应位。(3)将寄存器LR_mode设置为异常返回地址returnlink,使异常处理程序执行完后能正确返回原程序。(4)给程序计数器PC强制赋值,是程序从相应的向量地址开始执行中断处理程序。12、ARM程序状态寄存器的格式。条件码标志位、保留位、控制位条件码的含义:N—在结果是带符号的二进制补码的情况下,如果结果为负数,则N=1;如果结果为非负数,则N=0。Z—如果结果为0,则Z=1;如果结果为非0,则Z=0.C—其设置分为以下几种情况:对于加法指令,如果产生进位,则C=1;否则C=0.对于减法指令,如果产生借位,则C=0;否则C=1.对于有移位操作的非加减法指令,C为移位操作中最后移出位的值。对于其他指令,C通常不变。V—其设置分为以下两种情况:对于加减法指令,在操作数和结果是带符号的整数时,如果发生溢出,则V=1;否则V=0.对于其他指令,V通常不发生变化。13、大/小端存储的区别,以及对数据的要求和影响。小端格式:较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址。大端格式:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。最小系统是什么。嵌入式最小系统是指由保证嵌入式微处理器可靠工作所必需的基本电路组成系统,通常包括处理器单元、时钟单元、复位单元、存储器单元、供电电源和调试接口。基于ARM的嵌入式最小系统基本组成主要包括:基于ARM核的微处中断在通常情况下,分为向量中断和非向量中断两种中断。所有非向量IRQ中断都具有一个入口地址和一样的优先级。当一个非向量IRQ中断在服务时,会屏蔽其他非向量IRQ中断。向量中断使用硬件方式完成中断源及ISR入口地址的确定,而所有非向量IRQ中断在中断发生后都进入一个统一的入口地址。μC/OS-Ⅱ的基本特点。(1)源码开放(2)可移植性(3)可裁剪(4)抢占式内核(5)可扩展的多任务(6)可确定的执行时间(7)中断管理(8)稳定性与可靠性μCLinux(micro-control-linux),针对控制领域而设计的Linux。μCLinux与标准Linux的最大区别在于内存管理。与内核功能相关的文件:(1)任务管理(2)同步通信(3)内存管理(4)时间管理为什么建立交叉编译器。交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。移植:移植就是使一个实时操纵系统能够在某个微处理器平台上或者微控制器上运行μCLinux移植包括3个层次的移植:处理器结构层次移植,芯片层次移植,板级移植。移植思路:开发环境确定以后,首先,要为uCLinux设计一个BootLoader,通过BootLoader来初始化硬件,引导uCLinux运行。BootLoader的设计可以在ads中或者Linux中实现。Linux/μCLinux设备分类:字符设备、块设备和网络设备。