嵌入式系统设计习题.ppt

上传人:小飞机 文档编号:6415025 上传时间:2023-10-28 格式:PPT 页数:65 大小:268.50KB
返回 下载 相关 举报
嵌入式系统设计习题.ppt_第1页
第1页 / 共65页
嵌入式系统设计习题.ppt_第2页
第2页 / 共65页
嵌入式系统设计习题.ppt_第3页
第3页 / 共65页
嵌入式系统设计习题.ppt_第4页
第4页 / 共65页
嵌入式系统设计习题.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《嵌入式系统设计习题.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统设计习题.ppt(65页珍藏版)》请在三一办公上搜索。

1、嵌入式系统设计习题,习题,1、嵌入式系统的定义及分类。2、名词解释:RTOS。3、软、硬实时操作系统的区别。4、比较嵌入式系统与通用计算机的区别。5、试说明编制嵌入式系统应用方案的方法。,1、嵌入式系统的定义及分类。以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。,2、名词解释:RTOS。实时操作系统(Real Time OS,RTOS):实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。,3、软、硬实时操作系统的区别。软实时系统:在系统负荷较重时,允许发生错过时限的情况而不会造成太大的危害。硬实时系统:必须

2、对事件做出及时的反应。软、硬实时系统实现的区别:选择调度算法不同。前者选择基于优先级调度的算法,后者要求调度方式简单。,4、比较嵌入式系统与通用计算机的区别。嵌入式系统即嵌入式计算机系统。有别于通用计算机系统,为控制或监控目的而构筑,将其有机地植入目标系统。嵌入式系统的特点:专用性强;系统内核小、系统精简;高实时性系统;嵌入式系统开发需要开发工具及环境。嵌入式系统一般采用哈佛体系结构,支持精简指令集指令及RISC处理器。通用计算机一般采用冯 诺依曼体系结构,支持复杂指令集指令及CISC处理器。,5、试说明编制嵌入式系统应用方案的方法。,系统开发流程中的各个阶段都需要编制技术文档。,习题,简述冯

3、诺依曼结构、哈佛结构。简述 RISC。,1、简述冯诺依曼结构、哈佛结构。冯诺依曼体系结构:1、计算机硬件由输入输出、运算、控制、存储设备组成;2、计算机指令及数据存储及处理采用二进制;3、工作时计算机能够自动地从存储器中取出指令并加以执行;4、计算机对指令可以像对数据一样加以处理。哈佛体系结构:在冯诺依曼体系结构的基础上,将程序存储器与数据存储器分离,相应的程序总线和数据总线分离;独立的程序和数据总线,允许同时访问程序存储器和数据存储器;提供了较大的存储器带宽。,2、简述 RISC。满足以下特点的处理器称为RISC。采用固定长度指令格式,指令及寻址方式简单;使用单周期指令,便于流水线操作;大的

4、、统一的寄存器文件;Load/Store 结构的指令,既数据处理指令只对寄存器进行操作,而不直接对存储器操作,以提高指令的执行效率。,习题,1、简述ARM/Thumb 状态如何实现切换。2、简述ARM 体系的寄存器组织。3、在ARM 体系中,什么是异常?简述异常的处理过程。4、异常向量。,1、简述ARM/Thumb 状态如何实现切换。,;从ARM状态转变为Thumb状态 LDRR0,=Next+1 BXR0,;从Thumb状态转变为ARM状态 LDRR0,=Next BXR0,2、简述ARM 体系的寄存器组织。ARM微处理器共有37个32位寄存器;31个为通用寄存器,6个为状态寄存器。用户能够

5、访问的寄存器与处理器当前的运行模式有关。未分组寄存器R0-R7,即指向同一个物理寄存器,未被系统用作特殊的用途;分组寄存器R8-R14,即每一次所访问的物理寄存器与处理器当前的运行模式有关;R13常用作堆栈指针;R14为连接寄存器LR;R15为程序计数器PC;寄存器R16CPSR(当前程序状态寄存器)。每一种异常模式下又都有一个专用的物理状态寄存器,称为SPSR(备份的程序状态寄存器),3、在ARM 体系中,什么是异常?简述异常的处理过程。异常(Exceptions)指由内部或外部源产生,以引起处理器处理一个事件。异常出现后,强制从异常类型对应的固定异常向量地址开始执行程序,根据该指令跳转到对

6、应得服务程序;处理异常之前,处理器的状态必须保留(保护现场);处理异常之后,应当恢复现场;最后根据异常的类型不同,执行相应的异常返回指令返回原程序。,4、什么是异常向量?异常出现后,强制从异常类型对应的固定存储器地址开始执行程序。这些固定的地址称为异常向量(Exception Vectors)。,Example,MRSR1,CPSRORRR1,R1,#0X80MSRCPSR_c,R1,MRSR1,CPSRBICR1,R1,#0X03MSRCPSR_c,R1,习题,1、ARM芯片型号中TDMI是指什么?2、ARM最小系统主要包括那些部分?3、简介PXA270芯片。4、试说明PXA270芯片中是如

