《嵌入式系统设计作业及答案.docx》由会员分享,可在线阅读,更多相关《嵌入式系统设计作业及答案.docx(21页珍藏版)》请在三一办公上搜索。
1、嵌入式系统设计作业及答案第0章 绪论 1、什么是数字系统设计技术? 在解决了对不同目标信息的数字化编码、数字化传输、数字化解码的基本理论、算法定义和协议规范之后,对其如何进行系统的构成,如何以最优化的性能、最低廉的成本来实现该系统的技术。 2、什么是集成电路IC? 集成电路是指通过一系列特定的加工工艺,将多个晶体管、电阻、电容等器件,按照一定的电路连接集成在一块半导体单晶片或陶瓷等基片上,作为一个不可分割的整体完成某一特定功能的电路组件 3、什么是集成电路IP? 集成电路IP是经过预先设计、预先验证,符合产业界普片认同的设计规范和设计标准,具有相对独立功能的电路模块或子系统。其具有知识含量高、
2、占用芯片面积小、运行速度快、功耗低、工艺容差性大等特点,可以复用(Reuse)于SOC、SOPC或复杂ASIC设计中。 4、什么是SOC? SOC,即嵌入式系统发展的最高形式片上系统。从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲, SOC是一个微小型系统, 第1章 嵌入式系统基础知识 1、计算机系统的三大应用领域是什么? 服务器市场,桌面市场,嵌入式市场 2、通用计算机与嵌入式系统的对比是什么? 特征 形式和类型 通用计算机 看得见的计算机。 嵌入式系统 看不见的计算机。 按其体系结构、运算速度和结构规模等因素分为大、形式多样,应用领域广泛,按应用来
3、分。 中、小型机和微机。 组成 通用处理器、标准总线和外设。 软件和硬件相对独立。 面向应用的嵌入式微处理器,总线和外部接口多集成在处理器内部。 软件与硬件是紧密集成在一起的。 开发方式 开发平台和运行平台都是通用计算机 采用交叉开发方式,开发平台一般是通用计算机,运行 平台是嵌入式系统。 二次开发性 应用程序可重新编制 一般不能再编程 3、分别从技术角度和系统角度给出嵌入式系统的定义 技术角度:以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统 系统角度:嵌入式系统是
4、设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统 4、嵌入式系统的特点是什么? 从三要素说:嵌入式:嵌入到对象体系中,有对象环境要求 专用性:软、硬件按对象要求裁减 计算机系统:实现对象的智能化功能 功耗限制、低成本、多速率、环境相关性、系统内核小、专用性强、不可垄断性、产品相对稳定性 具有实时性 5、请从嵌入式系统软件复杂程度来对嵌入式系统进行分类? 循环轮询系统,有限状态机系统,前后台系统,单处理器多任务系统,多处理器多任务系统 6、常用电平标准有哪些?理解电平匹配的含义。 TTL:Transistor-Transistor Logic 三极管结构。 Vcc:5V:VOH=2
5、.4V;VOL=2V;VIL=2.4V;VOL=2V;VIL=2.0V;VOL=1.7V;VIL=4.45V;VOL=3.5V;VIL=3.2V;VOL=2.0V;VIL=2.0V;VOL=1.7V;VIL规格说明-体系结构设计-构件设计-系统调试与集成 交叉开发环境: 宿主机 ,是用于开发嵌入式系统的计算机。一般为PC机,具备丰富的软硬件资源,为嵌入式软件的开发提供全过程支持。 目标机,即所开发的嵌入式系统,是嵌入式软件的运行环境,其硬件软件是为特定应用定制的。 在开发过程中,目标机端需接收和执行宿主机发出的各种命令如设置断点、读内存、写内存等,将结果返回给宿主机,配合宿主机各方面的工作。
6、14、嵌入式软件的调试环境和固化环境的区别。 阶段 调试环境 编译 链接 定位 下载 目标文件需要调试信息 应用系统目标代码不需要Boot模块,此模块已由 目标板上的监视器程序实现。 程序的所有代码段、数据段都依次被定位到调试 空间的RAM中。 宿主机上的调试器读入被调试文件,并将其下载 到目标机上的调试空间中,目标机掉电后所有信 息全部丢失。 固化环境 目标文件不需要调试信息 应用系统目标代码必须以Boot模块作为入口模块。 程序的各逻辑段按照其不同的属性分别定位到非易 失性存储空间或RAM中 在宿主机上利用固化工具将可固化的应用程序写入 目标机的非易失性存储器中,目标机掉电后信息不丢失。
7、运行 被调试程序在目标监控器的控制下运行,并与后 者共享某些资源,如CPU资源、RAM资源以及通 信设备资源。 程序在真实的目标硬件环境上运行 第2章 1、CISC、RISC的特点是什么? CISC:复杂指令集,具有大量的指令和寻址方式,指令长度可变。8/2原则:80%的程序只使用20%的指令,大多数程序只使用少量的指令就能够运行 RISC:精简指令集;存储空间的单元是直接寻址的;使用低级机器语言,其指令完成基本操作码的简单操作;对计算进行集中的顺序控制;首次提出“地址”和“程序存储”的概念 3、ARM处理器的特点? 1. 低功耗、低成本、高性能 2. 采用RISC体系结构 3. 大量使用寄存
8、器 4. 高效的指令系统 4、ARMv7定义了哪3种不同的处理器配置,其各自的应用特点是什么? Profile A是面向复杂、基于虚拟内存的OS和应用的 Profile R是针对实时系统的 Profile M是针对低成本应用的优化的微控制器的。 5、流水线技术及其特点。 流水线(Pipeline)技术:几个指令可以并行执行 特点:提高了CPU的运行效率 内部信息流要求通畅流动 6、什么是CACHE?为什么要引入CACHE? 高速缓存。微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。 7、典型计算机的存储层次是什么?存储系统面临的两个主要问题是什么? 离CPU越近,存取速
9、度越快,价格也越高,因此容量也越小;存储系统面临的两个主要问题是:1、高速度和低成本之间的矛盾;2、大容量和低成本之间的矛盾 8、简述下ARM处理器存储的大端模式和小端模式? 大端模式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中 小端模式:低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节 9、ARM处理器的七种工作模式是什么?ARM的两种工作状态呢? 处理器模式 用户 (usr) 系统 (sys) 说明 正常程序执行模式 运行操作系统的特权任务 备注 不能直接切换到其它模式 与用户模式类似,但具有可以直接切换到其它模式等特权 FIQ异常响应时进入此模式 IRQ异
10、常响应时进入此模式 系统复位和软件中断响应时进入此模式 快中断 (fiq) 中断 (irq) 管理 (svc) 支持高速数据传输及通道处理 用于通用中断处理 操作系统保护模式 中止 (abt) 用于支持虚拟内存和/或存储器保护 在ARM7TDMI没有大用处 未定义 (und) 支持硬件协处理器的软件仿真 未定义指令异常响应时进入此模式 ARM状态:此时处理器执行32位的字对齐的ARM指令 Thumb状态:此时处理器执行16位的、半字对齐的Thumb指令 10、ARM处理器的基本寻址方式有哪些? 1.寄存器寻址; 5.基址寻址; 2.立即寻址; 3.寄存器移位寻址; 6.多寄存器寻址; 7.堆栈
11、寻址; 4.寄存器间接寻址; 8.块拷贝寻址; 9.相对寻址。 11、总线的主要参数:总线宽度、总线频率、总线带宽。它们之间的关系是什么? 总线宽度,又称总线位宽,指的是总线能同时传送数据的位数。 总线频率,总线工作速度的一个重要参数,工作频率越高,速度越快。通常用MHz表示。 总线带宽,又称总线的数据传送率,是指在一定时间内总线上可传送的数据总量,用每秒最大传送数据量来衡量。总线带宽越宽,传输率越高。 关系:总线带宽(单位:MB/s) = 总线频 12、简述AMBA总线。 AMBA是ARM 公司研发的一种总线规范,目前主要版本为2.0 版本。2.0版AMBA标准定义了三组总线:AHB(AMB
12、A高性能总线)、ASB(AMBA系统总线)、和APB(AMBA外设总线)。 其中:AHB(Advanced High-performance Bus):用于高性能系统模块的连接,支持突发模式数据传输和事务分割;可以有效地连接处理器、片上和片外存储器,支持流水线操作。 APB:用于较低性能外设的简单连接,一般是接在AHB系统总线上的第二级总线。 13、建立时间、保持时间。 tSU (时钟建立时间) :在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器 tH(时钟保持时间) :在触发器的时钟信号上升沿到来以后,数据稳定不变的时间, 如果保
13、持时间不够,数据同样不能被打入触发器 14、ARM9TDMI中的T、D、M、I的含义是什么? T:16位宽度的压缩指令集 D:支持在片调试,允许处理器响应调试请求暂停 M:具有增强型乘法器,可生成64位的结果 I:嵌入式ICE部件,可提供片上断点和调试点的支持 第3章 1、Nand Flash和Nor Flash的区别? 写入/清除一个块的操作时间 读性能 写性能 接口/总线 读取模式 成本 Nor Flash 15s 1200-1500KB 80KB SRAM接口/独立地址数据总线 随机读取 较高 Nand Flash 24ms 600-800KB 200-400KB 8位地址/数据/控制总
14、线,I/O接口复合 串行地存取数据 较低,单元尺寸约为NOR的一半,生产过程简单,同样大小的芯片可以做更大的容量 容量及应用场合 编写次数 位交换 164MB,主要用于存储代码 约10万次 少 8MB4GB,主要用于存储数据 约100万次 较多,关键性数据需要错误探测/错误更正(EDC/ECC)算法 坏处处理 2、ROM、SRAM和SDRAM这三者的区别是什么? ROM是只读存储器 SRAM是静态随机存取存储器;DRAM是动态随机存取存储器。 SRAM读写速度比DRAM读写速度快; 无,因为坏块故障率少 随机分布,无法修正 SRAM比DRAM功耗大; DRAM的集成度可以做得更大,则其存储容量
15、更大; DRAM需要周期性地刷新,而SRAM不需要。 3、SDRAM的寻址方式是什么?Nand Flash的寻址方式是什么? SDRAM内部是一个存储阵列,可以把它想象成一个表格,和表格的检索原理一样,先指定行,再指定列,就可以准确找到所需要的存储单元,这是内存芯片寻址的基本原理,这个表格称为逻辑Bank。以HY57V56120FTP为例,通过BA1,BAO实现对表格的选择,通过RAS和CAS实现行与列的定位,从而寻到地址。 而对NAND Flash以周期进行选择。以K9F2G08U0A为例,其规定了用5个周期来实现。第一个周期访问的地址为A0A7;第二个周期访问的地址为A8A11,它作用在I
16、O0IO3上,而此时IO4IO7必须为低电平;第三个周期访问的地址为A12A19;第四个周期访问的地址为A20A27;第五个周期访问的地址为A28,它作用在IO0上,而此时IO1IO7必须为低电平。前两个周期传输的是列地址,后三个周期传输的是行地址。通过分析可知,列地址是用于寻址页内空间,行地址用于寻址页,如果要直接访问块,则需要从地址A18开始。 4、什么是虚拟内存技术?为什么要引入虚拟内存技术? 所谓虚拟存储机制,指的是把多个存储介质模块通过一定的手段集中管理。即利用一个存储池将所有存储介质模块统一管理,因而从系统角度看到的就不是多个存储介质模块,而是一个被分区或者分卷的超大容量的存储系统
17、。这种将多个存储介质模块统一管理起来,为使用者提供大容量、高数据传输性能的存储系统的技术,就称为虚拟存储技术。虚拟内存技术就是典型的虚拟存储技术 引入虚拟内存技术可以实现虚拟地址空间到物理存储空间的映射;存储器访问权限的控制;设置虚拟存储空间的缓冲特性。 5、存储管理单元MMU的作用是什么?为什么引入快表? 实现虚拟地址空间到物理存储空间的映射; 存储器访问权限的控制; 设置虚拟存储空间的缓冲特性。 为了实现不同层次的管理,有两种地址映射方式: 分段方式和分页方式。 分段方式支持较大的、任意大小的主存储区域; 分页方式支持较小的、特定大小的主存储区域。 6、设计接口电路的必要性是什么?I/O接
18、口设计的重点又是什么? 设计接口电路的必要性: a)解决CPU和外围设备之间的时序配合和通信联络问题。 b)解决CPU和外围设备之间的数据格式转换和匹配问题。 c)解决CPU的负载能力和外围设备端口选择问题。 I/O接口设计的重点: 设计I/O接口逻辑以及开发其驱动程序。 7、一个典型的I/O接口逻辑内部通常具有哪几种类型的寄存器?其各自的作用是什么? 一个典型的I/O接口逻辑内部通常具有三种类型的寄存器:数据寄存器、控制寄存器和状态寄存器。 数据寄存器用来保存CPU核传送给I/O设备的数据,或者I/O设备传送给CPU核的数据; 控制寄存器用来保存由CPU核发来的控制操作命令; 状态寄存器保存
19、着I/O接口逻辑在数据传送过程中正在发生的或者最近发生的事件特征信息,CPU核可以通过读取状态寄存器的内容来监控I/O的操作。 8、什么是GPIO接口?其主要作用? GPIO接口就是通用并行I/O接口 主要作用是传送需并行交互的信息,或者是开关量信号。 9、OSI结构模型具体由哪几层组成,其各层的作用分别是什么? 物理层。规定了网络设备间最底层的接口特性,包括物理连接的机械特性、电气特性、电子部件和物理部件的基本功能以及位交换的基本过程。 数据链路层。主要作用是控制信息在单一链路中传输的差错,通常包括传输信息的校验、总线错误检测等。 网络层。定义了基本的端到端数据传输服务,网络层在多数据链路存
20、储转发网络中特别重要。 传输层。定义了面向连接的服务,它可以保证数据按一定的顺序、无差错地在多条链路上传送。 会话层。提供了一种控制网络上终端用户交互的机制,例如数据分组和检测点。 表示层。规定了数据交换的格式,并且为应用程序提供有效的转换工具。 应用层。提供了终端用户程序和网络之间的一个应用程序接口。 10、TCP/IP模型的具体由哪几层组成,其各层的作用分别是什么?简要说明TCP/IP协议的数据封装和解封装的过程。 1) 应用层。应用层协议支持了文件传输、电子邮件、远程登录、网络管理、Web浏览等应用。 2)传输层。传输层的两项主要功能:流量控制:通过滑动窗口实现和可靠传输:由序号和确认来
21、实现。传输层提供了面向连接的、可靠的TCP和无连接的UDP两种传输协议。 3)网际层。本层提供无连接的传输服务。本层的主要功能是寻找一条能够把数据报送到目的地的路径。 4)网络接口层。接收发送IP包,包括:设备驱动器和网卡 11、网卡的主要功能主要是什么? 网卡的功能主要有以下三个: 数据的封装与解封,发送时将上一层交下来的数据加上首部和尾部,成为以太网的帧。接收时将以太网的帧剥去首部和尾部,然后送交上一层。 链路管理,主要是CSMA/CD协议的实现。 编码与译码,即曼彻斯特编码与译码。 12、简要介绍RS232标准和RS485标准? RS-232C 物理特征: DB-25 DB-15 DB-
22、9 信号连线:保护地、TXD/RXD、 RTS/CTS、DSR、DTR 电平规定: -5V -15V 之间的电平表示逻辑 “1” +5V +15V 之间的电平表示逻辑 “0” RS-485 在RS-232基础上发展起来的,只规定了接口电路的电气特性,而没有规定机械特性、数据格式及通信协议等方面的内容。这些方面的规定可以参照RS-232C标准。 平衡传输 发送驱动器A,B之间 正电平: +2V-+6V 负电平: -2V- -6V 接收端A,B之间 正电平:大于600mV 负电平:小于-200mV 第4章 1、什么是软件,它一般包含哪几部分,各部分的作用是什么? 软件(software)是计算机系
23、统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。 其中: 程序是按照事先设计的功能和性能要求执行的指令序列; 数据是程序能正常操纵信息的数据结构; 文档是与程序开发维护和使用有关的各种图文资料。 2、什么是操作系统?操作系统的主要功能是什么? 操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。 操作系统抽象了一个实际的硬件系统,使用户程序运行在一个虚拟的硬件上。它
24、的主要功能有: 存储器管理 进程管理 设备驱动 文件系统 3、名词解释:并发,并行,时间片 并行:是指两或多个事件在同一时刻发生。 并发:是两或多个事件在同一时间间隔内发生。 时间片:CPU分配给各个进程的时间。 4、进程是什么?它有什么特征?进程与程序的关系是什么? 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 进程的特征: 动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。 并发性:任何进程都可以同其他进程一起并发执行 独立性:进程是一个能独
25、立运行的基本单位,同时也是系统分配资源和调度的独立单位; 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进 结构特征:进程由程序、数据和进程控制块三部分组成。 进程与程序的关系: 程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。 程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。 进程更能真实地描述并发,而程序不能; 进程是由进程控制块、程序段、数据段三部分组成; 进程具有创建其他进程的功能,而程序没有。 同一程序同时运行于若干个数据集
26、合上,它将属于若干个不同的进程。也就是说同一程序可以对应多个进程。 5、常用哪些指标来评价嵌入式实时操作系统? 主要有三个指标来衡量系统的性能: 响应时间(Response Time) 生存时间(Survival Time) 吞吐量(Throughput) 6、详细介绍一下内核及其作用。Linux操作系统的内核主要由哪几个子系统组成,简要说明其各子系统的作用。 内核是操作系统的核心部分,为应用程序提供安全访问硬件资源的功能。直接操作计算机硬件是很复杂的,内核通过硬件抽象的方法屏蔽了硬件的复杂性和多样性。通过硬件抽象的方法,内核向应用程序提供了统一和简洁的接口,应用程序设计复杂程度降低。实际上,
27、内核可以被看做是一个系统资源管理器,内核管理计算机系统中所有的软件和硬件资源。 内核主要负责管理各个任务,或者说为每一个任务分配CPU的时间及其相关的资源,并且负责任务之间的通信。内核提供的基本服务是任务切换。内核决定着系统的性能和稳定性。 Linux的内核主要由5个子系统组成:进程程度、内存管理、文件系统、网络接口和进程间通信。 进程调度 进程调度模块负责控制进程对CPU资源的使用。所采取的调度策略是使得各个进程能够公平合理地访问CPU,同时保证内核能及时地执行硬件操作。 内存管理 内存管理模块用于确保所有进程能够安全地共享主存储区域。 文件系统 文件系统模块用于支持对外部设备的驱动和操作。
28、虚拟文件系统模块通过向所有的外部存储设备提供一个通用的文件接口,隐藏了各种硬件设备的不同细节,从而提供并支持与其他操作系统兼容的多种文件系统格式。 网络接口 网络接口提供了对各种网络标准的存取和对各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。网络设备驱动程序负责与硬件设备通信,每一种可能的硬件通信设备都有相应的设备驱动程序。 进程间通信 支持进程之间各种通信机制。其通信机制主要包括信号、文件锁、管道、等待队列、信号量、消息队列、共享内存和套接字等。 7、在操作系统中,I/O管理采用层次结构的思想。从上到下一般分为几层?各层的主要作用是什
29、么? 为了有效组织和管理各种不同的设备,采用分层的思想,从上到下分为四层,分别为API、设备管理、驱动逻辑和硬件抽象。 API层 用于对设备管理层提供的驱动结构进行进一步的包装,以方便应用程序使用。 设备管理层 管理系统中的设备,并向上提高统一的接口。 驱动逻辑层 检测设备和初始化设备 使设备投入运行和退出服务 从设备接收数据并提交给内核 从内核接收数据送到设备 检测和处理设备错误 硬件抽象层 是硬件功能模块的集合,是对硬设备功能的第一层抽象,实现基本的IO操作。 8、简述Linux驱动程序开发流程。 查看原理图、数据手册,了解设备的操作方法。 在内核中找到相近的驱动程序,以它为模板进行开发。
30、 实现驱动程序的初始化:比如向内核注册这个驱动程序,这样应用程序传入文件名时,内核才能找到相应的驱动程序。 设计所要实现的操作,比如open、close、read、write等函数。 实现中断服务 编译该驱动程序到内核中,或者用insmod命令加载。 测试驱动程序。 9、什么是移植?移植的总体原则和实质分别是什么? 移植:为了一套软件适合于某一个选定的硬件平台环境,使得这套软件在其上能正常 运行而进行的平台相关代码的修改。 总体原则:下层程序模块与系统的硬件细节紧密相关,上层程序模块与硬件细节无关。 实质:把与硬件细节有关的那些程序模块进行必要的修改,以使得其适应于所运行的硬件环境。 10、启
31、动引导程序的移植主要完成哪些工作?大部分Bootloader由两部分组成,简述其具体的执行步骤? 通常系统上电启动,首先运行的是系统启动引导程序,由其把操作系统内核的一部分加载到主存,并把硬件的控制权交给该部分内核,再由该部分内核程序控制操作系统的其他部分程序加载到主存中,最终由操作系统控制用户应用程序的执行。 运行引导程序启动系统时,完成的是对硬件系统的初始化工作,主要有初始化中断向量表、初始化堆栈指针寄存器和主存储器等。这部分程序是与系统的CPU体系结构、主存储空间等硬件细节紧密相关的。 大多数BootLoader都分为stage1和stage2两大部分。 BootLoader的stage1通常包括以下步骤 为加载 BootLoader 的 stage2 准备 RAM 空间 拷贝 BootLoader 的 stage2 到 RAM 空间中 设置好堆栈 跳转到 stage2 的 C 入口点 BootLoader的stage2通常包括以下步骤 初始化本阶段要使用到的硬件设备 调用应用程序或启动内核