西南民族大学2015年嵌入式系统复习资料_第1页
西南民族大学2015年嵌入式系统复习资料_第2页
西南民族大学2015年嵌入式系统复习资料_第3页
西南民族大学2015年嵌入式系统复习资料_第4页
西南民族大学2015年嵌入式系统复习资料_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章1. 什么是嵌入式系统?它由哪几部分组成?有何特点? 以应用为中心,计算机技术为基础, 软硬件可裁减,从而能够适 应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用 计算机系统。嵌入式系统通常由嵌入式处理器、外围设备、嵌入式操作系统、 应用软件等几大部分组成。 嵌入式处理器与通用处理器的最大不同点 在其大多工作在为特定用户群设计的系统。外围设备包括:存储器、 接口、人机交互。嵌入式操作系统的特点:软硬件一体化,集计算机技术、 微电子 技术和行业技术为一体;需要操作系统支持,代码小,执行速度快; 专用紧凑,用途固定,成本敏感;可靠性要求高; 多样性,应用广泛, 种类繁多。2. 嵌

2、入式处理器分为哪几类 ?低端的微控制器 (MicroConctroller Unit,MCU)中 高 端 的 嵌 入 式 微 处 理 器 (Embedded MicroProcessor Unit,EMPU)通信领域的 DSP系统 (Digital Signal Processor,DSP) 高度集成的片上系统 (System on Chip,SoC)3. ARM英文原意是什么?它是个怎样的公司?其处理器有何特点?ARM(Advanced RISC Machines)公司是全球领先的 16/32 位 RISC微处理器知识产权设计供应商。 ARM公司通过将其高性能、低功耗、 低成本的 RISC

3、微处理器,外围和系统芯片设计技术转让给合作伙伴 来生产各具特色的芯片。ARM处理器的特点:小体积、低功耗、低成本而性能高。 16/32 位指令集。全球至多的合作伙伴。4. 什么是实时系统?它由哪些特征?如何分类? 实时系统是具有实时性且能支持实时控制系统工作的操作系统。其首要任务是调动一切可利用的资源来完成实时控制任务, 其次才着 眼于提高计算机系统的使用效率, 其重要特点是能满足对时间的限制 和要求。实时性:实时系统所产生的结果在时间上有严格的要求, 只有符 合时间要求的结果才是正确的。并行性: 要求系统有并行处理能力, 以便能同时相应来自不同端 口的输入信号。多路性:对多个不同的现场进行采

4、集, 以及对多个对象和多个执 行实行控制。独立性:每个用户向实时系统提出服务请求,相互间是独立的。 在实时控制系统中对信号的采集和对象控制也是独立的。可预测性: 实时系统的实际行为必须处在一定的限度内, 而这个 限度由系统的定义获得。可靠性:一方面指系统的正确性,另一方面指系统的健壮性,即 使系统出现错误, 仍然处于可预测状态, 仍可以安全地带错运行和平 缓降级它的性能。分类:强实时系统 ( 保质、保量、在限定时间内完成任务 ) 、弱实 时系统(没有限制完成时间 ) 、一般实时系统 (强和弱的折中 )。5. RTOS由几部分组成?它由哪些特点?与一般操作系统有何不同? 实时内核 ( 主要实现任

5、务管理,定时器管理,存储器管理、任务 间通信与同步,中断管理等 ) 、网络组件、文件系统、图形用户界面。 特点: 支持异步事件的响应;中断和调度任务的优先级机制;支 持抢占式调度;确定的任务切换时间和中断延迟时间;支持同步。6. 实时操作系统常用的任务调度算法有哪几种? 基于优先级的调度算法:非抢占式调度,抢占式调度 同一优先级的时间轮转调度算法 ( 执行一段时间无论完成与否, 处理器均转入下一个就绪的同一优先级任务 )单调速率调度算法 ( 执行频率越高,其优先级越高 )7. 用什么方法解决优先级反转问题?(1)优先级继承:设 C为正占用着某项共享资源的进程 P 以及 所有正在等待占用此项资源

