嵌入式课后答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式课后答案
第一章
1.什么是嵌入式系统?它由哪几部分组成?有何特点?
以应用为中心,计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
嵌入式系统通常由嵌入式处理器、外围设备、嵌入式操作系统、应用软件等几大部分组成。嵌入式处理器与通用处理器的最大不同点在其大多工作在为特定用户群设计的系统。外围设备包括:存储器、接口、人机交互。
嵌入式操作系统的特点:软硬件一体化,集计算机技术、微电子技术和行业技术为一体;需要操作系统支持,代码小,执行速度快;专用紧凑,用途固定,成本敏感;可靠性要求高;多样性,应用广泛,种类繁多。
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微处理器,外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。
ARM处理器的特点:小体积、低功耗、低成本而性能高。16/32位指令集。全球至多的合作伙伴。
4.什么是实时系统?它由哪些特征?如何分类?
实时系统是具有实时性且能支持实时控制系统工作的操作系统。其首要任务是调动一切可利用的资源来完成实时控制任务,其次才着眼于提高计算机系统的使用效率,其重要特点是能满足对时间的限制和要求。
实时性:实时系统所产生的结果在时间上有严格的要求,只有符合时间要求的结果才是正确的。
并行性:要求系统有并行处理能力,以便能同时相应来自不同端口的输入信号。
多路性:对多个不同的现场进行采集,以及对多个对象和多个执行实行控制。
独立性:每个用户向实时系统提出服务请求,相互间是独立的。在实时控制系统中对信号的采集和对象控制也是独立的。
可预测性:实时系统的实际行为必须处在一定的限度内,而这个限度由系统的定义获得。
可靠性:一方面指系统的正确性,另一方面指系统的健壮性,即使系统出现错误,仍然处于可预测状态,仍可以安全地带错运行和平缓降级它的性能。
分类:强实时系统(保质、保量、在限定时间内完成任务)、弱实时系统(没有限制完成时间)、一般实时系统(强和弱的折中)。
5.RTOS由几部分组成?它由哪些特点?与一般操作系统有何不同?
实时内核(主要实现任务管理,定时器管理,存储器管理、任务间通信与同步,中断管理等)、网络组件、文件系统、图形用户界面。
特点:支持异步事件的响应;中断和调度任务的优先级机制;支持抢占式调度;确定的任务切换时间和中断延迟时间;支持同步。
6.实时操作系统常用的任务调度算法有哪几种?
基于优先级的调度算法:非抢占式调度,抢占式调度
同一优先级的时间轮转调度算法(执行一段时间无论完成与否,处理器均转入下一个就绪的同一优先级任务)
单调速率调度算法(执行频率越高,其优先级越高)
7.用什么方法解决优先级反转问题?
(1)优先级继承:设C为正占用着某项共享资源的进程P以及所有正在等待占用此项资源的进程
集合;找出这个集合的优先级最高者P_h,其优先级为p’;把进程P的优先级设置成P成’。
(2)优先级封顶:设C为所有可能竞争使用某项共享资源的进程的集合。事先为这个集合规定一
个优先级上限p’,使得这个集合的所有优先级都小于p’;在创建保护该项资源的信号量或互斥量时,将P将’作为一个参数;每当有进程通过这个信号量或互斥量取得对共享资源的独占使用权时,就将此进程的优先级暂时提高到P’’,一直到释放该项资源时菜恢复对
其原有的优先级。
第二章
1.嵌入式系统开发过程分为哪几个阶段?每个阶段的特点是什么?
(1)需求分析阶段:对问题的识别和分析;制定规格说明文档;需求评审
特点:采用成熟、易于二次开发的系统易于节省时间,从而以最短时间面世。
(2)设计阶段:数据流分析-划分任务-定义任务间接口
特点:DARTS的设计方法-是结构化设计的扩展,划分出任务,并提供定义任务间的接口机制,适合设计多个并发执行的任务。
(3)生成代码阶段:代码编程-交叉编译和链接-交叉调试-测试(单元和集成测试)
特点:一般采用的方法是现在通用PC机上编程,然后通过交叉编译、链接,将程序做成目标平台上可以运行的二进制代码格式,最后将程序下载到目标平台上的特定位置,在目标板上启动这段二进制代码。
(4)固化阶段:嵌入式应用软件完成以后,编译器要对源代码重新编译一次,以产生固化到目标
坏境的可执行代码,再烧到环境目标环境的Flash中。固化的可执行代码和用于调试的可执行代码有些不同。固化用的代码在目标文件中把调式用的信息都屏蔽掉了。固化后没有监控器执行硬件的启动和初始化,这部分工作必须由固化的程序自己完成,所以启动模块必须包含在固化代码中。
特点:程序需要写入到Flash中固化,保证每次运行后下一次运行无误,所以嵌入式开发相比增加了软件的固化阶段。
2.嵌入式系统有哪几种调试方式?现在流行的哪种?使用什么接口?
(1)源程序模拟器方式:在pc机上,通过软件手段模拟执行为某种嵌入式处理器写的源程序的
测试工具。三级模拟功能(指令级、周期级、定时级)
(2)监控器方式:宿主机和目标机建立物理上的连接,通过串口、以太口等把两台机器相连,使
之正常工作,然后在宿主机上运行调试器,目标机运行监控程序和被调试程序。
(3)仿真器方式:使用处理器内嵌的调试模块接管中断及异常处理。用户通过设置CPU内部的寄
存器来指定哪些中断或异常发生后处理器直接进入调试状态,而不进入操作系统的处理程序。JTAG、IDE(在线仿真器in-circuit Emulator)、ICD(in-circuit Debugger在线调试器)接口。通过JTAG既可以对目标系统进行测试,也可以对目标系统的存储单元进行编程。
3.什么是板级支持包?它一般应完成哪些工作?
板级支持包(Board Support Package)是操作系统与目标应用硬件环境的中间接口,它是软件包中具有平台依赖性的那一部分。
功能:在系统启动时,对硬件进行初始化;为驱动程序提供访问硬件的手段。
工作:在系统启动时,对硬件进行初始化进行:
(1)将系统代码定位到CPU将要执行的内存入口处,比便硬件初始化完毕后CPU能够执行系统代
码
(2)根据不同CPU在启动时的硬件规定,BSP要负责将CPU设置为特定状态。
(3)对内存进行初始化,根据系统的内存配置将系统的内存划分为代码、数据、堆栈等不同的区
域。
(4)如果有特殊的启动代码,BSP要将控制权移交给启动代码。
(5)如果应用软件中包含一个嵌入式操作系统,BSP要负责将操作系统需要的模块加载到内存
中。
(6)如果应用软件中包含一个嵌入式操作系统,BSP还要在操作系统初始化之前,将硬件设置为
静止状态,以免造成操作系统初始化失败。
为驱动程序提供访问硬件的手段进行:
(1)将驱动程序提供的ISR(中断服务程序)挂载到中断向量表上。
(2)创建驱动程序初始化所需要的设备对象,BSP将硬件设备描述为一个数据结构。
(3)为驱动程序提供访问硬件设备寄存器的函数。
(4)为驱动程序提供可重用性措施。只要不同的硬件系统BSP提供的接口相同,驱动程序就可在
不同的硬件系统上运行。