嵌入式试题(共17页).doc

上传人:飞****2 文档编号:13727416 上传时间:2022-04-30 格式:DOC 页数:17 大小:53.50KB
返回 下载 相关 举报
嵌入式试题(共17页).doc_第1页
第1页 / 共17页
嵌入式试题(共17页).doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《嵌入式试题(共17页).doc》由会员分享,可在线阅读,更多相关《嵌入式试题(共17页).doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上 第一套一、选择题1. ARM 属于( A )A RISC 架构B CISC架构2. ARM 指令集是( C)位宽,Thumb 指令集是( B)位宽的。A 8位B 16 位 C 32位 D 64位3. ARM 指令集是( H )字节对齐,Thumb 指令集是( F )字节对齐的E 1 F 2 G 3 H 44. 复位后,ARM处理器处于( B )模式,( D ) 状态A UserB SVC C System D ARM E Thumb5. ARM处理器总共( E )个寄存器,System模式下使用( A )个寄存器,SVC模式下使用( B )个寄存器。A 17个B 1

2、8个 C 32个 D 36个 E 37个6. ARM处理器中优先级别最高的异常为( E ),( AC )异常可以用来相应中断 A FIQB SWI C IRQ D SVC E RESET7. ARM数据处理指令中有效的立即数是( ACEGH )A 0X00AB0000B 0X0000FFFF C 0XFF D 0XE 0X00001F80 F 0XFFFFFFFF G 0 H 0XFF8. ATPCS规定中,推荐子函数参数最大为( D ) 个 A 1B 2 C 3 D 49. ATPCS规定中,栈是( B ) A 满加B 满减 C 空加 D 空减10. 在用ARM汇编编程是,其寄存器有多个别名

3、,通常PC是指( D ),LR 是指( C ),SP是指( B ) A R12B R13 C R14 D R1511. CPSR寄存器中反映处理器状态的位是( D ) A J位B I位 C F位 D T位12. 下面属于ARM 子程序调用指令的是( C )A BB BX C BL D MOV13. ARM7属于( A )结构,ARM9属于( B )结构。A 冯.诺依曼 B 哈佛14. ARM7是( B )级流水线,ARM9是( C )级流水线。 A 1B 3 C 5 D 715. ARM中可以访问状态寄存器的指令是( D ),能够访问内存的指令是( B ) A MOVB LDR C MCR D

4、 MRS16. 异步串口中数据位可以是( ABCD ) A 5B 6 C 7 D 817. I2C协议中有几根线( B )A 1B 2 C 3 D 418. I2C协议中设备地址模式有( AC ) A 7位地址模式B 8位地址模式 C 10位地址模式 D 4地址模式19. S3C2410采用的是( D )核心 A ARM7TDMIB ARM9TDMI C ARM926EJ-S D ARM920T20. 在串行异步通讯中,发送端串口的TxD要和接收端串口的( B )相连接 A TxDB RxD C nCTS D nRTS21. 在嵌入式系统设计中可以通过( B )来测量电池电压,可以用(C)来驱

5、动喇叭发声 A DACB ADC C PWM D Timer E RTC22. MMU的作用有( AB )A 内存保护B 地址转换 C 加快存取速度 D 安全保密 E 内存分配23. 以下属于DMA特点的有( BC )A 占用CPUB 占用总线 C 不占用CPU D 不占用总线24. 下面的设备中属于闪存的设备有( AD )A K9F1208U0M B MAX3232 C HY57V D Am29LV160D25. I2C传输是( B )方式传输A 单工B 半双工 C 全双工二、简答题1. 简述ARM发生异常时,ARM核心会自动做哪些事情?从异常返回时,我们要做哪些事情?当异常产生时, ARM

6、 core:拷贝 CPSR 到 SPSR_设置适当的 CPSR 位:改变处理器状态进入 ARM 状态改变处理器模式进入相应的异常模式设置中断禁止位禁止相应中断 (如果需要)保存返回地址到 LR_设置 PC 为相应的异常向量返回时, 异常处理需要:从 SPSR_恢复CPSR从LR_恢复PCNote:这些操作只能在 ARM 态执行.2. 用ARM汇编指令写出实现64位加法和64位减法的代码段,使用的寄存器请自行分配。假定低32位数存放在r0和r1里面,高32位数存放在r2和r3里面。加法:ADDS r0, r0, r1 /加S是因为要让这个操作影响标志位ADC r2, r2, r3 /ADC是带进

