logo资料库

东南大学 嵌入式系统基础 考试卷.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
自 觉 遵 守 考 场 纪 律 如 考 试 作 弊 此 答 卷 无 效 名 姓 号 学 东 南 大 学 考 试 卷 ( A 卷) 课 程 名 称 嵌入式系统基础 考 试 学 期 1 1 - 1 2 - 2 得分 适 用 专 业 软件工程 考 试 形 式 半开卷 考试时间长度 120 分钟 参考资料:教材、课件、作业本 一、填空题(每空格 1 分,共 24 分) 1、ARM 微处理器有____种工作模式,它们分为两类,分别是__________、__________; 其中用户模式属于__________。 七、非特权模式、特权模式、非特权模式。 线 2、ARM 微处理器复位后,PC(R15)的内容通常是_____________,初始的工作模式 是_______________。 0x0、supervisor。 3、ARM 微处理器采用两种总线架构,数据和指令使用同一接口的是冯诺依曼架构,数 据和指令使用不同接口的是________架构,ARM9 20T 采用________架构。 哈佛、哈佛。 4、计算机有 CISC 和 RISC 两种类型,以 ARM 微处理器为核心的计算机属于________ 类型,其指令长度是__________。 封 RISC、定长的。 5、I/O 接口电路数据传送方式有______、______、______、I/O 通道和_ I/O 处理机方式。 查询、中断、DMA。 6、存储一个 32 位数据 0x2168456 到地址为 0x2000~0x2003 四个字节单元中,若以大端 对齐方式存储,则 2000H 存储器单元的内容为__________。 0x02。 密 7、ARM 汇编语句“ADDS R2,R2,R3,LSL#1”的作用是___________________。 R2=R2+(R3〈〈1)设置标志位。 8、ARM 汇编语句“LDR R2,[R3,#128]”的寻址方式是_______________。 变址寻址。 9、IRQ 中断的入口地址是_______________,FIQ 中断的入口地址是_______________。 0x00000018、0x0000001C。 10、Nand-Flash 的读取速度比 Nor-Flash______;Nand-Flash 的写入速度和擦除速度比 Nor-Flash______。 慢、快。 11、ARM Linux 移植主要工作是把编译生成的________、Kernel Image 和_______,并 烧写到 Flash 中。 Boot-loader、Root File。 12、嵌入式系统开发一般采用______________方式,其中宿主机一般是指_____________。 宿主机/目标机、PC 机或台式机 共 4 页 第 1 页
二、指令和程序测试题(3 小题,共 20 分) 1、初始值 R1=0x23,R2=0x0F;执行指令 BIC R0,R1,R2,LSL#1 后,寄存器 R0、 R1 的值分别是多少?(4 分) R1=0x21,R2=0x23 2、写一段 ARM 汇编程序:循环累加队列 myarray 中的所有元素,直到碰上零值元素, 结果放在 R4 中。程序框架如下,补充代码完成上述功能。(8 分) AREA total,CODE,READONLY ENTRY start MOV R4, #0 ADR R0, myarray ;再此补充代码 3、试补充编写一段 ARM 汇编代码,实现下面流程图功能。(8 分) AREA example,CODE,READONLY ENTRY start MOV R0, #15 MOV R0, #9 ;再此补充代码 共 4 页 第 2 页
三、问答题(每小题 8 分,共 56 分) 1、CPSR 中如何修改 I、F、T、MODE 位?在程序的何处修改?何模式下修改? 答:CPSR 中的 T 控制位使用 BX 指令完成处理器状态的切换(BX 指令属分支 指令,它会打断流水线状态,实现处理器状态切换)。MRS 与 MSR 配合使用, 实现 CPSR 寄存器的读-修改-写操作。修改 I,F,T,MODE 位时先将 CPSR 中的 内容通过 MRS 指令读到通用寄存器中,再将要修改的位所确定的立即数通过 MSR 指令写入状态寄存器 CPSR 中,只有在特权模式下才能修改。 2、表示递增和递减的满堆栈和空堆栈有哪几种组合,请比较它们的特点。 答:满递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向内含有效数据项的最 高地址。指令如 LDMFA,STMFA 等。 空递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向堆栈上的第一个空地址。 指令如 LDMEA,STMEA 等。 满递减:堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地 址。指令如 LDMFD,STMFD 等。 空递增:堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空地址。 指令如 LDMED,STMED 等。 3、Linux 系统的设备驱动程序功能有哪些? 答:设备驱动的功能有: 1)对设备初始化和释放; 共 4 页 第 3 页
2)把数据从内核传送到硬件和从硬件读取数据; 3)读取应用程序传送给设备文件的数据和回送应用程序请求的数据; 4)检测和处理设备出现的错误。 4、Boot-loader 是什么样的一段程序?它的 stage1 和 stage2 的作用分别是什么? 答:Boot-loader 是嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。 stage1 主要完成:硬件设备初始化;为 stage2 准备 RAM 空间;拷贝 stage2 到 RAM 空间中;设置好堆栈;跳转到 stage2 的入口。 stage2 主要完成:初始化硬件设备;检测系统内存映射;将 kernel 映像和根文件系 统映像从 Flash 上读到 RAM;为内核设置启动参数;调用内核。 5、基于 ARM 核的嵌入式系统开发环境主要包括哪些组件? 6、进行基于 ARM 核的嵌入式系统软件开发时,调用如下函数: int do_something(int arg1, void *arg2, char arg3, int *arg4) 则这四个参数通过什么方式从调用程序传入被调函数? 7、在基于 ARM 核的嵌入式系统编程中,任何在汇编语言程序访问 C 语言的全局变量? 共 4 页 第 4 页
分享到:
收藏