7、何实现将数据 写入至指定的寄存器。,1、ARM芯片型号中TDMI是指什么?,T=Thumb 代码支持(16 bit 指令)D=Debug 硬件调试模块支持M=加强的乘法支持(DSP 性能)I=Embedded ICE Logic(In Circuit Emulation),2、ARM最小系统主要包括那些部分?一个 ARM 最小系统一般包括:(1)ARM 微处理器芯片,(2)电源电路、复位电路,晶振电路,(3)存储器(FLASH 和 SDRAM),(4)UART(RS232)及以太网接口电路。(5)JTAG 调试接口。,3、简介PXA270芯片。PXA27x系列嵌入式处理器基于ARMv5E的Xs

8、cale核心,最高频率可达624MHz。接口丰富,可支持SD、MS、CF等;支持最大400万象素摄像头;XScale PXA270处理器内置 wireless MMX技术,和SpeedStep动态电源管理技术支持动态电源管理,功耗低。支持多种嵌入式操作系统,如Linux、Windows、WinCE、Nucleus、Palm OS、VxWorks、Java等,广泛应用于智能手机、PDA、Web记事本、远程通信、医疗器械等领域。,4、试说明PXA270芯片中是如何实现将数据写入至指定的寄存器。,习题,1、试简述Load/Store 指令。2、试简述ARM 的寻址方式。,1、试简述Load/Stor

9、e 指令。ARM指令是Load/Store结构。大部分的指令仅处理寄存器中的数据;系统存储器的访问需要通过专门的Load/Store 指令来完成。,2、试简述ARM 的寻址方式。寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数或操作数地址的方式。立即寻址寄存器寻址寄存器间接寻址基址变址寻址多寄存器寻址相对寻址堆栈寻址,习题,1、如何构建嵌入式系统开发环境?2、在linux系统中如何编写、编译及运行程序?3、简述make 命令和makefile 文件。4、简述NFS 服务及其搭建过程。5、简述TFTP 服务及其搭建过程。,gcc的执行过程,预处理(也称预编译,Preprocessing)

10、编译(Compilation)汇编(Assembly)连接(Linking),1、如何构建嵌入式系统开发环境?交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。嵌入式系统开发环境构建过程:主机:安装有Linux 操作系统及开发工具,可以对目标文件进行编译、下载、调试等。通信方式:在主机上设计相关服务,支持串口、以太网口和USB 口等通信方式。目标板:嵌入式芯片(MPU)及相应接口构成的硬件系统。,2、在linux 系统中如何编写、编译及运行程序?用gedit 或vi 打开编辑区编辑文件;使用gcc 编译工具编译文件,生成的目标文件缺省格式为elf 格式;执行编译链接好的文件时输入:./

11、可执行文件名,3、简述make 命令和makefile 文件。makefile 描述模块间的相互依赖关系,以及指定编译过程中使用的工具。makefile 中一般包含如下内容:需要由make 工具创建的项目,通常是目标文件和可执行文件;要创建的项目依赖于哪些文件;创建每个项目时需要运行的命令。make 指令用来生成和维护目标程序。,4、简述NFS 服务及其搭建过程。NFS(Network File System)指网络文件系统。NFS服务的搭建过程:在主机上设置NFS 服务;设置 System services 选中 nfs 服务,去掉 ipchains 和 iptables 两项服务新建 nf

12、s 服务目录vi/etc/exports,配置 nfs 服务参数/etc/rc.d/init.d/nfs restart,重启nfs 服务在目标板上连通网络后,使用mount命令,就可以访问主机共享目录下的文件。,5、简述TFTP 服务及其搭建过程。TFTP 的全称是 Trivial File Transfer Protocol,即简单文件传输协议。TFTP服务的搭建过程:在主机上设置允许开启TFTP 服务;设置 System services 选中 tftp 服务,或使用 rpm 命令安装 tftp 服务新建 tftp 服务目录vi/etc/xinetd.d/tftp,配置 tftp 服务参

13、数/etc/rc.d/init.d/xinetd restart,重启 tftp 服务拷贝目标文件到 tftp 服务目录;在目标板上连通网络后,使用 tftp 相关命令,就可以访问主机 tftp 服务目录下的文件。,习题,1、简述Boot Loader。2、交叉编译是什么?3、交叉编译工具的安装过程。4、Boot Loader 的编译及下载过程。,嵌入式软件系统,一个嵌入式软件系统通常可以分为引导程序Boot Loader、操作系统内核、文件系统和用户应用程序4 个层次。,1、简述Boot Loader。Boot Loader 就是引导加载程序,是在操作系统内核运行之前运行的一段小程序。其需要