7、位的加法,如果上一条指令产生进位则一起加进来减法:SUBS r0, r0, r1 /加S是因为要让这个操作影响标志位SBC r2, r2, r3 / SBC是带进位的减法指令3. 请列举ARM处理器的模式和异常,并说明各个发生异常时ARM处理器所处的模式异常:ResetData AbortFIQIRQPrefetch AbortSWIUndefined instruction处理器模式User : 非特权模式,大部分任务执行在这种模式FIQ : 当一个高优先级(fast) 中断产生时将会进入这种模式IRQ : 当一个低优先级(normal) 中断产生时将会进入这种模式Supervisor :当

8、复位或软中断指令执行时将会进入这种模式Abort : 当存取异常时将会进入这种模式Undef : 当执行未定义指令时会进入这种模式System : 使用和User模式相同寄存器集的特权模式4. FIQ的什么特点使得它处理的速度比IRQ快?1)FIQ优先级比IRQ高,不会被中断2)FIQ有自己的专属寄存器:r8r12,不用对通用寄存器入栈保护,可以加快速度3)FIQ位于异常向量表的末尾0x1c,故无需跳转,可以在这里直接放置异常处理函数5. 什么指令可以放在中断向量表?跳转指令,给PC赋值的指令B,LDR,MOV6. ARM处理器 中断向量表位于存储器的什么位置?默认:0x0也可以配置成:0Xf

9、fff00007. 下列 ARM 指令将做什么?a) LDRH r0,r1,#6b) LDR r0, =0x999a:将r1寄存器的值加上6,然后把以这个值为地址的内存单元里的值取半字(低16位)赋给r0b:将立即数0x999赋给r0,注意这是一个伪指令8. SWP 指令的优势是什么?用来实现什么功能?功能:在寄存器和存储器之间,由一次存储器读和一次存储器写组成的原子操作。完成一个字节或字的交换。可以用来实现信号量9. S3C2410 支持几种引导方式(或者说是内存映射方式)?简述Nand引导方式S3C2410硬件做的事情。1)nor flash启动方式。2)nand flash启动方式。 从

10、Nand flash 启动时,S3C2410首先会执行固化在片上ROM中的一段小程序,这段程序负责将nand flash前2K的代码搬移到片上RAM,然后将PC指针指向0x0地址(注意这个时候片上RAM被映射到0x0的起始地址)10. 简述 static和volatile 关键字的含义和作用。c语言中static关键字有两个作用,一是文件作用域,二是函数作用域。文件作用域关键字static的作用是,以static申明的全局变量、函数不得被其他文件所引用static另外一个用途是函数内部静态变量,只会被初始化一次,而且变量存储在全局数据段中而不是函数栈中,所以其生命期会一直持续到程序退出一个定义

11、为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份 第二套一、 填空题1、一般而言,嵌入式系统的构架可以分为4个部分:处理器、( )、输入/输出和软件,一般软件亦分为( )和应用软件两个主要部分。2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为( ),嵌入式DSP,( )以及片上系统。3、操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、( )、( )、I/O资源管理。4、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系

12、统和( ),其中实时系统亦可分为( )和软实时系统。5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的( ),内核的基本服务是( )。6、嵌入式开发一般采用( )方式,其中宿主机一般是指( )。7、哈佛体系结构数据空间和地址空间( ),ARM920T采用( )的内核架构。8、ARM7TDMI采用( )级流水线结构,ARM920TDMI采用( )级流水线。9、按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于( )操作系统,VxWorks属于( )操作系统。10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示( ),M表示内嵌乘法