6、的进程集合; 找出这个集合的优先 级最高者 P_h,其优先级为 p;把进程 P 的优先级设置成 P 成。(2)优先级封顶:设 C 为所有可能竞争使用某项共享资源的进 程的集合。事先为这个集合规定一个优先级上限 p,使得这 个集合的所有优先级都小于 p;在创建保护该项资源的信号 量或互斥量时,将 P 将作为一个参数;每当有进程通过这个 信号量或互斥量取得对共享资源的独占使用权时, 就将此进程 的优先级暂时提高到 P,一直到释放该项资源时菜恢复对 其原有的优先级。第二章1. 嵌入式系统开发过程分为哪几个阶段?每个阶段的特点是什么?(1) 需求分析阶段: 对问题的识别和分析; 制定规格说明文档; 需

7、求评审特点:采用成熟、易于二次开发的系统易于节省时间,从而 以最短时间面世。(2) 设计阶段:数据流分析 -划分任务 -定义任务间接口 特点: DARTS的设计方法 -是结构化设计的扩展,划分出任 务,并提供定义任务间的接口机制,适合设计多个并发执行的任务。(3) 生成代码阶段:代码编程 -交叉编译和链接 -交叉调试 -测试 ( 单元和集成测试 )特点:一般采用的方法是现在通用 PC机上编程,然后通过 交叉编译、链接,将程序做成目标平台上可以运行的二进制代码格式, 最后将程序下载到目标平台上的特定位置, 在目标板上启动这段二进 制代码。(4) 固化阶段:嵌入式应用软件完成以后,编译器要对源代码

8、 重新编译一次,以产生固化到目标坏境的可执行代码,再烧到 环境目标环境的 Flash 中。 固化的可执行代码和用于调试的 可执行代码有些不同。 固化用的代码在目标文件中把调式用的 信息都屏蔽掉了。固化后没有监控器执行硬件的启动和初始 化,这部分工作必须由固化的程序自己完成,所以启动模块必 须包含在固化代码中。特点:程序需要写入到 Flash 中固化,保证每次运行后下一 次运行无误,所以嵌入式开发相比增加了软件的固化阶段。2. 嵌入式系统有哪几种调试方式?现在流行的哪种?使用什么接口?(1) 源程序模拟器方式: 在 pc 机上,通过软件手段模拟执行为 某种嵌入式处理器写的源程序的测试工具。三级模

9、拟功能 ( 指 令级、周期级、定时级 )(2) 监控器方式:宿主机和目标机建立物理上的连接,通过 串 口、以太口 等把两台机器相连,使之正常工作,然后在宿主机 上运行调试器,目标机运行监控程序和被调试程序。(3) 仿真器方式:使用处理器内嵌的调试模块接管中断及异常 处理。用户通过设置 CPU内部的寄存器来指定哪些中断或异常 发生后处理器直接进入调试状态, 而不进入操作系统的处理程 序。 JTAG、IDE(在线仿真器 in-circuit Emulator)、ICD(in-circuit Debugger 在线调试器 ) 接口。通过 JTAG既可 以对目标系统进行测试, 也可以对目标系统的存储单

10、元进行编 程。3. 什么是板级支持包?它一般应完成哪些工作?板级支持包 (Board Support Package) 是操作系统与目标应用硬件环境的中间接口,它是软件包中具有平台依赖性的那一部分功能: 在系统启动时,对硬件进行初始化;为驱动程序提供访问 硬件的手段。工作:在系统启动时,对硬件进行初始化进行:(1) 将系统代码定位到 CPU将要执行的内存入口处, 比便硬件初 始化完毕后 CPU能够执行系统代码(2) 根据不同 CPU在启动时的硬件规定, BSP要负责将 CPU设置 为特定状态。(3) 对内存进行初始化, 根据系统的内存配置将系统的内存划分 为代码、数据、堆栈等不同的区域。(4)