14、完成的工作:初始化硬件设备;建立内存空间的映射图;完成内核的加载,为内核设置启动参数。其目的:将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。,2、交叉编译是什么?交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。,3、交叉编译工具的安装过程复制交叉编译工具源码到本机,解压cp/arm-/opt tar zxvf arm-修改配置文件,添加编译工具路径vi/root/.bash_profile 在文件中添加:PATH=$PATH:/opt/arm-linux/bin使配置生效source/root/.bash_profile,4、Boot Loader

15、 的编译及下载过程。复制Boot Loader源码到本机,解压cp/Boot-XSBase270_010005.tar.gz/root/worktar zxvf Boot-XSBase270_010005.tar.gz 编译Boot Loader,生成二进制下载文件bootmake 利用JFlash工具及JTAG下载线将Boot Loader烧写到Flash芯片中./jflashmm/boot,习题,1、简述Linux 内核源代码中各目录的内容。2、根据实验过程,写出内核文件编译、移植过程。,1、简述Linux 内核源代码中各目录的内容,2、内核的编译过程。复制内核源码到本机,解压cp/lin

16、ux-2.4.21-51Board_EDR.tar.gz/root/worktar zxvf 配置内核make menuconfig编译内核,生成内核镜像文件zImagemake depmake zImage,内核映像下载到开发板的过程在主机上复制要下载的镜像文件到/tftpboot 共享目录;cp/zImage/tftpboot在主机上安装及配置Bootp 及TFTP服务;在主机上启动Bootp 及TFTP服务;在目标系统上,利用Bootp服务确保和主机网络连通;bootp在目标系统上,利用Boot Loader 命令下载主机上的镜像文件;tftp zImage kernelflash ke

17、rnel,任务状态,系统中运行的任务状态有运行态、就绪态、挂起态、休眠态和被中断态。,习题,1、描述配置、制作文件系统的具体过程,以及移植过程。2、描述建立TFTP 服务的过程。,1、描述配置、制作文件系统的具体过程。下载编译Busy Box 工具源码到本机,解压cp/busybox-1.00-pre05.tar.bz2/root/worktar jxf busybox-1.00-pre05.tar.bz2 编译Busy Box 生成文件系统结构make menuconfig make dep make install 根据目标系统配置文件系统 建立配置文件rc、inittab、motd等为系

18、统控制台console、块设备mdblock3 等创建设备文件利用文件系统制作工具,制作JFFS2 文件映像./mkfs.jffs2-o rootfs270.img-e 0 x40000-r _install-p-l,描述文件系统映像下载到开发板的过程在主机上复制要下载的镜像文件到/tftpboot 共享目录;cp/test.img/tftpboot在主机上安装及配置Bootp 及TFTP服务;在主机上启动Bootp 及TFTP服务;在目标系统上,利用Bootp服务确保和主机网络连通;bootp在目标系统上,利用Boot Loader 命令下载主机上的镜像文件;tftp test.img ro

19、otflash root,2、描述建立TFTP 服务的过程。TFTP 的全称是 Trivial File Transfer Protocol,即简单文件传输协议。其建立过程如下:确保主机系统服务设置中打开 tftp 服务,并且关闭防火墙在主机上安装 tftp 服务rpm-ivh修改配置文件,指定 tftp 服务目录vi/etc/xinetd.d/tftp在主机上启动 tftp 服务/etc/rc.d/init.d/xinetd restart在目标板上连通网络后,使用 tftp 相关命令,就可以访问主机 tftp 服务目录下的文件。,习题,1、UGI2、简述 Qt/E 在 ARM 开发系统中的

20、移植过程。,1、GUIGUI(图形用户界面)是计算机与其使用者之间的对话接口,指采用图形方式显示的计算机操作用户界面。,1、简述 Qt/E 在 ARM 开发系统中的移植过程。相关软件及补丁的下载及解压相关的文件包括:、设置交叉编译QT 的环境变量如:添加库及补丁文件cp-a src/.libscp-a plugins/.libs 编译make sub-src 编译Qt/Emake 编译qtopia建立qpe文件夹,复制编译好的文件到该目录;建立QPE 应用平台mkdir/qpe将qpe文件夹复制到文件系统的usr目录下,制作文件系统./mkfs.jffs2-o rootfs.img-e 0 x

