1.什么是嵌入式系统,特点?SOC,SOPC的特点以应用为中心,以计算机技术为基础,软件、硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。特点:多样性、功耗低、体积小、可靠性、实时性、创新性、可裁剪性SOC可以大幅度地提高系统的可靠性,减少系统的面积,降低功耗和系统成本,极大地提高了系统的性能价格比。SOPC首先它是片上系统,即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。2.嵌入式处理器有哪几类?微控制器MCU,嵌入式微处理器MPU,数字信号处理器DSP,片上系统SOC,片上可编程系统SOPC3.嵌入式系统的硬件、软件各由哪些部分组成.硬件:基于ARM内核的微处理器(内含外围接口电路),电源电路,内存储器,看门狗及复位电路,人机交互和其他输入/输出接口电路组成。软件:由驱动层,OS层和应用层三部分组成。4.ARM微处理器有何特点,RISC处理器特征与指令特点特点:1.低功耗、低成本、高性能2.采用RISC体系结构3.大量使用寄存器4.高效的指令系统5.其他技术RISC处理器特征与指令特点:1.固定长度的指令格式,指令规整、简单、基本寻址方式有2-3种2.使用单周期指令,便于流水线操作执行3.大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令访问存储器,以提高指令的执行效率5.ARM的thumb指令的特点Thumb指令为16位长度,为ARM指令集的功能子集,与等价的ARM代码相比较可节省30%-40%以上的存储空间,同时具备32位代码的所有优点6.ARM微处理器的工作状态、存储格式、指令流水线。ARM工作状态:ARM状态和Thumb状态。存储格式:1.大端格式(big-endian)2.小端格式(low-endian)3级流水线:取指级、译码级、执行级5级流水线:取指级、译码级、执行级、缓冲\数据级、回写级7.ARM七种处理器模式各有何属性,切换的条件。用户模式(usr):ARM处理器正常的程序执行状态,大部分任务执行在这种模式。快速中断模式(fiq):当一个高优先级(fast)中断产生时会进入这种模式,用于高速数据传输或通道处理外部中断模式(irq):当一个低优先级(normal)中断产生时将会进入这种模式。用于通用的中断处理管理模式(svc):当复位或软中断指令执行时将会进入这种模式,供操作系统使用的一种保护模式。中止模式(abt):当存取异常时将会进入这种模式,用于虚拟存储及存储保护。未定义模式(und):当执行未定义指令时会进入这种模式,软件仿真硬件协处理器。系统模式(sys):供需要访问系统资源的操作系统任务使用,运行具有特权的操作系统任务8.ARM状态下包括哪些通用寄存器、状态寄存器。R13、R14、R15的作用。通用寄存器:1.未分组寄存器R0-R72.分组寄存器R8-R143.程序计数器PC(R15)状态寄存器:R16用作CPSRR13常用作堆栈指针R14子程序连接寄存器R15程序字数器(PC)9.CPSR、SPSR寄存器的作用。CPSR当前程序状态寄存器SPSR备份的程序状态寄存器10.ARM有哪些异常?这些异常在什么情况下发生?复位:复位电平有效时未定义指令:遇到不能处理指令软件中断:执行SWI指令产生,用于用户模式下的程序调用特权操作指令指令预取中止:处理器预取指令的地址不存在或该地址不允许当前指令访问数据中止:处理器数据访问指令的地址不存在或该地址不允许当前指令访问IRQ:外部中断请求有效,且CPSR中的I位为0时FIQ:快速中断请求引脚有效,且CPSR中的F位为0时11.异常向量表存放在哪里?。存储器的前8个字中除了地址0x00000014之外,全部被用作异常矢量地址12.ARM指令寻址方式有哪些?立即寻址寄存器寻址多寄存器寻址寄存器偏移寻址寄存器间接寻址基址寻址堆栈寻址块复制寻址相对寻址13.什么是指令的条件域?当处理器工作在ARM状态时,几乎所有的指令均根据CPSR中条件码的状态和指令的条件域有条件的执行。当指令的执行条件满足时,指令被执行,否则指令被忽略。每一条ARM指令包含4位的条件码,位于指令的最高4位【31:28】。条件码共有16种,每种条件码可用两个字符表示,这两个字符可以添加在指令助记符的后面和指令同时使用。例如,跳转指令B可以加上后缀EQ变为BEQ表示“相等则跳转”,即当CPSR中的Z标志置位时发生跳转。在16种条件标识码中,只有15种可以使用,如表1-1所示,第16种(1111)为系统保留,暂时不能使用。ARM指令的代码条件码助记符号缀标志含义0000EQZ置位相等0001NEZ清零不相等0010CSC置位无符号数大于或等于0011CCC清零无符号数小于0100MIN置位负数0101PLN清零正数或零0110VSV置位溢出0111VCV清零未溢出1000HIC置位Z清零无符号数大于1001LSC清零Z置位无符号数小于或等于1010GEN等于V带符号数大于或等于1011LTN不等于V带符号数小于1100GTZ清零且(N等于V)带符号数大于1101LEZ置位或(N不等于V)带符号数小于或等于1110AL忽略无条件执行14.在ARM的立即寻址方式下其立即数如何在指令编码中表示?ADDR0,R0,#0x3f/*R0←R0+0x3f*/在以上指令中,第二个源操作数即为立即数,要求以“#”为前缀,对于以十六进制表示的立即数,还要求在“#”后加上“0x”二进制加0b,十进制加0d或者省略15.ADR和ADRL伪指令的作用,二者的区别是什么?LDR伪指令的作用是什么?如何传送立即数?ADR:将基于PC或基于寄存器的地址值读取到寄存器中。小范围的地址读取。ADRL:将基于PC或基于寄存器的地址值读取到寄存器中。中等范围的地址读取。LDR:将一个32位的立即数或者一个地址值读取到寄存器中。大范围的地址读取。例如:LDRR0,=0xFFF把立即数0xFFF存放在某数据池里用指令LDRR0,[PC,??]代替实现功能16.跳转、加载/存储指令、数据处理指令的常见使用方法。(堆栈操作,MOV,LDR,STR,LDM,STM加减法,BX,ADR,LDR伪指令)17.ATPCS基本规则了解是ARM程序和Thumb程序中子程序调用的基本规则,目的是为了使单独编译的C语言程序和汇编程序之间能够相互调用。这些基本规则包括子程序调用过程中寄存器的使用规则、数据栈的使用规则和参数的传递规则。18.画出开发嵌入式系统时,开发板与微机的连线图,弄清各连线的用途19.硬实时操作系统的特点。硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。20.存储器Nand-Flash与Nor-Flash的区别通常读取NOR的速度比NAND稍快一些,而NAND的写入速度比NOR快很多在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD)21.存储器SRAM与DRAM区别.SRAM是英文StaticRAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。不像DRAM内存那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,所以在主板上SRAM存储器要占用一部分面积22.s3c2410的引脚OM[1:0]的作用。其三种启动方式不同点,启动过程如何?OM[1:0]在产品测试时可以将S3C2410A置于测速模式下,它还决定nGCS0使能区域的总线宽度,接在该引脚上的上拉或下拉电阻决定了它在复位期间的逻辑电平在00时处理器从NANDFlash启动;在01时从16位宽的ROM启动;在10时从32位宽ROM启动。23.s3c2410存储系统的特征,设置存储器系统涉及的内容,进行内存映射的目的。S3C2410存储器控制器提供访问外部存储器所需要的存储器控制信号,具有以下特性,支持大端小端模式,除bank0具有16/32位地址位宽外,其他bank都具有可编程位宽(8、16、32位)。8个bank中其中6个用作ROM,SRAM,另外两个用作ROM,SRAM,SDRAM,bank0~bank7固定起始地址,bank7的起始地址可以调节。bank6和bank7的大小可以编程。启动方式有两种,配置OM[1:0]=00b,可以从NANDflash启动,为了支持NANDFlash的启动装载,S3C2410配置了一个叫做Steppingstone的内部SRAM缓冲器。当系统启动时,NANDFlash中的前4KB的代码自动的载入Steppingstone中,由硬件将内部SRAM起始地址映射到地址空间0x00000000,将pc指针直接指向地址空间的0x00000000,系统就开始执行指令代码,然后系统自动执行这些代码。配置OM[1:0]=01或者10可以从NORFlash启动,Norflash的有自己的地址线和数据线,可以采用类似于RAM的随机访问方式,在norflash上可以直接运行程序,所以norflash可以直接用来做boot,采用norflash启动的时候会把地址映射到0x00000000上。24.S3C2410各个外围接口的功能:IIS,IIC,SPI,UARTIIS作为音频接口IIC常将其用于连接串行存储器和LCD控制器,D/A…等功能扩展芯片UART串行异步通讯接口25.IIC总线有关知识的了解(接口,功能,工作流程)使用I2C总线接口有4种操作模式:主传送模式、主接收模式、从传送模式、从接收模式26.嵌入式系统中使用的LCD接口的几种方式带有驱动电路的LCD显示模块,只要总线方式驱动;没有驱动电路的LCD显示器,使用控制器扫描方式。27.嵌入式芯片内置的LCD功能模块有关知识的了解:外部接口定义,色彩,初始化内容。VGA接口本质上是一个模拟接口,一般都采用统一的15引脚接口,包括2个NC信号、3根显示器数据总线、5个GND信号、3个RGB色彩分量、1个行同步信号和1个场同步信号。其色彩分量采用的电平标准为EIA定义的RS343标准。28.电阻式触摸屏工作原理,电容式触摸屏工作原理电阻式触摸屏工作时,上下导体层相当于电阻网络。当某一层电极加上电压时,会在该网络上形成电压梯度。如有外力使得上下两层在某一点接触,则在另一层未加电压的电极上可以测的接触点处的电压。然后用模/数转换器来测量电压,以此得出位置。触摸屏通过交替使用水平和垂直电压梯度来获得x和y的位置表面电容触摸屏:只采用单层的ITO,当手指触摸屏表面时,就会有一定量的电荷转移到人体。为了恢复这些电荷损失,电荷从屏幕的四角补充进来,各方向补充的电荷量和触摸点的距离成比例,我们可以由此推算出触摸点的位置。29.BootLoader的一般要做的工作处理器时钟,看门狗初始化异常向量表初始化存储器系统初始化堆栈,中断处理初始化有特殊要求的I/O端口、设备初始化C应用程序执行环境,进入C代码应用程序加载启动操作系统更新操作系统其他管理功能30.Bootloader启动流程。启动分为哪2个阶段,每个阶段主要完成哪些操作。第一阶段:硬件设备初始化加载第二阶段的程序在RAM中设置堆栈跳转到第二阶段的C程序入口点第二阶段:初始化本阶段要使用的硬件设备检测系统内存映射等待命令决定进入何种模式更新Linux:进入操作菜单,执行用户命令启动Linux:将Kernel映像和根文件系统映像从Flash拷贝到RAM中为内核设置启动参数调用内核31.烧写Bootloader的两种方式使用ADS软件和ARM仿真器:先将编译后的Flash烧写程序加载到SDRAM中,运行Flash烧写程序,在指定Flash烧写的起始地址后,Flash烧写程序将从电脑上把编译好的B