嵌入式系统设计习题ppt课件_第1页
嵌入式系统设计习题ppt课件_第2页
嵌入式系统设计习题ppt课件_第3页
嵌入式系统设计习题ppt课件_第4页
嵌入式系统设计习题ppt课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式系统设计习题,习题,1、嵌入式系统的定义及分类。2、名词解释:RTOS。3、软、硬实时操作系统的区别。4、比较嵌入式系统与通用计算机的区别。5、试说明编制嵌入式系统应用方案的方法。,1、嵌入式系统的定义及分类。以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。,2、名词解释:RTOS。实时操作系统(RealTimeOS,RTOS):实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。,3、软、硬实时操作系统的区别。软实时系统:在系统负荷较重时,允许发生错过时限的情况而不会造成太大的危害。硬实时系统:必须对事件做出及时的反应。软、硬实时系统实现的区别:选择调度算法不同。前者选择基于优先级调度的算法,后者要求调度方式简单。,4、比较嵌入式系统与通用计算机的区别。嵌入式系统即嵌入式计算机系统。有别于通用计算机系统,为控制或监控目的而构筑,将其有机地植入目标系统。嵌入式系统的特点:专用性强;系统内核小、系统精简;高实时性系统;嵌入式系统开发需要开发工具及环境。嵌入式系统一般采用哈佛体系结构,支持精简指令集指令及RISC处理器。通用计算机一般采用冯诺依曼体系结构,支持复杂指令集指令及CISC处理器。,5、试说明编制嵌入式系统应用方案的方法。,系统开发流程中的各个阶段都需要编制技术文档。,习题,简述冯诺依曼结构、哈佛结构。简述RISC。,1、简述冯诺依曼结构、哈佛结构。冯诺依曼体系结构:1、计算机硬件由输入输出、运算、控制、存储设备组成;2、计算机指令及数据存储及处理采用二进制;3、工作时计算机能够自动地从存储器中取出指令并加以执行;4、计算机对指令可以像对数据一样加以处理。哈佛体系结构:在冯诺依曼体系结构的基础上,将程序存储器与数据存储器分离,相应的程序总线和数据总线分离;独立的程序和数据总线,允许同时访问程序存储器和数据存储器;提供了较大的存储器带宽。,2、简述RISC。满足以下特点的处理器称为RISC。采用固定长度指令格式,指令及寻址方式简单;使用单周期指令,便于流水线操作;大的、统一的寄存器文件;Load/Store结构的指令,既数据处理指令只对寄存器进行操作,而不直接对存储器操作,以提高指令的执行效率。,习题,1、简述ARM/Thumb状态如何实现切换。2、简述ARM体系的寄存器组织。3、在ARM体系中,什么是异常?简述异常的处理过程。4、异常向量。,1、简述ARM/Thumb状态如何实现切换。,;从ARM状态转变为Thumb状态LDRR0,=Next+1BXR0,;从Thumb状态转变为ARM状态LDRR0,=NextBXR0,2、简述ARM体系的寄存器组织。ARM微处理器共有37个32位寄存器;31个为通用寄存器,6个为状态寄存器。用户能够访问的寄存器与处理器当前的运行模式有关。未分组寄存器R0-R7,即指向同一个物理寄存器,未被系统用作特殊的用途;分组寄存器R8-R14,即每一次所访问的物理寄存器与处理器当前的运行模式有关;R13常用作堆栈指针;R14为连接寄存器LR;R15为程序计数器PC;寄存器R16CPSR(当前程序状态寄存器)。每一种异常模式下又都有一个专用的物理状态寄存器,称为SPSR(备份的程序状态寄存器),3、在ARM体系中,什么是异常?简述异常的处理过程。异常(Exceptions)指由内部或外部源产生,以引起处理器处理一个事件。异常出现后,强制从异常类型对应的固定异常向量地址开始执行程序,根据该指令跳转到对应得服务程序;处理异常之前,处理器的状态必须保留(保护现场);处理异常之后,应当恢复现场;最后根据异常的类型不同,执行相应的异常返回指令返回原程序。,4、什么是异常向量?异常出现后,强制从异常类型对应的固定存储器地址开始执行程序。这些固定的地址称为异常向量(ExceptionVectors)。,Example,MRSR1,CPSRORRR1,R1,#0X80MSRCPSR_c,R1,MRSR1,CPSRBICR1,R1,#0X03MSRCPSR_c,R1,习题,1、ARM芯片型号中TDMI是指什么?2、ARM最小系统主要包括那些部分?3、简介PXA270芯片。4、试说明PXA270芯片中是如何实现将数据写入至指定的寄存器。,1、ARM芯片型号中TDMI是指什么?,T=Thumb代码支持(16bit指令)D=Debug硬件调试模块支持M=加强的乘法支持(DSP性能)I=EmbeddedICELogic(InCircuitEmulation),2、ARM最小系统主要包括那些部分?一个ARM最小系统一般包括:(1)ARM微处理器芯片,(2)电源电路、复位电路,晶振电路,(3)存储器(FLASH和SDRAM),(4)UART(RS232)及以太网接口电路。(5)JTAG调试接口。,3、简介PXA270芯片。PXA27x系列嵌入式处理器基于ARMv5E的Xscale核心,最高频率可达624MHz。接口丰富,可支持SD、MS、CF等;支持最大400万象素摄像头;XScalePXA270处理器内置wirelessMMX技术,和SpeedStep动态电源管理技术支持动态电源管理,功耗低。支持多种嵌入式操作系统,如Linux、Windows、WinCE、Nucleus、PalmOS、VxWorks、Java等,广泛应用于智能手机、PDA、Web记事本、远程通信、医疗器械等领域。,4、试说明PXA270芯片中是如何实现将数据写入至指定的寄存器。,习题,1、试简述Load/Store指令。2、试简述ARM的寻址方式。,1、试简述Load/Store指令。ARM指令是Load/Store结构。大部分的指令仅处理寄存器中的数据;系统存储器的访问需要通过专门的Load/Store指令来完成。,2、试简述ARM的寻址方式。寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数或操作数地址的方式。立即寻址寄存器寻址寄存器间接寻址基址变址寻址多寄存器寻址相对寻址堆栈寻址,习题,1、如何构建嵌入式系统开发环境?2、在linux系统中如何编写、编译及运行程序?3、简述make命令和makefile文件。4、简述NFS服务及其搭建过程。5、简述TFTP服务及其搭建过程。,gcc的执行过程,预处理(也称预编译,Preprocessing)编译(Compilation)汇编(Assembly)连接(Linking),1、如何构建嵌入式系统开发环境?交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。嵌入式系统开发环境构建过程:主机:安装有Linux操作系统及开发工具,可以对目标文件进行编译、下载、调试等。通信方式:在主机上设计相关服务,支持串口、以太网口和USB口等通信方式。目标板:嵌入式芯片(MPU)及相应接口构成的硬件系统。,2、在linux系统中如何编写、编译及运行程序?用gedit或vi打开编辑区编辑文件;使用gcc编译工具编译文件,生成的目标文件缺省格式为elf格式;执行编译链接好的文件时输入:./可执行文件名,3、简述make命令和makefile文件。makefile描述模块间的相互依赖关系,以及指定编译过程中使用的工具。makefile中一般包含如下内容:需要由make工具创建的项目,通常是目标文件和可执行文件;要创建的项目依赖于哪些文件;创建每个项目时需要运行的命令。make指令用来生成和维护目标程序。,4、简述NFS服务及其搭建过程。NFS(NetworkFileSystem)指网络文件系统。NFS服务的搭建过程:在主机上设置NFS服务;设置Systemservices选中nfs服务,去掉ipchains和iptables两项服务新建nfs服务目录vi/etc/exports,配置nfs服务参数/etc/rc.d/init.d/nfsrestart,重启nfs服务在目标板上连通网络后,使用mount命令,就可以访问主机共享目录下的文件。,5、简述TFTP服务及其搭建过程。TFTP的全称是TrivialFileTransferProtocol,即简单文件传输协议。TFTP服务的搭建过程:在主机上设置允许开启TFTP服务;设置Systemservices选中tftp服务,或使用rpm命令安装tftp服务新建tftp服务目录vi/etc/xinetd.d/tftp,配置tftp服务参数/etc/rc.d/init.d/xinetdrestart,重启tftp服务拷贝目标文件到tftp服务目录;在目标板上连通网络后,使用tftp相关命令,就可以访问主机tftp服务目录下的文件。,习题,1、简述BootLoader。2、交叉编译是什么?3、交叉编译工具的安装过程。4、BootLoader的编译及下载过程。,嵌入式软件系统,一个嵌入式软件系统通常可以分为引导程序BootLoader、操作系统内核、文件系统和用户应用程序4个层次。,1、简述BootLoader。BootLoader就是引导加载程序,是在操作系统内核运行之前运行的一段小程序。其需要完成的工作:初始化硬件设备;建立内存空间的映射图;完成内核的加载,为内核设置启动参数。其目的:将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。,2、交叉编译是什么?交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。,3、交叉编译工具的安装过程复制交叉编译工具源码到本机,解压cp/arm-linux.tar.gz/opttarzxvfarm-linux.tar.gz修改配置文件,添加编译工具路径vi/root/.bash_profile在文件中添加:PATH=$PATH:/opt/arm-linux/bin使配置生效source/root/.bash_profile,4、BootLoader的编译及下载过程。复制BootLoader源码到本机,解压cp/Boot-XSBase270_010005.tar.gz/root/worktarzxvfBoot-XSBase270_010005.tar.gz编译BootLoader,生成二进制下载文件bootmake利用JFlash工具及JTAG下载线将BootLoader烧写到Flash芯片中./jflashmm/boot,习题,1、简述Linux内核源代码中各目录的内容。2、根据实验过程,写出内核文件编译、移植过程。,1、简述Linux内核源代码中各目录的内容,2、内核的编译过程。复制内核源码到本机,解压cp/linux-2.4.21-51Board_EDR.tar.gz/root/worktarzxvflinux-2.4.21-51Board_EDR.tar.gz配置内核makemenuconfig编译内核,生成内核镜像文件zImagemakedepmakezImage,内核映像下载到开发板的过程在主机上复制要下载的镜像文件到/tftpboot共享目录;cp/zImage/tftpboot在主机上安装及配置Bootp及TFTP服务;在主机上启动Bootp及TFTP服务;在目标系统上,利用Bootp服务确保和主机网络连通;bootp在目标系统上,利用BootLoader命令下载主机上的镜像文件;tftpzImagekernelflashkernel,任务状态,系统中运行的任务状态有运行态、就绪态、挂起态、休眠态和被中断态。,习题,1、描述配置、制作文件系统的具体过程,以及移植过程。2、描述建立TFTP服务的过程。,1、描述配置、制作文件系统的具体过程。下载编译BusyBox工具源码到本机,解压cp/busybox-1.00-pre05.tar.bz2/root/worktarjxfbusybox-1.00-pre05.tar.bz2编译BusyBox生成文件系统结构makemenuconfigmakedepmakeinstall根据目标系统配置文件系统建立配置文件rc、inittab、motd等为系统控制台console、块设备mdblock3等创建设备文件利用文件系统制作工具,制作JFFS2文件映像./mkfs.jffs2-orootfs270.img-e0 x40000-r_install-p-l,描述文件系统映像下载到开发板的过程在主机上复制要下载的镜像文件到/tftpboot共享目录;cp/test.img/tftpboot在主机上安装及配置Bootp及TFTP服务;在主机上启动Bootp及TFTP服务;在目标系统上,利用Bootp服务确保和主机网络连通;bootp在目标系统上,利用BootLoader命令下载主机上的镜像文件;tftptest.imgrootflashroot,2、描述建立TFTP服务的过程。TFTP的全称是TrivialFileTransferProtocol,即简单文件传输协议。其建立过程如下:确保主机系统服务设置中打开tftp服务,并且关闭防火墙在主机上安装tftp服务rpm-ivhtftp-server-0.17-9.i386.rpm修改配置文件,指定tftp服务目录vi/etc/xinetd.d/tftp在主机上启动tftp服务/etc/rc.d/init.d/xinetdrestart在目标板上连通网络后,使用tftp相关命令,就可以访问主机tftp服务目录下的文件。,习题,1、UGI2、简述Qt/E在ARM开发系统中的移植过程。,1、GUIGUI(图形用户界面)是计算机与其使用者之间的对话接口,指采用图形方式显示的计算机操作用户界面。,1、简述Qt/E在ARM开发系统中的移植过程。相关软件及补丁的下载及解压相关的文件包括:tslib.tar.bz2、tmake-1.11.tar.gz、qt-embedded-2.3.7.tar.gz、qtopia-free-1.7.0.tar.gz、qt_patch.tar.gz设置交叉编译QT的环境变量如:exportQTDIR=/qt/qt-2.3.7添加库及补丁文件cp-asrc/.libs/*./qt-2.3.7/lib/cp-aplugins/.libs/*.so./qt-2.3.7/lib/编译makesub-src编译Qt/Emake编译qtopia建立qpe文件夹,复制编译好的文件到该目录;建立QPE应用平台mkdir/qpe将qpe文件夹复制到文件系统的usr目录下,制作文件系统./mkfs.jffs2-orootfs.img-e0 x40000-rrootfs270-pl,GUI的处理流程,嵌入式GUI是基于事件或消息驱动模型设计。,习题,1、信号和插槽机制。2、简述Qt应用程序的建立及移植过程。,1、信号和插槽机制信号和插槽机制是Qt的核心机制,信号和插槽是一种高级接口,Qt自行定义的一种对象间通信机制,应用于对象之间的通信。当某个信号对其客户或所有者内部状态发生改变时,信号就被一个对象发射。当一个信号被发射时,与其相关联的插槽将被立刻执行,就像一个正常的函数调用一样。,2、简述Qt应用程序的建立及移植过程。搭建Qt/Embedded开发环境在宿主机上编写Qt应用程序新建工程文件建立窗体和添加控件,并保存设置信号与插槽生成main.cpp文件利用uic工具生成头文件及C+文件基于ARM平台的Qt应用程序编译修改工程文件设置交叉编译QT的环境变量利用tmake工具生成Makefile文件,并修改相关参数make命令编译生成Qt可执行文件新建桌面文件基于ARM平台的Qt应用程序移植上传并复制可执行文件和桌面文件到开发板系统相应目录利用chmod命令修改Qt可执行文件的属性重启目标板,即可运行测试程序,习题,1、驱动程序。2、描述用户是如何通过驱动程序实现对硬件设备的调用?3、驱动程序的主要组成部分。4、描述驱动程序调试及下载过程。,1、驱动程序驱动程序是内核的一部分,是操作系统内核与硬件设备的直接接口;从本质上讲,是内核中具有最高特权级的、驻留内存的、可共享的底层硬件处理例程。,2、用户是如何通过驱动程序实现对硬件设备的调用?Linux系统设备驱动程序工作的原理:在用户空间通过命令insmod向内核空间加载设备驱动程序模块,此时程序入口即初始化函数init_module(),在该函数中调用register()完成设备注册。完成设备注册后,系统将设备驱动加载到内核中,在用户空间的用户应用程序就可以通过内核空间的系统调用,通过file_operations结构访问驱动程序提供的功能接口函数实现对设备的操作。设备使用完后,可以在用户空间通过移除驱动设备命令rmmod将设备卸载,此时程序入口是cleanup_module(),在该函数中通过unregister()完成设备的卸载。,3、驱动程序的主要组成部分。,4.1、描述驱动程序调试过程。在宿主机上编写并编译设备驱动程序及测试程序vitest.cvitest_driver.cviMakefile输入make命令进行编译。编译成功生成驱动程序test_driver.o及测试程序test.cmake修改NFS配置文件,设置NFS服务目录,启动NFS服务vi/etc/exports/etc/rc.d/init.d/nfsrestart在目标板上保证网络连通后,使用mount命令,就可以访问主机在/mnt/nfs目录下的文件了#mount-tnfs-onolock00:/mnt/nfs/mnt在目标系统上,安装设备驱动mknod/dev/xsb_8segc611insmodxs

温馨提示

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

评论

0/150

提交评论