13、器Multiplier,I表示(),支持在线断点和调试。二、选择题、下面哪种操作系统不属于商用操作系统。().windows xp B.Linux C.VxWorks D.WinCE2、下面哪点不是嵌入式操作系统的特点。 ( )A内核精简 B.专用性强 C.功能强大 D.高实时性3、下面哪种不属于嵌入式系统的调试方法。 ( )A模拟调试 B.软件调试 C.BDM/JTAG调试 D.单独调试4、在嵌入式ARM处理器中,下面哪种中断方式优先级最高。 ( )AReset B.数据中止 C.FIQ D.IRQ5、下面哪种嵌入式操作系统很少用在手机上。 ( )ASymbian B.linux C.Win

14、CE D.VxWorks6、NAND FLASH和NOR FLASH的区别正确的是。 ( )ANOR的读速度比NAND稍慢一些 B.NAND的写入速度比NOR慢很多C.NAND的擦除速度远比NOR的慢 D.大多数写入操作需要先进行擦除操作7、Ox17& Ox11的运算结果是。 ( )AOx01 B. Ox11 C. Ox17 D. Ox078、以下哪种方式不属于文件系统的格式。 ( )AFAT B.DOS C.NTFS D.EXT9、在将UC/OS操作系统移植到ARM处理器上时,以下哪些文件不需要修改。 ( )AOS_CORE.C B.INCLUDE.H C. OS_CPU.H D.OSTAS

15、KINIT10、下面哪个特点不属于SUB设备的特点。A串行通信方式 B.不可热拔插 C.分HOST、DEVICE和HUB D.通信速率比RS232快三、判断题: 1、所有的电子设备都属于嵌入式设备。2、CISC将被RISC所取代。3、嵌入式linux操作系统属于免费的操作系统。4、移植操作系统时需要修改操作系统中与处理器直接相关的程序。5、嵌入式开发需要专门的软件和硬件设备。四、简答题:共2小题,每小题10分,满分20分。1、根据嵌入式系统的特点,写出嵌入式系统的定义。2、写出uc/os操作系统在某一任务正在执行时发生中断的处理过程。五、分析计算题1、从底层硬件到上层应用软件,试分析嵌入式计算

16、机系统的组成主要分为哪几个部分,并写出各部分所完成的功能。2、写出嵌入式实验箱FLASH分区特点以及文件 写过程(包括ViVi,Kernel,root,yaffs文件)六 程序分析 1 通过对G口的操作控制CPU板左下角的LED1和LED2实现轮流闪烁。 void Main(void) int flag, i; Target_Init(); /进行硬件初始化操作,包括对I/O口的初始化操作 for(;) if(flag=0) for(i=0;i;i+); /延时 rGPGCON = rGPGCON & 0xfff0ffff | 0x; /配置第8、第9位为输出引脚 rGPGDAT = rGPG

17、DAT & 0xeff | 0x200; /第8位输出为低电平 /第9位输出高电平 for(i=0;i;i+); /延时 flag = 1; else for(i=0;i;i+); /延时 rGPGCON = rGPGCON & 0xfff0ffff | 0x; /配置第8、第9位为输出引脚 rGPGDAT = rGPGDAT & 0xdff | 0x100; /第8位输出为高电平 /第9位输出低电平for(i=0;i;i+); /延时flag = 0;2 通过定时器1中断控制CPU板左下角的LED1和LED2实现轮流闪烁1对定时器1初始化,并设定定时器的中断时间为1秒。void Timer1

18、_init(void) rGPGCON = rGPGCON & 0xfff0ffff | 0x; /配置GPG口为输出口 rGPGDAT = rGPGDAT | 0x300; rTCFG0 = 255; rTCFG1 = 0 4; /在pclk=50MHZ下,1秒钟的记数值rTCNTB1 =/4/256=48828; rTCNTB1 = 48828; rTCMPB1 = 0x00; rTCON = (1 11) | (1 9) | (0 8); /禁用定时器1,手动加载 rTCON = (1 11) | (0 9) | (1 8); /启动定时器1,自动装载3 使用DMA方式实现从存储器到串口

19、0进行数据发送。#define SEND_DATA (*(volatile unsigned char *) 0x)#define SEND_ADDR (volatile unsigned char *) 0x) /待发送数据的起始地址void Main(void)volatile unsigned char* p = SEND_ADDR;int i;Target_Init();Delay(1000); /初始化要发送的数据 SEND_DATA = 0x41; for (i = 0; i 128; i+) *p+ = 0x41 + i; rUCON0 = rUCON0 & 0xff3 | 0x