21、40000-r rootfs270-p l,GUI的处理流程,嵌入式GUI 是基于事件或消息驱动模型设计。,习题,1、信号和插槽机制。2、简述Qt 应用程序的建立及移植过程。,1、信号和插槽机制信号和插槽机制是Qt 的核心机制,信号和插槽是一种高级接口,Qt 自行定义的一种对象间通信机制,应用于对象之间的通信。当某个信号对其客户或所有者内部状态发生改变时,信号就被一个对象发射。当一个信号被发射时,与其相关联的插槽将被立刻执行,就像一个正常的函数调用一样。,2、简述Qt 应用程序的建立及移植过程。搭建 Qt/Embedded 开发环境 在宿主机上编写Qt 应用程序新建工程文件建立窗体和添加控件,

22、并保存设置信号与插槽生成main.cpp 文件利用uic 工具生成头文件及C+文件基于ARM 平台的Qt 应用程序编译修改工程文件设置交叉编译 QT 的环境变量利用tmake工具生成 Makefile 文件,并修改相关参数make命令编译生成 Qt 可执行文件新建桌面文件基于ARM 平台的Qt 应用程序移植上传并复制可执行文件 和 桌面文件到开发板系统相应目录利用chmod 命令修改 Qt 可执行文件的属性重启目标板,即可运行测试程序,习题,1、驱动程序。2、描述用户是如何通过驱动程序实现对硬件设备的调用?3、驱动程序的主要组成部分。4、描述驱动程序调试及下载过程。,1、驱动程序驱动程序是内核

23、的一部分,是操作系统内核与硬件设备的直接接口;从本质上讲,是内核中具有最高特权级的、驻留内存的、可共享的底层硬件处理例程。,2、用户是如何通过驱动程序实现对硬件设备的调用?Linux 系统设备驱动程序工作的原理:在用户空间通过命令insmod向内核空间加载设备驱动程序模块,此时程序入口即初始化函数init_module(),在该函数中调用register()完成设备注册。完成设备注册后,系统将设备驱动加载到内核中,在用户空间的用户应用程序就可以通过内核空间的系统调用,通过file_operations 结构访问驱动程序提供的功能接口函数实现对设备的操作。设备使用完后,可以在用户空间通过移除驱动

24、设备命令rmmod将设备卸载,此时程序入口是cleanup_module(),在该函数中通过unregister()完成设备的卸载。,3、驱动程序的主要组成部分。,4.1、描述驱动程序调试过程。在宿主机上编写并编译设备驱动程序及测试程序vi test.c vi test_driver.cvi Makefile输入make命令进行编译。编译成功生成驱动程序test_driver.o及测试程序test.cmake修改NFS配置文件,设置NFS服务目录,启动NFS服务vi/etc/exports/etc/rc.d/init.d/nfs restart在目标板上保证网络连通后,使用mount命令,就可

25、以访问主机在/mnt/nfs 目录下的文件了#mount-t nfs-o nolock 192.168.0.100:/mnt/nfs/mnt在目标系统上,安装设备驱动mknod/dev/xsb_8seg c 61 1insmod xsb_8seg在目标系统上,运行应用程序,可以观察到设备使用情况chmod+x test./test,4.2、描述驱动程序下载测试过程。打开串口终端,通过串行通信服务发生文件到目标系统minicomCtrl+A,选择Z,选择S,选择zmodem传输方式。确定后进入文件传输界面,发送选择的文件到目标系统。在目标系统上,安装设备驱动mknod/dev/xsb_8seg

26、c 61 1insmod xsb_8seg在目标系统上,运行应用程序,可以观察到设备使用情况chmod+x test./test,Linux 下设备和目录都看作是文件,有4 种类型:普通文件、目录文件、链接文件和设备文件。设备文件的属性由三部分信息组成:文件的类型、一个主设备号、一个次设备号。Linux 将设备分成3 种类型:字符设备、块设备和网络设备。,习题,1、简述网络套接字2、简述基于套接字进行网络通信的过程,1、简述网络套接字在TCP/IP 通信协议中,套接字(Socket)就是IP 地址与端口号的组合。套接字提供了在一台处理机上执行的应用程序与另一台处理机上执行的应用程序之间连接的功

27、能。根据网络传输协议的不同,套接字也有不同的类型:字节流套接字数据报套接字原始套接字,2、简述基于套接字进行网络通信的过程网络通信由客户端程序和服务端程序两个部分组成。基于套接字进行网络通信的过程:(1)创建服务端 socket,绑定建立连接的端口。(2)服务端程序在一个端口处于阻塞状态,等待客户机连接。(3)创建客户端 socket 对象,绑定主机名称或 IP 地址,指定连接端口号。(4)客户机 socket 发起连接请求。(5)建立连接。(6)利用send/sendto 和recv/recvfrom 进行数据传输。(7)关闭 socket。,Makefile文件 P70-71驱动程序及应用程序客户端及服务器端网络通信程序文件 P163-165,例7-1、2,加油,坚持就是胜利。,谢谢大家!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号