嵌入式Linux试题及答案.docx
- 文档编号:1339727
- 上传时间:2022-10-20
- 格式:DOCX
- 页数:7
- 大小:80.99KB
嵌入式Linux试题及答案.docx
《嵌入式Linux试题及答案.docx》由会员分享,可在线阅读,更多相关《嵌入式Linux试题及答案.docx(7页珍藏版)》请在冰豆网上搜索。
嵌入式Linux试题及答案
嵌入式Linux试题及答案
《嵌入式开发》期中试卷
试卷适用范围:
2011级计算机科学与技术(本)1、2班
一、填空题(每空1分,共46分)
习题1
1.填空题
(1)嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。
(2)嵌入到对象体系中的专用计算机系统。
嵌入性、专用性与计算机系统是嵌入式系统的三个基本要素。
对象系统是指嵌入式系统所嵌入的宿主系统。
(3)嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SOC)。
(4)嵌入式系统由硬件和软件两大部分组成,硬件一般由高性能微处理器和外围接口电路组成,软件一般由操作系统和应用程序构成,软件和硬件之间由所谓的中间层(BSP层,板级支持包)连接。
(5)嵌入式系统从组织层次上看,嵌入式系统一般由硬件层、中间层、软件层和功能层组成。
(6)在专用的嵌入式板子上面运行GNU/Linux系统已经变得越来越流行。
一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:
引导加载程序、Linux内核、文件系统、用户应用程序。
(7)嵌入式系统硬件的核心部件是各种类型的嵌入式处理器。
(8)嵌入式系统的核心部件是嵌入式处理器,一般把嵌入式处理器分成4类,即微处理器、微控制器、数字信号处理器、和嵌入式片上系统。
(9)ARM公司首创了chipless的生产模式,专门从事基于RISC技术芯片的设计开发,公司本身并不生产芯片,而是设计出高效的IP内核,授权给半导体公司使用。
(10)ARM7TDMI中,T表示支持Thump指令集。
D表示支持片上调试(Debug)。
M表示内嵌硬件乘法器(Multiplier)。
I表示支持片上断点和调试点。
(11)ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。
(12)ARM微处理器有两种工作状态:
Thump状态、ARM状态。
(13)通用寄存器分为三类:
未分组寄存器、分组寄存器、程序计数器(PC)。
(14)异常是由内/外部源引起的需要处理器干预的一个事件。
(15)精简指令集计算机RISC(ReducedInstructionSetComputer)和复杂指令集计算机CISC是当前CPU的两种架构。
(16)ARM微处理器的在较新的体系结构中支持两种指令集:
ARM指令集、Thump指令集。
(17)MMU的作用有两个:
将虚拟地址转化为物理地址、对存储器访问的控制。
习题2
1.填空题
(1)交叉开发环境是由开发主机和目标板两套计算机系统构成的。
(2)OK2440-II开发板采用核心板+底板的模式,核心板为6层,底板为2层。
(3)交叉编译的主要特征是某机器中执行的程序代码不是在本机编译生成,而是由另一台机器编译生成的,一般把前者称为目标机,后者称为宿主机。
(4)基于ARM平台的交叉编译工具链主要有:
arm-linux-*和arm-elf-*。
(5)arm-linux-*是针对linux程序的开发环境的
(6)arm-elf-*是针对uCLinux程序的开发环境
(7)2002年11月,清华大学计算机系的博士后陈渝提出了用软件实现嵌入式开发板硬件模拟器的想法,在模拟器上可以运行各种操作系统,这样就可以在没有开发板的情况下学习和研究操作系统。
于是借鉴了ARMulator的实现,提出了SkyEye项目。
(8)SkyEye是一个指令级模拟器,可以模拟多种嵌入式开发板,可支持多种CPU指令集,在SkyEye上运行的操作系统意识不到它是在一个虚拟的环境中运行,而且开发人员可以通过SkyEye调试操作系统和系统软件。
(9)SkyEye模拟的硬件配置和模拟执行行为由配置文件skyeye.conf中的选项确定。
(10)skyeye.conf的选项主要由两种组成:
单参数选项行、多参数选项行。
(11)TFTP是TCP/IP协议族中的一个用来在客户机与服务器之间进行文件传输的简单协议,主要基于UDP协议来实现。
(12)NFS是由Sun开发并发展起来的文件系统,用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。
(10)PC机上,对于x86系列的处理器,有AT&T和Inter两种语法格式。
(11)目前常用的ARM编译环境有2种:
ARMASM、GNUARMASM。
。
(12)伪操作是ARM汇编语言源程序里的一些特殊助记符,其作用主要是为完成汇编程序做各种准备工作,在源程序汇编期间由汇编程序处理。
(13)宏指令是由用户按照宏定义格式编写的一段程序,其中语句可以是指令、伪操作、伪指令,甚至是已定义的宏指令。
(14)用户可以通过AREA伪操作来定义一个段。
(15)汇编源程序的缺省入口是—start标号,用户也可以在链接脚本文件中用ENTRY标志指明其它入口点。
(16)为了使C语言程序和汇编程序之间能够互相调用,必须为子程序间的调用制定规则,在ARM处理器中,这个规则被称为ATPCS规则。
(17)一般地,当参数个数不超过4个时,使用R0-R3这4个寄存器来传递参数。
(18)在ARM处理器平台上的底层驱动开发,通常会有两种方式:
一种是脱离操作系统的裸机驱动设计方法,这与以前在8位机和16位机上的常用开发方式类同。
另一种就是基于____操作系统的底层驱动设计方法。
(19)—asm用来声明一个内联汇编表达式,所以任何一个内联汇编表达式都是以它开头的,是必不可少的。
(20)在ARM汇编语言程序中,子程序的调用一般是通过BL指令实现。
(21)ELF格式文件有3类:
可重定位的目标文件、可执行文件、共享库。
(22)可从两个视角了解ELF文件格式:
程序链接的视角、程序执行的视角。
(23)每一个链接过程都由链接脚本控制。
二、简答题(共54分)
(13)简述ARM指令集和Thumb指令集各自的特点。
●ARM指令集和Thumb指令集具有以下共同点:
⒈较多的寄存器,可以用于多种用途。
⒉对存储器的访问只能通过Load/Store指令。
项目
ARM指令
Thumb指令
指令工作标志
CPSR的T位=0
CPSR的T位=1
操作数寻址方式
大多数指令为3地址
大多数指令为2地址
指令长度
32位
16位
内核指令
58条
30条
条件执行
大多数指令
只有分支指令
数据处理指令
访问桶形移位器和ALU
独立的桶形移位器和ALU指令
寄存器使用
15个通用寄存器+PC
8个通用低寄存器+7个高寄存器+PC
程序状态寄存器
特权模式下可读可写
不能直接访问
异常处理
能够全盘处理
不能处理
(14)简述嵌入式操作系统的种类与特点。
uC/OS-II:
可应用于8位,16、32位单片机或DSP
windowsCE:
微软开发的一个开放的,可升级的32位嵌入式系统,是基于掌上型电脑类的电子设备操作系统
VxWorks:
专门为实时嵌入式系统设计开发的
Linux:
类似于UNIX的操作系统
PalmOS:
是一个32位的嵌入式操作系统
(15)列出一些知名的嵌入式Linux版本。
ETLinux―设计用于在小型工业计算机,尤其是PC/104模块上运行的Linux的完全分发版。
LEM―运行在386上的小型(<8MB)多用户、网络Linux版本。
LOAF―“LinuxOnAFloppy”分发版,运行在386上。
uClinux―在没有MMU的系统上运行的Linux。
目前支持Motorola68K、MCF5206和MCF5207ColdFire微处理器。
uLinux―在386上运行的tinyLinux分发版。
ThinLinux―面向专用的照相机服务器、X-10控制器、MP3播放器和其它类似的嵌入式应用的最小化的Linux分发版。
(16)简述嵌入式系统的结构。
1.嵌入式系统的硬件架构
2.嵌入式系统的软件结构
图1.2嵌入式系统硬件结构图1.3嵌入式系统软件结构
(17)简述嵌入式系统开发流程、开发要点。
(1)系统需求分析。
(2)体系结构设计。
(3)硬件/软件协同设计。
基于体系结构,对系统的软件、硬件进行详细设计。
(4)系统集成。
(5)系统测试。
(1)通过模拟器进行嵌入式学习,有哪些优点?
1.学习的成本降低,使开发人员比较容易进入嵌入式软件开发的广阔领域
2.可以模拟多种嵌入式开发板,可以支持多种CPU指令集
3.更加方便开发人员调试操作系统和系统软件
(2)交叉开发环境主要由哪些工具组成?
交叉调试环境包括宿主机端的交叉调试器和目标机端的调试代理。
(3)简述采用交叉编译的主要原因?
采用交叉编译的主要原因有两个:
首先,在嵌入式系统开发的起始阶段,目标平台尚未建立,因此需要做交叉编译,来生成所需的BootLoader以及操作系统内核;其次,当目标平台能够启动之后,由于目标机资源的限制,不能提供足够的资源供编译过程使用,因而只好将编译工程转移到高性能的宿主机中进行
(1)简述GCC软件包里包含哪些工具,他们的作用是什么?
1.源代码预处理程序cppcpp0
2.C编译器cc,cclcclplusgcc
3.C++编译器c++,cclplusg++
4.库文件
(2)简述编译C语言源程序时的基本流程。
源程序-----预处理器---编译器----汇编器----链接器---可执行程序
(6)使用编程库的主要优点?
1.可以简化编程,实现代码重复使用,进而减小应用程序的大小
2.可以直接使用比较稳定的代码
(9)简述汇编分类。
X86下的AT&T和INTER
ARM系列的ARMASM和GNUARMASM
(11)在C中嵌入汇编的格式?
asm(“汇编语句”
:
输出寄存器
:
输入寄存器
:
会被修改的寄存器
);
(12)简述C语言与汇编语言混合编程应遵守的规则。
ATPCS规定了一些子程序调用的基本规则,寄存器的使用规则,堆栈的使用规则,以及参数的传递规则
(1)寄存器的使用规则:
子程序之间通过寄存器R0---R3来传递参数,当参数个数多余4个时,使用堆栈来传递参数,此时R0—R3可记住作A1—A4
(2)堆栈的使用规则:
ATPCS规定堆栈采用满递减类型,且对堆栈的操作是8字节对齐,使用STMFD/LDMFD指令
(3)参数的传递规则
整数参数的前4个使用R0—R3传递,其他参数使用堆栈传递;浮点参数使用编号最小且能够满足需要的一组连续的FP寄存器传递参数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 试题 答案