西邮嵌入式考试整理

上传人:ren****ao 文档编号:159065787 上传时间:2022-10-08 格式:DOC 页数:9 大小:48.01KB
返回 下载 相关 举报
西邮嵌入式考试整理_第1页
第1页 / 共9页
西邮嵌入式考试整理_第2页
第2页 / 共9页
西邮嵌入式考试整理_第3页
第3页 / 共9页
点击查看更多>>
资源描述
一、填空1、计算机软件一般可分为系统软件和应用软件。2、微机系统,传统三总线:地址总线,数据总线和控制总线。3、微机外部输入设备有鼠标,键盘等,外部输出设备有显示器,打印机等。4、汇编语言程序开发过程一般通过4个步骤完成,分别是:编辑程序,汇编程序、链接目标文件与库文件、运行和调试5、ARM7TDMI有2种处理器状态,7种处理器模式2种处理器状态:ARM状态和Thumb状态7种处理器模式:用户(usr):程序正常执行模式,大部分任务在这种模式快速中断模式FIQ(fiq):当一个高优先级(fast)中断产生时将进入此种模式外部中断模式IRQ(irq):通用中断处理,一个低优先级(normal)中断产生管理(svc):操作系统保护模式,当复位或软中断指令执行时中止(abt):虚拟存储器或存储器保护,存取异常时未定义(und):支持硬件协处理器的软件仿真,执行未定义指令时系统(sys):运行特权操作系统任务,6、 ARM指令长度32位,Thumb指令长度16位7、 以能被4整除的地址开始的连续4个字节构成一个字,从偶数地址开始的连续2个字节构成一个半字8、 计算机指令系统分为复杂指令系统(CISC)和精简指令(RISC)系统9、 1MB=1024KB,4GB=4096MB10、 CPU与外设之间的数据传输方式分为无条件传送方式、查询方式、中断方式和DMA方式。11、通常说的32位机,是指这种计算机的CPu能够同时处理32位二进制数12、定点16位字长的字,采用2的补码形式表示时,一个字所能表示的整数范围是(-215)-(215-1)13、接口电路的最基本功能是对输入数据缓冲、对输出数据锁存功能14、中断向量是终端服务程序入口地址15、在寄存器间接寻址方式中,被访问的操作数在主存单元中,答案给的是在堆栈中,我感觉貌似是答案错了。16、一个存储器有m为地址总线,n位数数据总线,那么这个存储器的存储容量为2m Byte,字长为n/8 byte。17、 嵌入式操作系统的三个基本特征:嵌入性、内含计算机、专用性18、 ARM7TDMI中的T、D、M、I分别代表:支持Thumb指令集、支持片上调试、支持64位乘法指令、Embedded ICE硬件仿真模块19、 ARM指令与Thumb指令切换状态用的是BX指令,查询处理器处于何种状态可以通过MRS指令读取CPSR寄存器中的T控制位20、 实验中嵌入式Linux系统移植的过程分为三个阶段:下载Bootloder,下载Kernel,下载文件系统21、 Bootloder主要功能是系统初始化、加载和运行把内核程序。22、 设系统节拍为50毫秒,调用OSTimeDLy(40)的效果是延时2秒钟,调用OSTimeDlyHMSM(0,1,27,650)的效果是延时1分27秒650毫秒。23、 目前使用的嵌入式操作系统主要有 Windows CE/Windows Mobile Linux、uCos、和 Symbian 24、ARM微处理器有七种工作模式,它们分为两类 非特权模式 、 特权模式 。其中用户模式属于 非特权模式 25、ARM微处理器复位后,PC(R15)的地址通常是 0X0 ,初始的工作模式是 supervisor26、在ARM体系构架中对复杂的内存管理是通过系统控制协处理器 cp15 和MMU(存储管理部件)来进行的。当系统发生 Data Abort(数据)异常和 Prefetch Abort(指令领取) 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。27、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU工具链 ,ARM公司提供的工具链是 ADS工具链 28、在嵌入式系统的存储结构中,存储速度最快的是寄存器组29、嵌入式系统应用软件一般在宿主机上开发,在目标机上运行,因此需要一个交叉编译环境30、EQU伪指令相当于C语言#define,用于为一个常量定义字符名称31、CPU是用大规模或超大规模集成电路技术制成的半导体芯片,其中主要包括运算器、计算器和控制器三大部分。32、在ARM处理器的七种运行模式中,具备独立的R8R12寄存器的是( FIQ快中断)模式,没有SPSR寄存器的是(USR用户)模式和(SYS系统 )模式。33、ARM处理器在完成复位后工作于(svc管理)模式,执行的第一条指令所在的地址为( 0x00000000 ),且这时外部中断屏蔽位I和快速中断屏蔽位F均被设置成( 1 )。二、 名词解释1、 CPU中央处理单元2、 RTOS实时操作系统3、 MMU内存管理单元4、 UART通用异步串行接口5、 CPSR 当前程序状态寄存器6、 AHB先进的高性能总线7、 VIC向量中断控制器8、 SRAM静态随机存储器9、 DMA直接存储器存取10、 LR链接寄存器三、 判断题,错了,需改正1)指令LDRr0 , r1 , #4表示将r1指向的内容取到r0后,再将r1+4。 答:正确。(2)ARM的数据传送指令共有八种寻址方式,其中包括直接寻址。 答:错误。ARM的数据传送指令共有八种寻址方式,但没有直接寻址。(3)ARM指令必须字对齐存放,Thumb指令必须半字对齐存放。 答:正确。(4)ARM指令集不同寻常的特征是每条指令都是可条件执行的。 答:正确。(5)在ARM7TDMI处理器中,PC指向的是下一条要执行的指令。 答:错误。PC指向的是再下条指令。四、简答题(1)、冯诺依曼计算机体系结构的基本思想二进制表示指令和数据程序和数据事先存储在存储器中,计算机在工作时能够高速地从存储器中取出指令并加以执行运算器、控制器、存储器、输入 / 输出设备五部分组成(2)、外设为何通过接口和主机相连?内存与系统总线相连是否也需要接口?外设必须通过I/O接口电路与微机系统总线相连,因为CPU与外部设备通信在运行速度和数据格式上差异很大内存与系统总线相连不需要接口,因为接口是连接微机和外设的一个中间部件,I/O接口电路要面对主机和外设两个方面进行协调和缓冲,而内存属于微机系统的组成部分,他们之间的数据传输时标准的、统一的,没有必要通过接口。(3)解释ARM7TDMI结构中流水线结构的指令执行顺序,并说明IRQ中断返回指令:SUBS PC, R14_irq,#4 的原理。ARM处理器利用流水线来增加处理器指令流的速度,这样可以使几个操作同时进行,并使处理和存储器系统连续操作,分为取指、译码和执行三级流水结构。在ARM指令中,执行PC-8指令,译码PC-4指令,取指PC指针指向指令,PC指针始终指向取知指令。IRQ中断返回时,首先从R13_irq中获取IRQ中断异常模式的栈顶指针,然后将SPSR_irq中的内容复制到GPSR。根据流水线特性,将K14_irq指向的地址减去一个偏移量后缓存入R15(PC),这样就能返回到进入中断之前的下一条指令,具体实现指令为SUBS PC, R14_irq,#4 .(4)、MOV指令与LDR指令都是往目标寄存器中传送数据,他们有什么区别?分析LDR R1,R2指令和MOVR1,R2指令的执行结果有何不同?MOV指令用于将数据从一个寄存器传送到另一个寄存器 ,或者将一个常数传送到一个寄存器,但是不能访问内存。LDR指令用于从内存中读入数据放到寄存器中。LDR R1,R2:以R2寄存器中的内容作为地址访问存储器 ,读取存储单元的值到R1 MOVR1,R2将寄存器R2的值传送到R1中去 (5)、结合CPSR的结构,哪些是状态位?哪些是控制位,并说明其中控制位的作用。31 30 29 28 27 8 7 6 5 432 10NZCV -IFTM4M3M2M1M0SN,Z,C,V是状态位,I,F,T以及M4:0是控制位,中断控制标志位I和F,处理器状态位T;处理器模式位M4-M0 (6)简述ARM核中什么寄存器用于存储PC?R13通常用来存储什么?R14通常用来存储什么?答:R15用于程序计数寄存器PC,R13通常用来做堆栈指针寄存器,R14通常用来做链接寄存器,保存函数调用的返回地址(7)、ARM7处理器有哪几种处理模式?用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式、系统模式。(8)、ARM7处理器有哪几种工作状态?处理器如何标志不同状态?(必考)ARM7处理器有ARM状态和Thumb状态,处理器的当前状态寄存器CPSR的T位可标志出两种状态。当T位为0时是ARM状态,为1时是Thumb状态。(9)简述I/O设备与CPU交换数据有哪几种方式?(可能考)a) 程序传送方式-分为无条件传送、查询方式b) 中断传送方式c) 直接存储器存取传送方式(DMA)(10)、简述ARM数据传输的8种寻址方式(必考)1) 立即数寻址,操作数在指令中,如ADDR0,R0,#10-R0=R0+102) 寄存器寻址,利用寄存器中的值作为操作数,如ADD R0,R1,R2-R0=R1+R23) 寄存器移位寻址,寄存器中的值移位后得到操作数4种常用的移位操作:LSL:逻辑左移,相当于无符号数*2LSR:逻辑右移,相当于无符号数除2ASR:算术右移,相当于带符号数除2ROR:循环右移如:ADD R0,R1,R2,LSL #2-R0=R1+R2R0 =R1,取出R1存的地址所指向存储区的值,赋给R0 STRR0,R1-R1=R05) 基址变址寻址基址寄存器的内容与指令中的偏移量相加,得到有效操作数的地址,然后访问该地址空间,分三种:【1】前索引 如:LDRR0,R1, #4-把地址为R1+4的存储区域的值赋给R0【2】自动索引 如:LDRR0,R1, #4!-完成前索引的功能外,还使R1=R1+4【3】后索引 如:LDRR0,R1,#4-R1存的地址的内容写进R0,同时,R1=R1+46) 多寄存器寻址一条 指令完成多寄存器的传送,最多16个寄存器如:LDMIAR0,R1-R5-R1=R0,R2=R0+4,R3=R0+8,R4=R0+12,R5=R0+16指令中的IA表示在执行完一次load操作之后,R0自增4.该指令将以R0为起始地址的5个字数据分别存入R1,R2,R3,R4,R5中7) 相对寻址和基址变址寻址相似,只是把PC当作基址寄存器,指令中的标记当做偏移量8) 堆栈寻址用于数据栈和寄存器组之间批量数据传送如:STMFDR13!,R0,R1,R2,R3,R4LDMFDR13!,R0,R1,R2,R3,R4第一条 指令将R0-R4的数据一次压入堆栈,R13为堆栈指针第二条 指令将数据出栈,依次送入R0-R4中。(11)、试阐述将P0.0设置为GPIO输出高电平的三个步骤。 答:1)设置P0.0引脚为GPIO; 2)设置方向寄存器为输出,1为输出,0为输入; 3)输出高电平。(12)、请说明下列UART程序的功能并解释每条语句 注:8位数据位,一位停止位,无奇偶校验位,波特率为115200,外设时钟频率为Fpclk。 Void UART0_Ini( void ) 完成串口初始化 Uint16 Fdiv; PINSEL0 = 0x00000005; 设置引脚连接模块 U0LCR = 0x83; 置位除数锁存位 Fdiv = (Fpclk/16)/UART_BPS; 根据波特率计算分频值 U0DLM = Fdiv/256; 设置除数寄存器 U0DLL = Fdiv %256; 设置除数寄存器 U0LCR = 0x03; 清除除数锁存位,并置工作模式(13)、嵌入式开发环境主要包括哪些组件?答:嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括l 宿主机l 目标机(评估电路板)l 基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICEl 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境l 嵌入式操作系统(14)、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境(15)、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接?答:RS-232,以太网口、并口在Windows主机上使用超级终端软件在Linux主机上使用Minicom软件(16)、进行基于ARM核的嵌入式系统软件开发时,调用如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)则这四个参数通过什么方式从调用程序传入被调函数?答:基于ARM核的嵌入式系统软件开发时,调用函数和子程序通过R0R3四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1通过R0传入, arg2, 通过R1传入,arg3通过R2传入,arg4通过R3传入。(17) ARM指令中如何判断一个立即数是有效立即数判断一个数是否符合8位位图的原则, 首先看这个数的二进制表示中1的个数是否不超过8个. 如果不超过8个, 再看这n个1(n=8)是否能同时放到8个二进制位中, 如果可以放进去, 再看这八个二进制位是否可以循环右移偶数位得到我们欲使用的数. 如果可以, 则此数符合8位位图原理, 是合法的立即数. 否则, 不符合.(18)、试说明现代计算机系统中存储器系统是如何分层的?为什么要分层,主要解决了哪些问题?(7分)答:(1)微机中的存储器子系统一般分为四级,即:寄存器组、高速缓存、内存和外存。第一级寄存器组位于微处理器的内部,速度最快,但数目较少;第二级高速缓存Cache是为了解决CPU与主存之间的速度不匹配问题而设置的,其性能是速度快、容量小。第三级内部存储器(即主存)容量大、速度较慢(相对于Cache),通常用于存放运行的程序和数据。第四级外部存储器容量巨大,可读可写,单位存储成本最低,且可以脱机保存信息。(2)现代微机把这些不同容量、不同速度的存储器按一定的体系结构组织起来,形成一个统一的存储系统,主要是为了解决存储容量、存取速度和价格之间的矛盾。(19)微处理器设计中采用RISC或CISC架构时,有何根本区别?ARM处理器采用的是何种架构?试例举ARM处理器采用这种架构所具备的一些典型特征。(8分)(必考)答:(1)从设计的各方面比较如下:RISCCISC设计重点降低指令执行的硬件复杂度,但对编译器有更高的要求侧重指令执行的硬件功能性,控制器的硬件设计复杂指令集指令种类少,长度固定,且执行简单,可在单时钟周期完成指令复杂,长度通常不固定,执行也需要多个周期流水线指令处理过程可被拆分成能够被流水线并行执行的规则步骤指令执行通常需要调用微程序寄存器有更多的通用寄存器专用寄存器较多。load-store结构为避免耗时的访存操作,把访存与数据处理分开。处理器能够直接处理内存中的数据。(2)ARM处理器采用了RISC架构,具备的典型RISC特征有:指令种类少,长度固定;采用多级流水;具有较多的通用寄存器;使用专用的LDR/STR存储器访问指令。六、 程序设计题定时器中断和GPIO输入输出#include “config.h”Const uint32BEEP = 1 1;/P0.1控制蜂鸣器Const uint32 KEY = 1;/P0.0连接KEY1Const uint32 LED=12;/P0.2连接LED灯,P0.2低时灯亮,高时灭Void_irqIRQ_Timer0(void )If(IO0SET & LED) = 0)IO0SET = LED;/关闭LED灯ElseIO0CLR = LED;/点亮LED灯T0IR = 0x01;/清楚中断标志VICVectAddr = 0x00; /通知VIC中断处理结束/*函数名称:main(),使用定时器实现1秒钟定时,控制LED闪烁。中断方式*/Int main(void )PINSEL0 = 0x00000000;/设置管脚连接GPIOIO0DIR= (LED | BEEP) & (KEY); /LED,蜂鸣器控制口输出,key1控制口输入IRQEnable();/IRQ中断使能/*定时器0初始化*/T0TC = 0; /定时器计数寄存器T0PR = 0;/预分频寄存器T0MR0= Fpclk; /匹配寄存器,定时1秒T0TCR = 0x01;/启动定时器/*设置定时器0中断IRQ*/VICIntSelect = 0x00;/所有中断通道设置为IRQ中断VICVectCntl0 = 0x20 | 0x04;/设置定时器0中断通道分配最高优先级VICVecAddr0 = (uint32)IRQ_Timer0();/设置中断服务程序地址VICIntEnable = 1 0x04;/使能定时器0中断while(1)If( (IO0PIN & KEY )= 0) IO0CLR = BEEP;/如果key按下,蜂鸣器鸣叫ElseIO0SET = BEEP;/松开则停止蜂鸣Return 0; 1、已知32位有符号数X存放在存储器的地址0x90010中,要求实现: Y=X 当(X=0)或 Y=-X 当(X0) AREA Exam CODE READONLYENTRY STARTLDR R1,=0x90010 LDR R2,R1 MOV R0,#0 CMP R2,R0 SUBLT R2,R0,R2 STR R2,R1 END2、 求两个数组DATA1、DATA2对应的数据之和,并将和存入新数组SUM中,计算一直到两数之和为零时结束,并把新数组的长度存于R0中。AREABlockData,DATA,READWRITEDATA1DCD2,5,0,3,-4,5,0,10,9DATA2DCD3,5,4,-2,0,8,3,-10,5SUMDCD0,0,0,0,0,0,0,0,0 AREA,Exam,CODE,READONLY ENTRYSTARTLDRR1,=DATA1 LDRR2,=DATA2 LDRR3,=SUM MOVR0,#0 LOOP LDRR4,R1,#4 LDRR5,R2,#4 ADDSR4,R4,R5 ADDR0,R0,#1 STRR4,R3,#4 BNELOOP END3、试编写UART0以查询方式发送数据的程序UART0_SendByte()。 Void UART0_SendByte( uint8 data) U0THR = data; While ( U0LSR & 0x40 ) =0 );
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 中学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!