嵌入式系统期末复习汇总_第1页
嵌入式系统期末复习汇总_第2页
嵌入式系统期末复习汇总_第3页
嵌入式系统期末复习汇总_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统期末复习汇总1 .简述bootloader的概念?答:简单地说,BootLoader就是在操作系统内核或用户应用程序运行之前运行的一段小程序。通过这段小程序, 我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调 用操作系统内核或用户应用程序准备好正确的环境。对于一个嵌入式系统来说,可能有的包括操作系统,有的小型 系统也可以只包括应用程序,但是在这之前都需要BootLoader为它准备一个正确的环境。2. 在Linux系统中,驱动程序可以采用哪种方式加载?答:在Linux系统中,驱动程序可以采用两种方式进行加载。1) 可以和内核一起编译

2、,在内核启动时自动加载该驱动;2) 驱动程序模块动态加载方式,使用 insmod和rmmod加载和卸载驱动程序模块。3. 与通用计算机相比,嵌入式系统有哪些特点?答:与通用计算机相比,嵌入式系统有以下特点:(1) 嵌入式系统通常是面向特定应用的;(2) 嵌入式系统的硬件和软件必须高效率地设计,做到量体裁衣、去除冗余;(3) 有实时操作系统的支持;(4) 嵌入式系统具有较长的生命周期;(5) 嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储在磁盘等载体中;(6) 具有专门的开发工具支持。4. 试比较单一内核和微内核的异同?答:单一内核是指操作系统中所有的系统相关功能都被封装在内

3、核中,它们与外部程序处在不同的内存地址空间中,并通过各种方式防止外部程序直接访问内核中的数据结构,程序只有通过一套称作系统调用(System Call)的界面访问内核结构。而在微内核结构中,操作系统的内核只需要提供最基本、最核心的一部分操作(如创建和删除任务、内存管理、 中断管理等)即可,而其他管理程序(如文件系统、网络协议栈等)则尽可能放在内核以外,这些外部程序可以独 立运行,并对外部用户程序提供操作系统服务,服务之间使用进程间通信机制(IPC)进行交互。微内核使操作系统内部结构变得简单清晰,在内核以外的外部程序分别独立运行,其间并不互相关联,从而能方便地实现维护和拆装。5. 简述Linux

4、操作系统的特点。答:Linux操作系统具有以下特点:(1) 开放性;(2) 多用户;(3) 多任务;(4) 稳定性强;(5) 设备独立性;(6) 提供了丰富的网络功能;(7) 可靠的系统安全;(8) 良好的可移植性;(9) 应用软件多。6 . ARM7TDMI是目前使用最广泛的 32位嵌入式RISC处理器,请说明其中 TDMI的基本含义?答:TDMI的基本含义为:T表示支持16位压缩指令集Thumb , D表示支持片上Debug, M表示内嵌硬件乘法 器Multiplier , I表示嵌入式ICE、支持片上断点和调试点。7 .简述 BootLoader中stage1通常包含的主要步骤?答:Bo

5、otLoader的stage1通常包含以下步骤:(1) 硬件设备初始化;(2) 为加载 BootLoader中stage2准备RAM 空间;(3) 复制 BootLoader 中 stage2到 RAM 空间;(4) 设置好堆栈;(5) 跳转到stage2的C入口点。8. 简述ARM和THUMB状态的区别及如何进行状态转换。答:从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:(1) ARM状态,此时处理器执行 32位的字对齐的ARM指令;(2) Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。ARM处理器在两种工作状态之间可以切换:(1) 当操作数

6、寄存器的状态位(位0)为l时,执行BX指令进入Thumb状态。(2) 当操作数寄存器的状态位(位0)为0时,执行BX指令进入ARM状态。9. 简述嵌入式系统的开发特点?答:嵌入式系统开发的目标环境针对特定的应用领域,而且出于对系统成本的考虑,嵌入式软件功能比较专一, 只完成预期要完成的功能。与传统的软件开发相比,嵌入式软件有其自身的特点,具体如下:(1) 采用宿主机/目标机方式;(2) 为了保证稳定性和实时性,选用RTOS开发平台;(3) 生成的代码需要固态化存储;(4) 软件代码具有高质量、高可靠性。10 .简述BSP的概念及作用?答:嵌入式微处理器系统一般由硬件层、中间层、软件层和功能层组

