一、选择题
1、要使CPU能够正常工作,下列哪个条件不是处理器必须满足的( D ) (A) 处理器的编译器能够产生可重入代码 (B) 在程序中可以找开或者关闭中断 (C) 处理器支持中断,并且能产生定时中断 (D) 有大量的存储空间 2、下面哪种操作系统最方便移植到嵌入式设备中( D ) (A) DOS (B)UNIX (C) Windows xp (D)LINUX 3、下面哪个选项不是USB设备的特点( B )
(A) 串行通信方式 (B)不可热拨插 (C) 分HOST、DEVICE和HUB (D)通信速率比RS232快 4、下面哪种嵌入式操作系统很少用于手机终端设备上( C ) (A) Symbian (B)WINCE (C) uc/os (D)LINUX
5、以下哪项关于SRAM和DRAM的区别是不对 ( A )
(A) SRAM比DRAM慢 (B)SRAM比DRAM耗电多 (C) DRAM存储密度比SRAM高得多 (D)DRM需要周期性刷新 6、UC/OS操作系统不包含以下哪几种状态( C ) (A) 运行 (B)挂起 (C) 退出 (D)休眠 7、0X07&0X11的运算结果是( A ) (A) 0X01 (B)0X11 (C) 0X17 (D)0X07
8、以下哪种方式不是UC/OS操作系统中任务之间通信方式( C ) (A) 信号量 (B)消息队列 (C) 邮件 (D)邮箱 9、以下哪种方式不是文件系统的格式( B ) (A) FAT (B)DOS (C) NTFS (D)EXT
10、在将UC/OS操作系统移植到ARM处理器上时,以下哪些文件不需要修改( A ) (A) OS_CORE.C (B)INCLUDE.H (C) OS_CPU.H (D)OSTASKINIT 11、以下说法不正确的是(B )。
A、任务可以有类型说明 B、任务可以返回一个数值 C、任务可以有形参变量 D、任务是一个无限循环 12、下列描述不属于RISC计算机的特点的是(C)。
A.流水线每周期前进一步。 B.更多通用寄存器。 C.指令长度不固定,执行需要多个周期。
D.的Load和Store指令完成数据在寄存器和外部存储器之间的传输。 13、存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( D)。
A、0x21 B、0x68 C、0x65 D、0x02
14、μCOS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(D) A. 先CLI、执行关键代码、再STI
大全
标准文案
B. 先STI、执行关键代码、再CLI C. 先POPF、CLI、执行关键代码、再PUSHF D. 先PUSHF、CLI、执行关键代码、再POPF。
15、RS232-C串口通信中,表示逻辑1的电平是(D )。
A、0v B、3.3v C、+5v~+15v D、-5v~-15v 16、ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A)。 A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2
17、 IRQ中断的入口地址是( C)。FIQ的入口地址为0x0000001C
A、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014 18、S3C2420X I/O口常用的控制器是(D)。 (1)端口控制寄存器(GPACON-GPHCON)。 (2)端口数据寄存器(GPADAT-GPHDAT)。 (3)外部中断控制寄存器(EXTINTN)。 (4)以上都是。
19、实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来信息,或建立某个条件后再向前执行,这种制约性合作关系被成为(A)。 A. 同步 B. 互斥 C. 调度 D. 执行
20、和PC系统机相比嵌入式系统不具备以下哪个特点( C)。
A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简 21 、ADD R0,R1,#3属于(A)寻址方式。
A. 立即寻址 B. 多寄存器寻址 C. 寄存器直接寻址 D. 相对寻址 22、GET伪指令的含义是( A)
A. 包含一个外部文件 B. 定义程序的入口 C. 定义一个宏 D. 声明一个变量 23、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存 储,则2000H存储单元的内容为( C)。
A、0x00 B、0x87 C、0x65 D、0x61 24、μCOS-II操作系统不属于( C)。
A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统
25、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,[R1,#8]!后R0的值为(D )。
A. 0x2000 B. 0x86 C. 0x2008 D. 0x39 26、寄存器R13除了可以做通用寄存器外,还可以做(C )。
A、程序计数器 B、链接寄存器 C、栈指针寄存器 D、基址寄存器 27、FIQ中断的入口地址是( A)。
A、0x0000001C B、0x00000008 C、0x00000018 D、0x00000014 28、ARM指令集和Thumb指令集分别是(D )位的。
A. 8位,16位 B. 16位,32位 C. 16位,16位 D. 32位,16位 29、ARM寄存器组有(D )个寄存器。
A、7 B、32 C、6 D、37
30、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDR R0,[R1,#8]!后R0的值为(D )。
A. 0x2000 B. 0x28 C. 0x2008 D. 0x87 31、寄存器R15除了可以做通用寄存器外,还可以做( A)
大全
标准文案
A. 程序计数器 B. 链接寄存器 C. 堆栈指针寄存器 D. 基址寄存器 32、嵌入式系统有硬件和软件部分构成,以下(C)不属于嵌入式系统软件。 A. 系统软件 B. 驱动 C. FPGA编程软件 D. 嵌入式中间件
33、假设R1=0x31,R2=0x2 则执行指令ADD R0,R1,R2 LSL #3 后,R0的值是( C) A. 0x33 B. 0x34 C. 0x39 D. 0x38
34、和PC机系统相比下列哪个不是嵌入式系具的特点(C)
A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简 35、Unicode编码与(A)编码方式兼容。
A、ASCII码 B、GBK C、GB2312 D、区位码
36 、Cache用于存放主存数据的部分拷贝,主存单元地址与Cache单元地址之间的转换用(A)完成。
A.硬件 B. 软件 C. 用户 D. 程序员
37、在μC/OS-II系统中,OSTimeTick()函数只被以下(A)函数或过程所调用。 A. OSTickISR B. OSShed C. OSCtxSw D. OSIntCtxSw
38、每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是(D)。 A. 嵌入式Linux提供了完善的网络技术支持; B. CLinux是专门为没有MMU的ARM芯片开发的; C. C/OS-Ⅱ操作系统是一种实时操作系统(RTOS); D. WinCE提供完全开放的源代码。
39、下列关于存储管理单元(MMU)说法错误的是(B)。
A. MMU提供的一个关键服务是使各个任务作为各自的程序在其自己的私有存储空间中运行。
B. 在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。
C. MMU提供了一些资源以允许使用虚拟存储器。
D. MMU作为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址。
40、下列CPSR寄存器标志位的作用说法错误的是(D)。 A. N:负数 B. Z: 零 C. C: 进位 D. V: 借位
41、S3C2410X处理器为用户进行应用设计提供了支持多主总线的IIC接口。处理器提供符合IIC协议的设备连接的串行连接线为(C)。
A. SCL和RTX B. RTX和RCX C. SCL和SDA D. SDA和RCX
42、 RQ中断的优先级别是( D )。
A. 1 B. 2 C. 3 D. 4
43、LDR R2,[R3,#128] 的寻址方式是( C )。
A. 寄存器寻址 B. 寄存器移位 C. 变址寻址 D. 间接寻址
44、S3C2410有( B )个USB接口。
A. 1 B. 2 C.3 D. 4 45、ARM处理器的工作模式有( C )种。 A. 5 B.6 C. 7 D.8
46、下面哪种操作系统不属于商用操作系统( B )。
A. windows xp B. Linux C. VxWorks D. WinCE 47、下面哪点不是嵌入式操作系统的特点( C )
A. 内核精简 B. 专用性强 C. 功能强大 D. 高实时性
大全
标准文案
48、下面哪种不属于嵌入式系统的调试方法( D ) A. 模拟调试 B. 软件调试 C. BDM/JTAG调试 D. 单独调试 49、在嵌入式ARM处理器中,下面哪种中断方式优先级最高( A ) A. Reset B. 数据中止 C. FIQ D. IRQ 50、NAND FLASH和NOR FLASH的区别正确的是( D )
A. NOR的读速度比NAND稍慢一些 B. NAND的写入速度比NOR慢很多
C. NAND的擦除速度远比NOR的慢 D.大多数写入操作需要先进行擦除操作 51、下面哪种嵌入式操作系统很少用在手机上( D )
A. Symbian B. linux C. Win CE D. VxWorks 52、0X17&0X11的运算结果是( A )
A.0X01 B.0X11 C. 0X17 D. 0X07 53、以下哪种方式不属于文件系统的格式( B ) A. FAT B. DOS C. NTFS D. EXT 54、系统响应时间和作业吞吐量是衡量计算机系统性能的重要指标。对于一个持续处理业务的系统而言,( B )表明其性能越好。
A. 响应时间越短,作业吞吐量越小 B. 响应时间越短,作业吞吐量越大 C. 响应时间越长,作业吞吐量越大 D. 响应时间不会影响作业吞吐量 55、下面关于计算机存储原理说法错误的是( B )。 A. 存储器由大量可以存储二进制数据的存储单元组成 B. 数据总线从存储器中获取数据的过程称为写操作
C. 程序执行时,读取指令是指计算机自动从存储器中取出一条指令 D. 虚拟存储技术缓解主存容量小的矛盾
57、虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用( B )作为它的一个主要组成部分。
A. 软盘 B. 硬盘 C. CD-ROM D. 寄存器 58、下面哪种机制是锁定范围最小的互斥方法( B )。
A. 关中断 B. 使用测试指令并置位指令 C. 禁止任务切换 D. 信号量 59、下面哪种结构不属于嵌入式操作系统体系结构( B)。
A. 单块结构 B. B/S结构 C. C/S结构 D. 层次结构 60、下面哪点不是嵌入式TCP/IP网络系统的特点( C )
A. 可裁减 B. 可扩展 C. 采用直接内存拷贝 D. 采用静态分配技术 二、填空
1、一般而言,嵌入式系统的构架可以分为4个部分:处理器、( 存储器 )、输入/输出和软件,一般软件亦分为( 操作系统相关 )和应用软件两个主要部分。
嵌入式系统软件开发工具可以分为需求分析工具,( 软件设计工具 ),( 编码、调试工具 ),测试工具四种。
大全
标准文案
2、嵌入式软件交叉开发环境包括宿主机,( 目标机 ),物理连接和逻辑连接。物理连接的连接方式主要有三种:串口、( 以太口 )、OCD。 3、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系统和( 分时操作系统 ),其中实时系统亦可分为( 硬实时操作系统 )和软实时系统。 4、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的( 通信 ),内核的基本服务是( 任务调度 )。
5、嵌入式开发一般采用( 宿主机/目标机 )方式,其中宿主机一般是指( PC机/台式机 )。
5、造成优先级反转的主要原因是使用了( 信号量方法 )来保护临界资源,其初始值一般为( 1 )。 6、大多数嵌入式系统有两种时钟源,分别为( 实时时钟RTC ),( 定时器/计数器 )。 7、操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、( 内存管理 )、( 文件管理 )、I/O资源管理。
8、哈佛体系结构数据空间和地址空间( 分开 ),ARM920T采用( 哈佛 )的内核架构。
9、ARM7TDMI采用( 3 )级流水线结构,ARM920TDMI采用( 5 )级流水线。
10、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,( 嵌入式微处理器 ),( 嵌入式DSP处理器 )以及片上系统。
11、操作系统是联接硬件与应用程序的系统程序,其基本功能有( 进程管理 )、进程间通信、( 内存管理 )、I/O资源管理。
12、从嵌入式操作系统特点可以将嵌入式操作系统分为( 实时操作系统 )和分时操作系统,其中实时系统亦可分为( 硬实时操作系统 )和软实时系统。 13、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的( 通信 ),内核的基本服务是( 任务切换 )。
14、嵌入式开发一般采用( 宿主机/目标机 )方式,其中宿主机一般是指( PC机/台式机 )。 15、哈佛体系结构数据空间和地址空间( 分开 ),ARM7TDMI采用( 冯诺依曼体系 )的内核架构。
16. ARM7TDMI采用( 3 )级流水线结构,ARM920TDMI采用( 5 )级流水线。 17 .按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于( 分时 )操作系统,VxWorks属于( 实时嵌入式 )操作系统。
18、ARM7TDMI中,T表示支持16位Thumb指令集,D表示( 在片可调试 debug ),M表示内嵌乘法器Multiplier,I表示( 嵌入式ICE ),支持在线断点和调试。 18、嵌入式系统的设计可以分成三个阶段:分析、 设计 和 实现
19、目前使用的嵌入式操作系统主要有 Windows CE/Windows Mobile Linux、uCos、和
Symbian
20、XScale微处理器使用的是ARM公司 ARMV5TE 版内核和指令集。
21、微处理器有两种总线架构,使用数据和指令使用同一接口的是 冯诺依曼 ,分开
的指令和数据接口、取指和数据访问可以并行进行的是 哈佛结构
22、ARM微处理器有七种工作模式,它们分为两类 非模式 、 模式 。
其中用户模式属于 非模式
23、ARM核有两个指令集,分别是 ARM 、 Thumb 24、 ARM微处理器复位后,PC(R15)的地址通常是 0X0 ,初始的工作模式是 supervisor
大全
标准文案
25、在ARM体系构架中对复杂的内存管理是通过系统控制协处理器 cp15 和MMU(存储管理部件)来进行的。当系统发生 Data Abort(数据)异常和 Prefetch Abort(指令领取) 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。
26、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU工具链 ,ARM公司提供的工具链是 ADS工具链
27、嵌入式系统是以( 应用 )中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的( 专用计算 )机系统。 28、RS-232C的帧格式由四部分组成,包括:( 起始位 )、( 数据位 )、( 奇偶校验位 )和( 停止位 )
29、在嵌入式系统设计过程中,需求分析包括:( 功能性需求分析 ) 和 ( 非功能性需求分析 )
30、总线按照传输关系分类可分为:( 主从结构 ) 和 ( 对等结构 ) 。 三、判断题
1、 程序运行过程中的资源可以是显示器、键盘,但不可以是一个数组或变量(X) 2、 在μCOS-II操作系统中,已知Task1的优先级为12,Task2的优先级为26。假如在Task2
运行过程中发生键盘中断,在执行中断服务程序时Task1进入就绪状态,则中断返回时Task1得到CPU的使用权。(√ )
3、 若定义任务task1的优先级为12,则不能再定义其他任务的优先级也为12(√ ) 4、 任务创建后即开始调度(X)
5、 液晶工作在文本模式下时,既可以显示英文字符也可以显示汉字(X) 6、 处于就绪状态的任务只能切换到运行状态(X)
7、 等待消息函数WaitMessage(0)中的“0”表示此函数的超时等待时间为0秒(X) 8、 若OSTaskSuspend (prio)函数把正在延时的任务挂起,则调用一次对应的唤醒函数即
可使该任务切换到就绪状态。(X)
9、 调试程序时,需要停止程序运行后才可查看变量内容(√ ) 10、 μCOS-II操作系统中移植成功后即可使用文件系统(X) 11、 将模拟信号转换成数字信号的电路是DA转换器。(×) 12、 IIC是同步串行数据总线,。(√)
13、 S3C2410的处理器对内存的访问只能通过Load/Store指令来实现。(√) 14、 Nand Flash比Nor Flash成本高,可靠性差。(×) 15、 C语言程序可以嵌套加入汇编程序模块。 (√)
16、 运算放大器的输出电压范围一般大于电源电压的范围。(×)
17、 由于CPU内部寄存器的访问速度较高,根据ATPC标准,应尽可能使函数的参数控制在
4个以下。(√)
18、ARM处理器结构体系中具有T变种处理器核可以工作在ARM状态和Thumb状态。(√) 19、所有的电子设备都属于嵌入式设备。(×)
20、冯诺依曼体系将被哈佛总线所取代。 (×) 21、嵌入式uc_os操作系统属于免费的操作系统。(√) 22、移植操作系统时需要修改操作系统中与处理器直接相关的程序。 (√) 23、USB2.0的最大通信速率为12M/S。(×) 24、C语言程序可以嵌套加入汇编程序模块。 (√)
25、处于就绪状态的任务只能切换到运行状态。 (×)
26、等待消息函数WaitMessage(0)中的“0”表示此函数的超时等待时间为0秒。 (×)
大全
标准文案
27、任务创建后即开始调度。 (×) 28、IIC是同步串行数据总线。 (√)
29、Nand Flash比Nor Flash成本高,可靠性差。 (×)
30、S3C2410的处理对内部的访问只能通过Laod/Store指令来实现。 (√) 四、简答题
1、ARM处理器有几种工作模式?并做说明每种工作模式的含义。 ARM处理器有7种工作模式:
用户模式(usr)- 正常程序执行的模式 快速中断模式(fiq)- FIQ异常响应时进入此模式 中断模式(irq)- IRQ异常响应时进入此模式 管理员模式(svc)- 系统复位和软件中断响应时进入此模式 中止模式(abt)- 用于虚拟存储及存储保护 系统模式(sys)- 与用户类似,但有直接切换到其它模式等 未定义模式(und)- 未定义指令异常响应时进入此模式 除了用户模式外,其他模式均可视为模式 2、根据嵌入式系统的特点,写出嵌入式系统的定义。
以应用为中心 以计算机技术为基础 软硬件可裁减 功能 可靠性 成本 体积 功耗严格要求的专用计算机系统
3、 试分析实时操作系统的工作状态特点及相互之间的转换。
运行:获得CPU控制权
就绪:进入任务等待队列,通过调度中转为运行状态
挂起:任务发生阻塞,称出任务等待队列,等待系统实时事件的发生而被唤醒 从而转为就绪或者运行
休眠:任务完成或者错误等原因被清除的任务,也可以认为是系统中不存在任务 4、嵌入式开发环境主要包括哪些组件?
嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括
JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE
5、ARM核中什么寄存器用于存储PC?R13通常用来存储什么?R14通常用来存储什么? R15用于程序计数寄存器PC,R13通常用来做堆栈指针寄存器,R14通常用来做链接寄存器,保存函数调用的返回地址
6、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作? Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。
7、简述嵌入式系统的概念、组成及特点。
嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。 其特点有
大全
标准文案
用相结合后的产物
行
或单片机本身中
8、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接? RS-232,以太网口、并口
在Windows主机上使用超级终端软件 在Linux主机上使用Minicom软件
9、进行基于ARM核的嵌入式系统软件开发时,调用如下函数: int do_something(int arg1,void *arg2,char arg3,int *arg4) 则这四个参数通过什么方式从调用程序传入被调函数? 基于ARM核的嵌入式系统软件开发时,调用函数和子程序通过R0——R3四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1通过R0传入, arg2, 通过R1传入,arg3通过R2传入,arg4通过R3传入。 10、试写抢占式和非抢占式的区别。
执行的过程中对中断处理方式不一样,抢占式:某一中断执行完成后,如果有更高优先级 的任务处于就绪状态,将执行更高优先级任务,而非抢占式不一样,一个任务只有主动放弃 CPU的控制权,其它任务才能够获得CPU控制权。
11. 什么是嵌入式系统?其特点有些什么?
答: 嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。” 特点:1)是专用的计算机系统,用于特定的任务;
2)资源较少,可以裁减;
3) 功耗低,体积小,集成度高,成本低; 4)使用实时操作系统;
5) 可靠性要求更高,具有系统测试和可靠性评估体系; 6)运行环境差异大
7)大部分程序固化在 ROM中; 8) 较长的生命周期;
9)嵌入式微处理器通常包含专用调试电路
12. 嵌入式系统的BooTLoader的功能是什么?
答:BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。) 13. 目前嵌入式操作系统有哪些?
答:1)µC/OS-II 嵌入式操作系统内核;2)VxWorks嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统 ;5)Symbian操作系统
大全
标准文案
14. 构造嵌入式开发环境有哪几种形式?
答:1)交叉开发环境 ;2)软件模拟环境 ;3)评估电路板 15. 嵌入式系统开发的基本流程? 答:1)系统定义与需求分析;
2)系统设计方案的初步确立;
3)初步设计方案性价比评估与方案评审论证; 4)完善初步方案、初步方案实施; 5)软硬件集成测试;
6)系统功能性能测试及可靠性测试。
16. 什么是可编程片上系统?
答:用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC.它是一
种特殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。 17. 有时要使用Thumb技术的原因
答:(Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的一个特殊的16位指令集。)在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统用Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却取得以ARM代码执行的最好性能,可以带来低功耗,小体积,低成本。 18. ARM处理器的工作模式有哪几种? 答:1)正常用户模式(usr);
2)快速中断模式(fiq); 3)普通中断模式(irq);
4)操作系统保护模式(svc)或 管理模式 ; 5)数据访问中止模式(abt);
6)处理未定义指令的未定义模式(und);
7)运行级的操作系统任务的系统模式(sys)。
19. 寄存器R13,R14,R15的专用功能各是什么?
答:1)寄存器R13保存堆栈指针SP;2)寄存器R14用作子程序链接寄存器,也称为LR ,用以保存返回地址;3)R15(PC)用作程序计数器。 20. 寄存器CPSR,SPSR的功能各是什么?
答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。
2)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存
CPSR的状态,以便异常返回后恢复异常发生时的工作状态。
21. ARM的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令?
答:1)复位(Reset)异常(管理模式);
2)未定义指令(undefined instruction)异常(未定义模式); 3)软件中断(SWI)异常(管理模式);
4)指令预取中止(Prefech Abort)异常(中止模式); 5)数据访问中止(Data Abort)(中止模式); 6)快速中断请求(FIQ)(FIQ模式); 7)外部中断请求(IRQ)(IRQ模式)。
大全
标准文案
异常返回指令:1)SWI,未定义的返回:MOVS PC,R14;2)IRQ,FIQ,预取中止的返回:SUBS PC,R14,#4;3)数据中止返回并重新存取:SUBS PC,R14,#8
异常中断的优先级:复位(最高优先级)--> 数据异常中止--->FIQ --> IRQ--->
预取指异常中止--->SWI---->未定义指令(包括缺协处理器)。 22. 什么是小端和大端存储器组织?
答:1)小端存储器组织是较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址(同同小)。 2) 大端存储器组织是较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址(正反大)。 23. 什么是数据的边界对齐?
答:默认情况下,ADS编译器使用的是数据类型的自然边界对其方式。数据的自然对其方式是指:如果该数据类型是n个字节的,那么该数据类型就按n字节对齐。 24. ARM核现在有哪几种?
答:ARM7、 ARM9、ARM9E 、ARM10E,、SecurCore 、ARM11 25. ARM的寻址方式有哪些?各写一条说明。
答:1)立即寻址 (1) ADD R0,R0,#1 /*R0←R0+1*/
(2)ADD R0,R0,#0x3f /*R0←R0+0x3f*/;
2)寄存器寻址(ADD R0,R1,R2 /*R0←R1+R2*/); 3)寄存器间接寻址 (1)、LDR R0,[R1] /*R0←[R1]*/;
(2)STR R0,[R1] /*[R1]←R0*/;
4)基址加偏址寻址(1)、LDR R0,[R1,#4];R0←[R1+4];
(2)、LDR R0,[R1,#4]!;R0←[R1+4]、R1←R1+4; (3)、LDR R0,[R1] ,#4;R0←[R1]、R1←R1+4
5)堆栈寻址(1)、 STMFD SP! {R1-R7,LR};
(2)、LDMFD SP! {R1-R7,LR};
6)块拷贝寻址(1)、LDMIA R0!, {R2-R9};(2)、STMIA R1,{R2,R9}; 7)相对寻址
26. 在ARM的立即寻址方式下其立即数如何在指令编码中表示?
答:在ARM数据处理指令中,当参与操作的第二操作数为立即数型时,每个立即数都是
采用一个8位的常数循环右移偶数位而间接得到。其中循环右移的位数由一个4位二进制的两倍表示,如果立即数记作 条ADD指令或SUB指令来实现该ADR指令的功能。而ADRL伪指令与ADR指令的最大不同之处是,它可以读取更大范围内的地址,而且被编译器替换成2条数据处理指令。LDR将一个32位的立即数或者一个地址值读取到寄存器中。大范围的地址读取。NOP在汇编时将被替换成ARM中的空操作。 28. 指令LDR R1,=0xFFF是如何将立即数0xfff读入到R1的? 答:由于需要读取的寄存器的数据超过了MOV及MVN指令可操作的范围,编译器将该常数放在数据缓冲区中,同时用一条基于PC的LDR指令读取该常数。 LDR R1,[PC,offset_to_LPOOL]. ............ LTORG ;声明数据缓冲池 大全 标准文案 LPOOL DCD OxFFF; OxFFF放在数据缓冲池中。 29. 如何在c语言程序中内嵌汇编? 答:内嵌的汇编指令包括大部分的ARM指令和Thumb指令,但是不能直接引用C的变量定义,数据交换必须通过ATPCS进行。嵌入式汇编在形式上表现为定义的函数体。 30. 如何在汇编语言程序访问C语言的全局变量? 答:汇编程序可以通过地址间接访问在C语言程序中声明的全局变量。通过使用IMPORT关键词引人全局变量,并利用LDR和STR指令根据全局变量的地址可以访问它们。 对于不同类型的变量,需要采用不同选项的LDR和STR指令,如下所示: 1)unsigned char—— LDRB/STRB; 2)unsigned short——LDRH/STRH; 3)unsigned int——LDR/STR; 4)char ——LDRSB/STRSB; 5)Short——LDRSH/STRSH 31. 在C语言程序如何调用汇编语言程序? 答:为了保证程序调用时参数的正确传递,汇编程序的设计要遵守ATPCS。在汇编程序中需要使用EXPORT伪操作来声明,使得本程序可以被其它程序调用。同时,在C程序调用该汇编程序之前需要在C语言程序中使用extern关键词来声明该汇编程序。 32. 汇编语言程序调用C语言程序? 答:为了保证程序调用时参数的正确传递,汇编程序的设计要遵守ATPCS。在C程序中不需要使用任何关键字来声明将被汇编语言调用的C程序,但是在汇编程序调用该C程序之前需要在汇编语言程序中使用IMPORT伪操作来声明该C程序。在汇编程序中通过BL指令来调用子程序。 33. 在嵌入式C语言程序设计中为提高程序效率的相关设计技巧。 答:1)变量定义;2)参数传递;3)循环条件;4)以空间换时间;5)数学方法解决问题;6)使用位操作;7)嵌入汇编。 34.Linux操作系统的内核、文件系统、编程接口等。P192 P201 答:Linux的内核也有很多种,例如普通的Linux内核、uClinux内核、RTLinux内核等 35.嵌入式Linux操作系统的特点。 答:广泛的硬件支持、内核高效稳定、开放源码,软件丰富、优秀的开发工具、完善的网络通信和文件管理机制, 36.Windows CE操作系统及其特点。 Windows CE是一个32位、多任务、多线程的操作系统,其开放式的设计结构适用于各种各样的设备,其主要特点: 一、CE是一种压缩并可升级的软件系统,即使在小内存条件下,也能提供较高的性能。 二、CE具有便于携带的优点,可以运行于多种微处理器上 三、CE拥有很好的电源管理系统,能延长移动设备的电池寿命 四、CE支持标准的通讯系统,可以非常方便地访问Internet,发送和接受电子邮件,浏览万维网。 五、阅读程序 1、下列程序实现将一个数从内存某地址中取出一个字,然后将该数进行了处理,结果放回内存中该数的相邻的下一字地址中,阅读程序并说明每条语句的作用。 大全 标准文案 (1) 将寄存器R0所指地址中的数据取出放置R1 (2) 将R1中的数据左移3位,实现乘以8的功能,结果放置R0中 (3) 将立即数20放置R2中 (4) 将R1中和R2中的数相加,实现R1中的数加20的作用 (5) 将R1中的数据存入取出数据内存的下一地址 2、下列程序是ARM指令与Thumb指令的混合编程,阅读程序后回答问题。 (1) 请指出那些代码是ARM指令,那些代码是Thumb指令? (2) 第6行代码进行什么操作,为什么要加1? (3) 请指出第7行、第13行以及第19行指令的异同点 答:(1)ARM指令为第4-8行。Thumb指令为10-19行 (2)为ARM指令向Thumb指令的切换做准备,下一行bx根据R0的最低位是非为1,来决定是否切换到Thumb指令 (3)相同点是都进行了跳转。第7行是带状态切换的跳转,第13行是带连接的跳转,第19行也是带状态切换的跳转,并且是跳转到连接寄存器指向的地址。 3、根据一段完整的汇编语言代码回答下面的问题 大全 标准文案 大全 标准文案 问题:(1)语句(*1*)和(*2*)实现什么功能? (2)这段代码总体完成什么功能? (3)分析一下程序的流程和细节、 答:(1)保护现场和恢复现场、 (2)将20个字(字长32位,每字为4个字节)的数据从内存的一个区(src指向的)复制到另外一个区间(dst指向的) (3)程序实现20个字的内存之间的数据复制。使用ldm和stm指令实现多个字少的数据加载与存储,一次处理8个字,2次循环共实现16个字的数据复制。不足8个字的数据ldr与str指令实现单字的数据加载与存储,4次循环共实现4个字的数据复制。 4、在书写makefile时,适当使用变量替换会使其进一步得到简化。题中给出了一个makefile的原始写法,随后给出了经变量替换后的前三行语句,请在下划线上填写后续语句。 完整的makefile原始写法如下: david: kang.o yul.o gcc kang.o yul.o –o david kang.o: kang.c kang.h gcc –Wall –g –c kang.c –o kang.o yul.o: yul.c yul.h gcc –Wal l –g –c yul.c –o yul.o 经过变量替换后的makefile如下: OBJS=kang.o yul.o CC=gcc CFLAGS=-Wall –g 答:david: $(OBJS) $(CC) $(OBJS) –o david kang.o: kang.c kang.h $(CC) $(CFLAGS) –c kang.c –o kang.o 大全 标准文案 yul.o: yul.c yul.h $(CC) $(CFLAGS) –c yul.c –o yul.o 5、已知hello.h和hello.c两个文件,按要求将所需命令写在下滑线上。 预处理阶段的命令好是: (1) 编译阶段的命令是: (2) 汇编阶段的命令是: (3) 链接阶段的命令是: (4) 运行可执行文件的命令是: (5) 答:gcc -E hello.c -o hello.i gcc -S hello.i -o hello.s gcc -c hello.s -o hello.o gcc hello.o -o hello ./hello 大全
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务