11、 如果有特殊的启动代码, BSP要将控制权移交给启动代码。(5) 如果应用软件中包含一个嵌入式操作系统, BSP要负责将操 作系统需要的模块加载到内存中。(6) 如果应用软件中包含一个嵌入式操作系统, BSP还要在操作 系统初始化之前,将硬件设置为静止状态,以免造成操作系 统初始化失败。为驱动程序提供访问硬件的手段进行:(1) 将驱动程序提供的 ISR(中断服务程序 )挂载到中断向量表 上。(2) 创建驱动程序初始化所需要的设备对象, BSP将硬件设备 描述为一个数据结构。(3) 为驱动程序提供访问硬件设备寄存器的函数。(4) 为驱动程序提供可重用性措施。只要不同的硬件系统 BSP提供的接口相

12、同,驱动程序就可在不同的硬件系统上运行第三章1. 从技术角度讲, Linux 是一个什么样的操作系统?你认为它由哪 些不足?Linux 是一个类Unix 操作系统,它完全是一个 自由的操作系统, 它是一个 单一内核 的操作系统,这是由于 Linus Torvalds 以代码执 行效率为自己操作系统的第一要务, 比起结构的清晰他们更加注重功 能的强大和高效率, 他们花大量的经历在优化代码上, 而这样以损失 结构精炼作为代价, 导致 Linux 中的每个部件都不能被轻易拆出, 否 则破坏效率。虽然 Linux 是单一结构但是他和 UNIX操作系统不一样 Unix 操作系统所有代码是静态编译的,而在

13、 Linux 中代码可以 动态 装入和卸载内核 中的部分代码。 Linux 不支持用户态线程, Linux 中 通过另一种方法解释并实现 LWP的机制。 Linux 高效而稳定,以 独占 的方式 执行最底层的任务,保证其他程序的正常运行。缺陷:只有抢占式的操作系统才可以成为“实时”操作系统。要 对 Linux 的中断处理、进进程调度和进程抢占这 3 个方面进行改进。2. GPL协议的主要内容是什么?你了解自由软件的开发模式,愿意 让大家共享你的软件么?为什么?GPL(General public license) 通用公共许可证, GPL保证任何 人有共享和修改自由软件的自由, 任何人有权取得

14、、 修改和重新发布 自由软件的源代码, 并且规定在不增加费用的条件下得到源代码 (基 本的发布费除外)。开发模式是“巴扎模式” ,一大批广泛分布于世界各地的软件爱 好者 ,以互联网为纽带,通过 BBS、新闻组及电子邮件等现代通信 方式,同时参与一个软件开发项目。 以个初步工作的软件雏形首先发 布出来,然后大家同时开始工作,分别结合自己的实际经验和需要, 寻找软件中的漏洞,提出修改意见,发布在互联网上,然后其他人也 发现了漏洞,接着提出改进方案,给出补丁,这个软件像滚雪球一样 不断完善。3. 进程和程序有什么区别?什么是进程间的互斥和同步?可执行文件由指令和数据组成。 进程就是在计算机上运行的可

15、执 行文件针对特定的输入数据的一个实例, 同一个可执行程序文件如果 操作不同的输入数据就是两个不同的进程。互斥:是指某一资源同时只允许一个访问者对其进行访问, 具有 唯一性和排它性。 但互斥无法限制访问者对资源的访问顺序, 即访问 是无序的。同步:是指在互斥的基础上(大多数情况) ,通过其它机制实现 访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥, 特别是所有写入资源的情况必定是互斥的。 少数情况是指可以允许多 个访问者同时访问资源4. 进程调度的功能是什么? Linux 的进程调度发生在什么情况下?Linux 系统的实时调度和普通调度有什么区别? 高级、中级和低级调度作业从提交开

16、始直到完成, 往往要经历下述三 级调度:高级调度: (High-Level Scheduling) 又称为作业调度,它决定把后 备作业调入内存运行;低级调度: (Low-Level Scheduling) 又称为进程调度,它决定把就绪 队列的某进程获得 CPU;中级调度:(Intermediate-Level Scheduling) 又称为在虚拟存储器中引入,在内、外存对换区进行进程对换。 调度发生的情况 :(1) 正在执行的进程执行完毕。这时如果不选择新的就绪进程执 行,将浪费处理机资源。(2) 执行中进程自己调用阻塞原语将白己阻塞起来进入睡眠等状 态。(3) 执行中进程调用了 P 原语操作

