2016年下半学期西电嵌入式系统设计大作业解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统设计大作业
授课老师:孙江敏
学院:计算机学院
学生姓名:
学号:
日期:2016年6月12日
嵌入式系统设计大作业
1、判断题
( ×)1.嵌入式系统调试通常可以分为硬件级调试和在线仿真器调试。
( √)2.在ARM处理器中,快速中断(FIQ)的优先级高于外部中断(IRQ)。( ×)3.ROM能够永久或半永久地保存数据,ROM内的数据永远不会丢失。( √)4.内建测试系统(BIST)是SoC片上系统的重要结构之一,JTAG测试接口是IC 芯片测试方法的标准。
( ×)5.VHDL的基本单元描述不包括库。
( ×)6.嵌入式ARM架构的嵌入式处理器同时支持大端、小端(Big/Little-Endian)数据类型。
( ×)7.嵌入式操作系统通常采用整体式内核或层次式内核的结构。
( ×)8.ARM7TDMI中的T代表增强型乘法器。
( ×)9.看门狗(Watch Dog)实际是一个简单的定时器,在固定时间内若正常清零,则自动复位处理器。
( √)10.ARM-CPU由多家不同制造商生产,芯片外部提供的总线是不一致的。( √)11.Linux 内核稳定、功能强大并且可以裁减,因为非常适合嵌入式应用。( √)12.Linux 内核的中断服务程序运行于与所有进程都无关的中断上下文中。( √)13.Linux遵循POSIX标准,意味着绝大多数UNIX应用程序不需要任何改动就可以在Linux系统上编译且运行。
( ×)14.Linux内核支持可以裁减的功能,因此它属于微内核架构。
( √)15.Linux在fork()时采用了写时拷贝(简称COW)技术,允许父进程和子进程同时共享相同的物理页面。
( √)16.任何一个Linux应用程序都需要调用exit()函数。
( √)17.当前的Linux调度算法非常高效,但是查找当前最高优先级的可运行程序时,开销会随着可运行程序的多少而变化。
( √)18.Linux的系统调用是作为C库的一部分提供的。
( ×)19.为了对硬件做出迅速的响应并完成对时间严格的操作,中断处理下半部必须在关中断状态下执行。
( ×)20.Linux的内存管理采用了分页的机制,因此即使是内核本身也全部是分页的。
( ×)21.嵌入式系统由上到下主要分为3个层次:应用软件层,系统软件层,硬件层。
( ×)22.嵌入式系统的软硬件是独立设计的。
( √)23.嵌入式系统设计需要建立交叉开发环境。
( √)24.通用系统程序开发不需要建立和使用交叉编译环境。
( √)25.对于C++代码,gcc命令只能编译其源文件,而不能自动和C++程序使用的库链接。
( √)26.嵌入式系统可以没有操作系统。
( √)27.JTAG测试允许多个器件通过JTAG接口串联在一起形成一个JTAG链,能实现对各个器件分别测试。
( ×)28.GDB调试器只支持本地调试应用程序。
( √)29.KGDB程序是一个专门用于调试Linux内核的GDB调试桩。
( ×)30.片上调试器是存在重叠RAM。
2、叙述嵌入式平台的搭建过程,以linux为例。
①建立交叉编译环境
一般开发机上已经有一套开发工具,称之为原生开发套件。一般用原生开发套件来写程序,在开发机上再安装一套开发工具,这套开发工具编译出来的程序,如内核、系统工作或者自己的程序,放在目标主机上运行。一般的开发机都是X86平台,原生开发套件开发的工具,也针对X86 平台,而目标主机可能是PowerPC、IXP、MIPS。所以,用交叉编译环境针对某一类具体平台。交叉开发环境一般需要二进制工具程序、编译器、C链接库,嵌入式开发常用的三类软件是:Binutils、Gcc、uClibc。GNU包含的工具套件不仅于此,有时会根据实际需要,进行选择。
②编译内核
开发工具是针对某一类硬件平台,内核同样也是。这一步需要用第一步中建立的工具,对内核进行编译。
③建立根文件系统
也就是建立平常看到的bin、dev、proc……等目录,以及一些必备的文件;
另外,还需要为目标系统安装一些常用的工具软件,如ls、ifconfig。一个办法是找到这些工具的源代码,用第一步建立的交叉编译工具来编译,但是这些软件一般数量多,而且其中某些体积较大,不适合嵌入式系统。所以一般用busybox来完成的,包括系统引导软件init ;最后,还需要为系统建立初始化的引导文件,如inittab。
④启动系统
在这一步,把建立好的目标、文件、程序、内核及模块全部拷贝到目标机存储器上,如硬盘。然后为系统安装bootloader。对于嵌入式系统,有许多引导程序可供我们使用。不过它们许多都有硬件平台的限制。当然,如果工作在X86下,可以直接用lilo来引导。做到这一步时,将目标存储设备挂上目标机,如果顺利,就可以启动系统了。当然,针对某些特别的平台,不能像硬盘这样拷贝,就需要读卡器、烧录。但是基本的方法是相通的。
⑤优化和个性化系统
通过前四步,已经得到了一个可以正常工作的系统。之后只需根据个人的工作习惯进行设置。
3、给出现今有哪些用于嵌入式开发的芯片名称,
他们分别是哪些公司的产品?体系结构是什么?
①基于32位RISC微处理器芯片的ARM7系列,ARM9系列,ARM9E系列,
ARM10E系列都是ARM公司的产品,arm9以上的体系结构是哈佛总线体系结构以下的是冯。诺依曼体系。
②TI公司的DSP处理器内核是哈佛总线体系结构。
③PowerPC公司的芯片,基于RISC结构,是哈佛总线体系结构。
④MIPS公司的芯片,基于RISC结构,是哈佛总线体系结构。
4、现今较流行的嵌入式操作系统有哪些
① VxWork
② Linux
③μC/OS-Ⅱ
④ windows CE
⑤ Android
5、PXA270嵌入式开发板的接口有哪些?
全双工异步串行口和硬件流控制串行口,10M标准以太网接口10M/100M标准以太网接口,USB接口,红外通讯口,音频接口,存储卡口,视频和触摸屏接口摄像头接口,RTC时钟接口,调试接口,下载接口,电源接口。
6、请写出Nor Flash和Nand Flash的区别。
Flash是一种非易失闪存,它具有和ROM一样的掉电后数据不会丢失的