20、8; /Uart设置成DMA形式 rDISRC0 = (U32)(SEND_ADDR); /DMA0 初始化 rDISRCC0 = (01)|(00); /源=AHB,传送后地址增加 rDIDST0 = (U32)UTXH0; /发送FIFO缓冲区地址 rDIDSTC0 = (11)|(10); /目标=APB,地址固定 /设置DMA0控制寄存器:握手模式,与APB同步,使能中断,单位传输,单个模式,目标=UART0, /硬件请求模式,不自动加载,半字,计数器初值50 rDCON0=(031)|(030)|(129)|(028)|(027)|(124)|(123)|(122)|(020)|(5

21、0); rDMASKTRIG0 = (11); /打开DMA通道0 while(1);4 连续发送128个ASCII字符的汇编语言;呼叫子程序UART b UART UART ;子程序开始 ldr r0, =GPHCON ;设置GPIO(RxD0,TxD0引脚) ldr r1, =0x2afaaa str r1, r0 ldr r0, =GPHUP ldr r1, =0x7ff str r1, r0 ; ;GPH10:0禁止上拉 ldr r0, =UFCON0 ;禁用FIFO ldr r1, =0x0 str r1, r0 ldr r0, =UMCON0 ;禁用AFC ldr r1, =0x0

22、 str r1, r0 ldr r0, =ULCON0 ;设置线寄存器 ldr r1, =0x3 ;正常模式,无奇偶校验,一个停止位,8个数据位 str r1, r0 ldr r0, =UCON0 ;设置Uart0控制器 ldr r1, =0x245 ;RX边沿触发,TX电平触发,禁用延时中断,使用RX 错误中断, ;正常操作模式,中断请求或表决模式 str r1, r0 ldr r0, =UBRDIV0 ;设置波特率为 ldr r1, =0x1a ;int( / 16 / ) - 1 = 26 str r1, r0 mov r1, #100Delay sub r1, r1, #0x1 bne

23、 Delay ;/开中断 ldr r0, =INTMSK ldr r1, r0 and r1, r1, #0xefffffff str r1, r0 MOV R5 , #127 ;设置要打印的字符的个数 MOV R1 , #0x0 ;设置要打印的字符LOOP LDR R3 , =UTRSTAT0 LDR R2 , R3 TST R2 ,#0x04 ;判断发送缓冲区是否为空 BEQ LOOP ;为空则执行下边的语句,不为空则跳转到LOOP LDR R0 , =UTXH0 STR R1 ,R0 ;向数据缓冲区放置要发送的数据 ADD R1, R1, #1 SUB R5 ,R5, #0x01 ;计数

24、器减1 CMP R5 ,#0x0 BNE LOOP5 一个向串口不断发送0x55的例子IMPORT MainAREA Init ,CODE, READONLY;ENTRY BL Main ;跳转到Main()函数处的C/C+程序END ;标识汇编程序结束 #include .incconfig.h /将有关硬件定义的头文件包含进来unsigned char data; /定义全局变量void Main(void) Target_Init(); /对目标板的硬件初始化 Delay(10); /延时 data = 0x55; /给全局变量赋值 while(1) Uart_Printf(%x,dat

25、a); /向串口送数 Delay(10); 5 使用LDR指令读取0x上的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,若结果大于等于10,则把0写回原地址。然后再次读取0x上的数据,将数据加1,判断结果是否小于10周而复始循环 ADS下程序设计举例(一) COUNT EQU 0x ; 定义一个变量,地址为 ;0x AREA Example2,CODE,READONLY ; 声明代码段Example2 ENTRY ; 标识程序入口 CODE32 ; 声明32位ARM指令 START LDR R1,=COUNT ; R1 = COUNT MOV R0,#0 ; R0 = 0

