共6页嵌入式试题库1、ARM汇编语言与c++的混合编程通常用以下哪几种方式在C/C++代码中嵌入汇编指令、在汇编程序和C/C++的程序之间进行变量的互访、汇编程序、C/C++程序间的相互调用。
2、嵌入式处理器可以分为微控制器,微处理器数字信号处理器,片上系统。
3、目前世界上的四大嵌入式处理器内核分别是、、68/OOLDFIRE核。
P304、ARM微处理器中支持字节(8位),半字(16位),字(32位),3种数据类型其中字需要对齐,半字需要 2字节对齐。
P435、S3C2410X-/S3C2440X是三星公司出品的基于 ARM920T它与基于ARM的S3C44BOX的最大区别在于,S3C24/OX/S3C244OX内部带有全性能的内存管理单元(MMU)。
P126、ARM7TDMI采用因此对存储器的控制没有专门的,存储器采用间的而直接的地址方式来表示实际的物理地址,没有进行段式页的转换。
P507、LIMUX内核包含、,网络及资源管理部分。
P2568、嵌入式系统地3个基本要素是, P1 嵌入式系统发展的4个阶段分别是以单片机为核心的低级嵌入式系统,以嵌入式微处理器为基础的初级嵌入式系统,以嵌入式操作系统为标志的中级嵌入式系统,以Internet为标志的高级嵌入式系统。
P39、嵌入式系统的硬件有电源模块,种I/O接口,总线以及外部设备和插件等组成。
嵌入式系统的软件包括中间层程序、嵌入式操作系统、应用软件以及实际后用程序层。
P6--710、目前世界上的四大嵌入式处理器内核分别是内核。
P3011、ARM处理器工作在不同模式,使用的寄存器有所不同,PC 为当前程式状态寄存器;7个通用寄存器和转台寄存器在不同模式下不同。
P3512、S3C44BOX内部除内核处,还包括许多可编程外围设备组建,这些外围设备组件的可编程功能均是通过各个可编程外围设备组件中的相关控制寄存器来完成设置的。
13、嵌入式系统地调试工具有:指令集模拟器,,在线仿真器。
P2314、嵌入式系统简单的说就是15、ARM微处理器的工作状态有两种:ARM状态和THUMB 状态,其中是指ARM工作于32位指令状态,是指ARM执行16位的THUMB指令状态,二者的状态转换是通过BX指令完成的。
P33 简答题1、基于ARM体系结构的嵌入式处理器具有哪些技术特征?并对每种技术特征予以简单的说明。
P33答:(1)单周操作:ARM指令系统在一个机器周期内完成简单和基本的操作。
(2)采用加载/存储指令结构:存储器访问指令的执行时间长,因此只采用了加载和存储两种指令对存储器进行读和写的操作,面向运算部件的操作都经过加载指令和存储指令,从存储器取出后预先存放到寄存器对内,以加快执行速度。
(3)固定的32位长度指令:指令格式固定为32位长度,使指令译码结构简单,效率提高。
(4) 3地址指令格式:采用三地址指令格式、较多寄存器和对称的指令格式便于生成优化代码,降低编译开销(5)指令流水线技术:ARM采用多级流水线技术,以提高指令执行的效率。
2、请你从技术的角度和系统地角度给出嵌入式系统的定义。
P1以应用为中心,计算机技术为基础,软硬件可剪裁,适应应用系统对功能,成本,体积,可靠性,功耗严格要求的计算机系统。
3、uCLinux内核移植包括哪些主要任务?并对每个任务进行简单的说明。
P286(1) 配置内核。
uCLinux常用的配置选项包括系统及其存储器配置、网络支持、USB支持、显示器支持以及触摸支持等。
(2) 编译内核。
编译内核主要包括使用Make Dep建立依赖关系、使用Make编译内核、使用MakezImage编译压缩核心(zImage)。
(3) 下载、运行、调试内核。
可以通过调试器下载内核并运行,也可以通过Boot Loader 将内核烧写到FLASH中,然后运行uCLinux。
4、请你说明系统从异常处理程序中返回需要执行哪些操作?P40(1)恢复原来被保护的用户寄存器(2)将SPSR_mode寄存器值复制到CPSR中,使得CPSR从相应的SPSR中恢复,以恢复被中断的程序工作状态。
(3)根据异常类型将PC值恢复成断点地址,以执行用户原来运行着的程序。
(4)清除CPSR中的中断禁止标志I和F,开放外部中断和快速中断。
第1/6页嵌入式试题库5、请你详细说明ARM处理器控制寄存器的含义和作用。
P150(1)控制寄存器是一个特定的存储单元,而控制寄存器各位的定义由微处理器/微处理器的内部硬件结构决定,所以控制寄存器各位的定义是控制编程的依据。
(2)控制寄存器是人机信息交互的桥梁,而人或机器对某个功能组件的控制指令首先必须通过编程给控制寄存器赋值,再通过CPU对控制寄存器的读操作将有关操作控制信号或操作数据传递给该功能组件。
当这些操作控制信号或操作数据有效时,该功能组件就会执行特定的操作。
6、在嵌入式系统设计开发过程中,我们通常要做出哪些总体选择?P181、嵌入式处理器及操作系统的选择2、开发工具的选择3、对目标系统的观察与控制7、选择ARM处理器芯片应考虑哪些因素?并作出简要的说明。
P1441、2、3、4、 ARM内核。
任何一款基于ARM技术的微处理器都是以某个ARM内核为基础设计的,即ARM内核的基本功能决定了嵌入式系统最终实现目标的性能。
因此,ARM处理器芯片的选择的首要任务是考虑选择基于什么架构的ARM内核。
系统时钟频率。
系统时钟频率决定了ARM芯片的处理速度,时钟频率越高,处理速度越快。
芯片内部存储器的容量。
大多数ARM微处理器芯片的内部存储器的容量都不太大,需要用户在设计系统时外扩存储器,但也有部分芯片具有相对较大的片内存储空间。
片内外围电路。
设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功能,这样既可简化系统的设计,也可提高系统的可靠性。
其他因素。
除以上需要考虑的内部因素外,在某些特殊需要的场合,应选择符合这些特殊要求的ARM微处理器芯片。
5、8、请你说明ARM9 TDMI的指令流水线结构。
P46ARM9TDMI使用了程序存储器和数据存储器分开独立编址的哈佛结构,并采用5级指令流水线,即取指、译码、执指、缓冲及写回。
9、嵌入式系统地设计包括哪些步骤?并对每一步的工作予以简单的说明。
P19 (1)需求分析:确定设计任务和设计目标,并提炼出设计规格说明书作为正式设计指导和验收的标准。
(2)体系结构设计:描述系统如何实现所述的功能和非功能描述(3)硬件、软件、执行机构设计:基于嵌入式体系结构,对系统的硬件、软件和执行机构进详细设计(4)系统集成:把系统的硬、软和执行装置集成在一起,进行调试,发现并改正单元设计的功能要求。
(5)就是对设计好的系统进行全成测试,看其是否满足规格说明书中给定的功能要求。
10、嵌入式应用软件的开发具有哪些特点?并对这些特点进行简要说明。
P241. 需要交叉编译工具。
由于嵌入式系统目标机上的资源较为有限,直接在目标机上开发和调试应用软件几乎不可能,因此,目标机的嵌入式应用软件开发需要放在高性能计算机上的集成开发环境中进行。
2. 通过仿真手段进行调试。
目标机的执行程序经过交叉编译后,还要经过调试排错,确认能够正常运行后才能使用。
3. 目标机是最终的运行坏境。
对嵌入式应用程序来说,其开发、调试往往是在PC上完成的,但它最终的运行坏境是目标机。
4. 执行应用程序的指令通常需要写入操作系统。
在PC上,应用程序的执行是在操作系统的图形用户界面或命令状态下进行的,操作系统与该应用程序无直接联系。
5. 系统资源有限。
在PC环境进行应用程序开发,程序员拥有大量的硬件和软件编程资源,对诸如内存、硬盘空间、可以打开的文件数量等问题可以不必在乎。
6. 控制特定部件。
在嵌入式应用软件开发过程中,程序员往往需要针对特定的部件做更加细致的编写作业。
11、画出ARM处理器中控制寄存器的信息流程及作用示意图,并说明控制寄存器的含义及作用。
图在P150最上面图5.10 含义在下面一点的(1)(2),和第5题一样的。
本人表示这简答题很坑爹!! 12、根据图1给出的WDT组件的构成框图:(1)说明WDT 组件的特殊功能寄存器WTCON,WTDAT及WTCNT的作用(2)说明WDT组件的工作过程。
P149第2/6页图1.WDT组建构成图 WTCON2 WTCON0答:(1)WTCON用于控制预分频系数、确定是否允许WDT、是否允许输出复位信号等,其地址为0x01D30000. WTDAT用于存放计数值,其地址为0x01D30004.WTCNT用于存放看门狗定时器在正常操作下的当前计数值,其地址为0x01D30008.(2)工作过程:先根据设定的WTCON中的【WTCON5、WTCON8】的值选择计数所需的时钟,再根据设定的WDTAT的值通过16位内部递减计数器来进行减法计数,最后根据WTCNT 的计数结果及输出控制信号WTCON2、WTCON0输出有关结果,当没有加以干预而计数到0时,产生中断输出并产生复位信号(RESET)来使系统复位。
13、嵌入式处理器主要有哪五类?P81.2.3.4.5. 嵌入式微处理器嵌入式微控制器嵌入式数字信号处理器嵌入式片上系统嵌入式可编程片上系统14、我国比较常用的嵌入式操作系统有哪些?P16-181. Linux2.uC/OS-II3.Windows CE4.VxWorks5.Psos6.Palm OS7.QNX8.苹果iOS9.Android 程序设计题1、欲将数据从源数据区SNUM复制到目标数据区DNUM,数据的个数为NUM,复制时以8个字为单位进行,对于最后所剩不足8个字的数据,以字为单位进行复制,用ARM汇编语言设计完成该数据块复制的程序段。
LDR r0=snum BEQ copy_eightLDR r1=dnum CMP r2#0MOV r2#num BEQ endCopy_eight: Copy_one:SUB r2r2#8 SUBr2r2#1LDMIA r0!{r4~r11} LDRIA r0!r4STMIA r1!{r4~r11} STMIA r1!r4CMP r2#8 CMP r2#0BHI copy_@eight BNE copy_oneEnd2、欲设计一个实现1+2+3+···+100功能的程序:(1)写出实现100个数累加功能的ARM 汇编语言程序(2)说明用ARM汇编语言设计实现100个数累加功能程序的设计思想。
STACKS SEGMENT STACK ;堆栈段DW 128 DUP(?) ;注意这里只有128个字节STACKS ENDSDATAS SEGMENT ;数据段;请在这里定义您的数据 FLAG DB 0RE DW 0第3/6页DATAS ENDSCODES SEGMENT ;代码段ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS ;初始化MOV DS,AX;请在这里添加您的代码PART1: MOV AH ,01H ;键盘输入0~100任意数INT 21HCMP AL,0DHJZ PART2SUB AL,'0'PUSH AXMOV AX,RESHL AX,1PUSH AXMOV CL,2SHL AX,CLPOP BXADD AX,BXPOP BXMOV BH,0ADD AX,BXMOV RE,AXJMP PART1PART2: MOV AX,REPART3: MOV CX,AX ;求和DEC AXADD RE,AXLOOP PART3MOV AX,REMOV CX,0 ;十进制显示MOV BX,10PART4: MOV DX,0DIV BXADD DL,30HPUSH DXINC CXCMP AX,0JNZ PART4PART5: POP DXMOV AH,2INT 21HLOOP PART5MOV AX,4C00H ;退出程序INT 21HCODES ENDSEND START3、做过的四个实验程序。