17、,从而因资源不足而被阻塞; 或调用了 v 原语操作激活了等待资源的进程队列。(4) 执行中进程提出 I/O 请求后被阻塞。(5) 在分时系统中时间片已经用完。(6) 在执行完系统调用等系统程序后返回用户进程时,这时可看 作系统进程执行完毕,从而可调度选择一新的用户进程执行。(7) 就绪队列中的某进程的优先级变得高于当前执行进程的优先 级,从而也将引发进程调度。区别 :Linux 根据政策从整体上区分实时进程和普通进程, 因为实时 进程和普通进程度调度是不同的, 它们两者之间, 实时进程应该先于 普通进程而运行,然后,对于同一类型的不同进程,采用不同的标准 来选择进程:对于普通进程, Linux

18、 采用动态优先调度, Linux 中某 个进程的调度策略 (policy) 、优先级 (priority) 等可以作为参数由用 户自己决定,具有相当的灵活性。对于实时进程, Linux 采用了两种调度策略,即 FIFO(先来先服 务调度)和 RR(时间片轮转调度)。因为实时进程具有一定程度的紧 迫性,所以衡量一个实时进程是否应该运行, Linux 采用了一个比较 固定的标准。有两个优先级, 实时优先级就是用来衡量实时进程是否 值得运行的。5. Linux 中从用户态进入核心态的唯一途径是什么? 从用户态转换为核心态的唯一途径是中断。 CPU处于用户态时, 所运行的程序只能执行非特权指令, 如果

19、用户程序在用户态下执行特 权指令,将发生中断,由操作系统获得控制。操作系统在核心态下运 行。从核心态到用户态可以通过修改程序状态字来实现, 这将伴随这 由操作系统程序到用户程序的转换。6. 在 Linux 系统中,为什么可以像使用文件一样操作一个设备? 设备文件是 Linux 系统很重要的一个特色。 Linux 系统把每一个I/O 设备都看成一个文件,与普通文件一样处理,这样可以使文件与 设备的操作尽可能统一。 从用户的角度来看, 对 I/O 设备的使用和一 般文件的使用一样, 不必了解 I/O 设备的细节。 设备文件可以细分为 块设备文件和字符设备文件。前者的存取是以一个个字符块为单位 的,

20、后者则是以单个字符为单位的。7. 什么是设备驱动程序? Linux 系统中,用户怎么使用设备驱动程 序?设备驱动程序在 Linux 内核中扮演着特殊的角色。 他们是一个个 独立的“黑盒子”,是某个特定的硬件相应一个定义良好的内部编程 接口,这些接口完全隐藏了设备的工作细节。 用户的操作通过一组标 准化的调用执行, 而这些调用独立于特定的驱动程序。 将这些调用映 射到作用于实际硬件的设备特有操作上,则是设备驱动程序的任务。 这个编程接口能使得驱动程序独立于内核的其他部分而建立, 必要的 情况下可在运行时“插入”内核。8. Linux 文件有哪些类型?Linux 文件类型常见的有:普通文件、目录、

21、字符设备文件、块设备 文件、套接口文件、符号链接文件普通文件:我们用 ls -lh 来查看某个文件的属性,可以看到有 类似 -rw-r-r-,值得注意的是第一个符号是 - ,这样的文件在Linux 中就是普通文件。这些文件一般是用一些相关的应用程序创建。目录: 看到有类似 drwxr-xr-x ,这样的文件就是目录, 目录在 Linux 是一个比较特殊的文件。注意它的第一个字符是 d,创建目录 的命令可以用 mkdir 命令,或 cp 命令。字符设备文件:文件的属性,注意前面第一个字符是 c ,这表 示字符设备文件。比如猫等串口设备块设备文件:文件的属性,注意前面的第一个字符是 b,这表示块设