7、成,其中硬件层和软件层之间的为中间层,也称为BSP (板级支持包),它将系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关,一般应 具有相关硬件的初始化、数据的输入输出操作和硬件设备的配置等功能。BSP是主板硬件环境和操作系统的中间接口,是软件平台中具有硬件依赖性的那一部分,主要目的是为了支持操作系统,使之能够更好地运行于硬件主板上。 纯粹的BSP所包含的内容一般来说是与系统有关的驱动程序,如网络驱动程序和系统中的网络协议有关等,离开这 些驱动程序系统就不能正常工作。11. 简述交叉编译的概念,并说明为什么要进行交叉编译?答:通常,程序是在一台计算机上编译,然后再分布到将要使用的

8、其他计算机上。当主机系统(运行编译器的 系统)和目标系统(产生的程序将在其上运行的系统)不兼容时,该过程就叫做交叉编译。除了兼容性这个明显的好处之外,交叉编译还由于以下两个原因而非常重要:1) 当目标系统对其可用的编译工具没有本地设置时;2) 当主机系统比目标系统要快得多,或者具有多得多的可用资源时。12. 在Linux操作系统下字符设备和块设备的主要区别是什么?答:在对字符设备发出读/写请求时,实际的硬件I/O 一般就紧接着发生了,块设备则不然,它利用一块系统内 存作缓冲区,当用户进程对设备请求能满足用户的要求,就返回请求的数据,如果不能,就调用请求函数来进行实 际的I/O操作。块设备是主要

9、针对磁盘等慢速设备设计的,以免耗费过多的CPU时间来等待。13. 在嵌入式Linux开发过程中,bootloader的主要作用是什么?答:(1)初始化硬件,尤其是内存控制器;(2) 提供Linux内核的启动参数;(3) 启动Linux内核。14. 简述U-boot的主要特点?答:U-boot的主要特点如下:(1) 开放源码;(2) 支持多种嵌入式操作系统内核;(3) 支持多个处理器系列;(4) 较高的可靠性和稳定性;(5) 高度灵活的功能设置;(6) 丰富的设备驱动源码;(7) 较为丰富的开发调试文档以及强大的网络技术支持。15. 简述进程和程序之间的关系?进程是一个动态的概念,而程序则是一个

10、静态的概念。程序是指令的有序集合,没有任何执行的含义。而进程 则强调执行过程,它动态地被创建,并被调度执行后消亡。举例来说,程序好比是曲谱,而进程就像是按照曲谱演 奏音乐。进程具有并发特征,而程序没有。进程的并发特征有两个方面:独立性和异步性。即并发各进程的执行是独立 的,执行速度是异步的。程序不是执行过程,所以不具备并发性。进程是操作系统中基本的并行单位、资源分配单位和调度单位。通常,进程可分为用户进程和系统进程两类, 前者控制用户作业的运行,后者完成系统内部分工的管理工作。从静态的角度看,进程由程序、数据和进程控制块( JCB)组成;从动态的角度看, 进程是计算机状态的一个有序集合。进程是

11、一个具有一定独立功能的程序在某个数据集合上的一次运行,其中可能要涉及多个程序;而一个程序的 运行过程中可能有若干进程依次或并行活动。16. 简述NOR Flash和NAND Flash两者之间的异同?答:Flash Memory (闪存)是嵌入式系统中重要的组成部分,用来存储程序和数据,掉电后数据不会丢失。但 在使用Flash Memory时,必须根据其自身特性,对存储系统进行特殊设计,以保证系统的性能达到最优。根据结构 的不同,可以将其分为 NOR Flash和NAND Flash两种,其主要区别如下:(1) NOR Flash把整个存储区分成若干个扇区(sector),而NAND Flas

