2016年下半学期西电嵌入式系统设计大作业 - 图文

更新时间:2023-09-14 08:36:01 阅读量: 初中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

嵌入式系统设计大作业

授课老师: 孙江敏 学 院: 计算机学院 学生姓名: 学 号: 日 期:2016年6月12日

1 / 17

嵌入式系统设计大作业

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.嵌入式系统可以没有操作系统。

2 / 17

( √ )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、给出现今有哪些用于嵌入式开发的芯片名称,

3 / 17

他们分别是哪些公司的产品?体系结构是什么?

① 基于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一样的掉电后数据不会丢失的特性。它主要分为Nor Flash和 Nand Flash。他们的主要区别如下所示: Nor Flash 接口时序同SRAM,容易使用 读取速度较快 檫除速度慢,以64-128KB的块为单位 写入速度慢(因为一般要檫除) 随机存取速度较快,支持XIP(eXecute In Place,芯片内执行),适用于代码Nand Flash 地址/数据线复用,数据位较窄 读取速度较慢 檫除速度快,以8-32KB的块为单位 写入速度快 顺序读取速度较快,随机存取速度慢,适用于数据存储(如大容量的多 4 / 17

存储。在嵌入式系统中,常用于存放媒体应用)。在嵌入式系统中,常用引导程序、根文件等 于存放用户文件系统等 单片容量较小为1-32MB 单片容量较大为8-128MB,提高了单元密度 最大檫写次数为10万次 最大檫写次数为100万次 7、冯·诺依曼架构与哈佛架构的区别。

① 冯?诺依曼结构是一种程序指令存储器和数据存储器合并在一起的存储

器结构。

② 哈佛体系结构是一种将程序指令存储和数据存储分开的存储器结构。

8、单周期3级流水的情况下,第10个指令周期时,第几条指令执行结束?

三级流水读取指令过程:

① 取指从存储器装载一条指令 ② 译码识别将要被执行的指令 ③ 执行处理指令并将结果写会寄存器

故ARM正在执行第1条指令的同时对第2条指令进行译码,并将第3条指令从存储器中取出。所以,ARM7流水线只有在取第10条指令时,第7条指令才算完成执行。

9、下面是linux下的一个简单的设备驱动程序,写出linux设备驱动常用的数据结构,同时阅读下面代码,请给出测试程序中的每条语句加以注释。

设备驱动程序Keypad.c的源代码:

#include #include

#include #include #include #include

#include #include

//最基本的文件,支持动态添加和卸载模块。 //包含了文件操作相关struct的定义 //初始化头文件 //轮询文件

//对一些特殊类型的定义,只是为了方便阅读。 //可以在芯片上产生周期性的中断 //延时头文件

//与处理器相关的硬件

本文来源:https://www.bwwdw.com/article/qkfh.html

Top