26、STR R0,R1 ; R1 = R0,即设置COUNT为0 LOOP LDR R1,=COUNT LDR R0,R1 ; R0 = R1 ADD R0,R0,#1 ; R0 = R0 + 1 CMP R0,#10 ; R0与10比较,影响条件码标志 MOVHS R0,#0 ; 若R0大于等于10,则此指令执行,R0 = 0 STR R0,R1 ; R1 0) void Main(void) uint32 i; sum = 0; for(i=0; i0.9Vdd,低电平0.7Vdd,低电平0.3Vdd。特点:噪声容限大,负载能力强。3、 什么是信号的建立时间?什么是信号的保持时间?答: 建立时

27、间:在时钟信号边沿到来之前,数据信号必须提前一段时间保持稳定有效。保持时间:在时钟信号边沿到来之后,数据信号必须在随后的一段时间内保持稳定有效。4、 什么是非抢先式实时操作系统?有何优缺点?它的实时性如何决定?答:对于基于优先级的实时操作系统而言,非抢先式实时操作系统是指某个任务运行后,就把CPU控制权完全交给了该任务,直到它主动将CPU控制权还回来。优点:实时性比不使用实时操作系统的好,程序设计相对简单,可调用不可重入函数(任务间不嵌套)。缺点:如果最长任务的执行时间不能确定,系统的实时性就不能确定。实时性:取决于最长任务的执行时间。5、 简述优先级倒置产生的条件、现象以及解决方案。答:条件

28、:基于优先级抢先式的任务调度、资源共享。现象:低优先级任务L和高优先级任务H共享资源,在任务L占有共享资源之后,任务H就绪,但这时任务H必须等待任务L完成对共享资源的操作。在任务L完成对共享资源的操作之前,任务M也已就绪并将抢先任务L运行。在任务M运行时,系统中具有最高优先级的任务H仍然保持挂起状态。解决方案:优先级继承、优先级顶置。第四套填空1、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。2、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。3、 ARM系列微处理器支持的边界对齐格式有:字节对齐、半字对齐和字对齐。4、 RA

29、M存储器有两种,分别是:SRMA和DRAM。5、 总线由传输信息的物理介质和管理信息传输的协议组成。6、 采用RS232C实现最简单的双机互联,至少需要如下信号线:TXD、RXD和GND。7、 USB通信总线中的事务可能由令牌包、数据包和握手包组成。8、 I/O接口编址方式有两种,分别是:统一编址和独立编址。9、 在宿主机上使用编译器软件将嵌入式应用、嵌入式操作系统编译成为可以在目标机上运行代码的过程,称为交叉编译,而采用的编译器称为交叉编译器。10、 嵌入式操作系统的内核构成包括系统初始化、多任务管理和内存管理。简答1、 请指出USB总线的四种传输类型,并指出每一种传输类型的基本特点。答:四

30、种传输类型:控制传输、批量传输、中断传输和等时传输控制传输:双向,纠错,查询、配置设备信息;批量传输:单向,纠错,大块无结构数据,延迟不定;中断传输:单向,纠错,小块无结构数据,延迟确定;等时传输:单向,无纠错,大块无结构数据,延迟确定。2、 什么是前后台系统?有何优缺点?它的实时性如何决定?答:前后台系统:分为前台程序和后台程序。前台程序也称中断级程序,通过中断来处理事件,在中断服务子程序中,一般对中断做一些简单的处理,然后给出事件发生的标志,待后台程序来处理;后台程序也称任务级程序,一个死循环,循环查询各种标志位,如果标志位置位,就执行相应的任务程序。优点:系统结构简单,几乎不需要额外的存

31、储开销。缺点:所有的任务具有相同的优先级别,任务响应时间不可预测;后台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。实时性:取决于所有其它任务的执行时间之和。3、 简述嵌入式操作系统和实时操作系统的关系。答:“嵌入式”并不意味着“实时”,例如Clinux、Embedded Linux为嵌入式操作系统但非实时操作系统;“实时”并不意味着“嵌入式”,例如OpenVMS(工作站、小型机)为实时操作系统但非嵌入式操作系统;不过实际上,目前的嵌入式操作系统(EOS)基本上是实时相信能就一定能操作系统(RTOS)。勤劳的蜜蜂有糖吃专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