12、h把整个存储区分成若干个块(block), 可以对以块或扇区为单位的内存单元进行擦写和再编程。(2) NOR Flash型内存要求在擦除之前先要将目标块内所有的位都写为0,而NAND Flash在擦除时则没有这 样的限制。(3) NOR Flash的读速度比 NAND Flash稍快一些,NAND Flash的写入速度比 NOR Flash快很多。(4) NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。NAND Flash地址、数据和命令共用 8位总线/16位总线,每次读/写都要使用复杂的I/O接口串行地存取数据。(5) NOR Flash容量通

13、常在18MB之间,而 NAND Flash用在8MB以上的产品当中。 NOR Flash主要应用在 代码存储介质中,NAND Flash适用于资料存储。17. 简述进程和程序之间的异同?答:进程是在描述多道系统中并发活动过程引入的一个概念。进程和程序是两个既有联系又有区别的概念,两 者不能混为一谈。从用户角度来看,进程是应用程序的一个执行过程。从操作系统核心角度来看,进程代表的是操 作系统分配的内存、CPU时间片等资源的基本单位,是为正在运行的程序提供的运行环境。两者的区别主要表现在 以下几个方面:(1) 进程是动态的,而程序是静态的。(2) 进程有一定的生命期,而程序是指令的集合,本身无“运

14、行”的含义。(3) 进程和程序并不是一一对应的,1个程序可以对应多个进程,但 1个进程只能对应1个程序。(4) 进程还具有并发性和独立性,这也与程序的封闭性不同。18. 简述嵌入式系统的开发特点?答:与传统的软件开发相比,嵌入式软件开发有其自身的特点,主要体现在以下几个方面。(1) 通常是面向特定应用系统的;(2) 嵌入式系统需提供强大的硬件开发工具和软件包支持;(3) 需要交叉开发环境(采用宿主机 /目标机方式);(4) 选用RTOS开发平台;(5) 生成代码需要固态化存储;(6) 嵌入式系统的软件和硬件必须高效地设计。19. 简述ARM处理器支持的运行模式?答:ARM920T处理器支持7种

15、运行模式:(1)用户模式usr; (2)快速中断模式fiq ; (3)外部中断模式irq;(4)管理模式svc; (5)数据访问终止模式 abt; (6)系统模式sys; (7)未定义指令中止模式 undo20. 简述嵌入式系统的定义?答:嵌入式系统是以应用为中心,以计算机技术为基础,软硬可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。其中嵌入式、专用性和计算机系统是嵌入式系统的3个基本要素。21. 简述嵌入式操作系统的发展阶段?答:嵌入式操作系统经历了4个比较明显的发展阶段:(1) 无操作系统的嵌入式算法阶段,是以单片机为核心的可编程控制器形式的系统,同时具有

16、与监测、伺服、 指示设备相配合的功能;(2) 以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统;(3) 通用的嵌入式实时操作系统阶段,是以嵌入式操作系统为核心的嵌入式系统;(4) 以基于互联网为标志的嵌入式系统,是一个正在迅速发展的阶段。22. 简述嵌入式Linux驱动程序的开发流程?答:嵌入式Linux驱动程序的开发流程一般包括以下几个步骤:(1) 查看设备硬件电路图,理解设备工作原理,重点是看设备中的各种寄存器,这也是设备驱动程序的重在;(2) 定义设备号,应用程序利用设备号来访问驱动程序;(3) 熟悉设备初始化函数,在驱动程序中实现设备的注册和中断的注册等;(4) 设计所需要的文件操作调用,定义file_operations结构;(5) 实现所需要的文件操作调用,如read、write等函数;(6) 实现中断服务程序;(7) 测试驱动程序;(8) 发布驱动程序。23. 简述Makefile文件包含的主要内容?答:Makefile文件一般包含以下内容:(1) 需要由Make工具创建的项目,通常是目标文件和可执行文件。(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论