22、备,比如硬盘,光驱等设备套接口文件:注意这个文件的属性的第一个字符是 s 。 符号链接文件:我们查看文件属性时,注意第一个字符是 l ,这 类文件是链接文件9. 主流的 Linux 操作系统有哪些?国外封装的 Linux 以 Red Hat( 又称为“红帽 Linux ”) 、OpenLinux、 SuSE(SuSE是欧洲最流行的 Linux 发行版) 、TurboLinux(TurboLinux 是日本制作的 Linux 发行版,其最大特色便是以日文版、中文简 / 繁 体版、英文版三种形式发行 ) 等最为成功。国内 Linux 发行版做的相 对比较成功是红旗和中软两个版本。第四章1. ARM

23、7和 ARM9在流水线方面有何不同?ARM7处理器核使用了典型三级流水线的冯诺伊曼结构, ARM9 系列则采用了基于五级流水线的哈佛结构。 通过增加流水线级数简化 了流水线各级的逻辑,进一步提高了处理器的性能。 ARM7系列处理 器中每条指令分取指、译码、执行三个阶段,分别在不同的功能部件 上依次独立完成。 取指部件完成从存储器装载一条指令, 通过译码部 件产生下一周期数据路径需要的控制信号, 完成寄存器的解码, 再送 到执行单元完成寄存器的读取、 ALU运算及运算结果的写回,需要访 问存储器的指令完成存储器的访问。 ARM9系列处理器的流水线分为取指、译码、执行、访存、回写。取指部件完成从指

24、令存储器取指; 译码部件读取寄存器操作数, 与三级流水线中不占有数据路径区别很 大;执行部件产生 ALU运算结果或产生存储器地址 ( 对于存储器访问 指令来讲 ) ;访存部件访问数据存储器;回写部件完成执行结果写回 寄存器。2. ARM处理器支持的数据类型有哪些?字节:在 ARM体系结构中字节的长度均为 8 位。 字:在 ARM体系结构中字节的长度均为 32 位。半字:在 ARM体系结构中字节的长度均为 16 位3. 写出 ARM使用的各种工作模式和状态。ARM 微处理器的工作状态一般有两种,并可在两种状态之间切 换: 第一种为 ARM状态,此时处理器执行 32 位的字对齐的 ARM指令; 第

25、二种为 Thumb状态,此时处理器执行 16 位的、半字对齐的 Thumb 指令。 在程序的执行过程中,微处理器可以随时在两种工作状态之间切换, 并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存 器中的内容。但 ARM微处理器在开始执行代码时, 应该处于 ARM状态。 ARM处理器模式ARM 微处理器支持 7 种运行模式,分别为: 用户模式 (usr) : ARM处理器正常的程序执行状态。快速中断模式 (fiq) :用于高速数据传输或通道处理。外部中断模式 (irq) :用于通用的中断处理。 管理模式 (svc) :操作系统使用的保护模式。 数据访问终止模式 (abt) :当数据或

26、指令预取终止时进入该模式,可 用于虚拟存储及存储保护。系统模式 (sys) :运行具有特权的操作系统任务。 定义指令中止模式 (und) :当未定义的指令执行时进入该模式,可用 于支持硬件协处理器的软件仿真。ARM微处理器的运行模式可以通过软件改变,也可以通过外部中 断或异常处理改变。 大多数的应用程序运行在用户模式下, 当处理器 运行在用户模式下时,某些被保护的系统资源是不能被访问的。除用户模式以外, 其余的所有 6 种模式称之为非用户模式, 或特 权模式;其中除去用户模式和系统模式以外的 5 种又称为异常模式, 常用于处理中断或异常,以及需要访问受保护的系统资源等情况4. 哪个寄存器用做 PC?哪个用做 LR?寄存器 R14称为链接寄存器 LR,它用于保存子程序的返回地址。 如果在

温馨提示

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

评论

0/150

提交评论