嵌入式系统原理与设计_第1页
嵌入式系统原理与设计_第2页
嵌入式系统原理与设计_第3页
嵌入式系统原理与设计_第4页
嵌入式系统原理与设计_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、1. 笔记本不是嵌入式产品2. 嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成 本、体积、功耗等有严格要求的专用计算机系统。3. 一般而言,整个嵌入式系统的体积系统结构可以分成4个部分:嵌入式处理器,嵌入式外围设备,嵌入式操作系统和嵌入式应用软件。4. 嵌入式系统的设计可以分成 3个阶段:分析,设计和实现5. ARM(Advanced RISC Machines )公司成立于英国剑桥ARM 技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器。在工业控制领域:作为 32位的RISC架构6. ARM7系列微处理器为低功耗的32位RISC位处理

2、器,支持16位Thumb指令集,典型处理速度为0.95MIPS/MHZ7. ARM7TDM是目前使用最广泛的 32位嵌入式RISC处理器,没有存储管理单元)T支持16位压缩指令集 ThumbD-支持片上DebugM内嵌硬件乘法器I-嵌入式ICE,支持片上辅助调试8. XScale 处理器是基于 ARMv5TE系结构的解决方案,它支持16位的Thumb指令和DSP指令集,是一款 全性能、高性价比、低功耗的处理器9. 嵌入式操作系统有:嵌入式 Linux、Windows CE、Symbian、QNX是一个实时的、可扩充的操作系统, 它部分遵循POSIX相关标准10. 需要(交叉开发环境)(英文为

3、Cross Development Environment )的支持是嵌入式应用软件开发时的一个显著特点,交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用宿主机 /目标机模式11. ARM (有15个)寄存器: R13-sp 堆栈指针寄存器R14-LR链接寄存器R15-PC指针寄存器通用的R0-R1212. ARM运行模式:用户模式和特权模式FIQ 快速中断13. ARM采用哈佛结构,支持 ARM和Thumb指令集14. XScale 核中的内存管理单元(MMU提供内存访问保护、虚拟地址到物理地址的转换和内存空间的分 配。其中MMI可以存在内

4、部,也可以协处理器出现。15. 裸机引导程序 OS镜像 文件系统 应用程序16.开发环境的建立:(1)交叉编译(2) TFTP)(3) Minicom设置17. Boot Loader是系统加电后运行的第一段代码,Boot Loader就是操作系统内核运行前运行的一段小程序,进行初始化硬件设置,创建内核需要的信息等工作,最后调用操作系统内核。利用JTAG烧写BootLoader使用Minicom实现窜口通信18. 宏名$*涵义没有扩展名的当前目标文件$<$?当前目标文件当前目标文件最近更新的文件名当前目标文件最近更新的文件名19. 若目标机接在 COM上,则输入/dev/ttyS0;若接

5、在COM上则输入/dev/ttyS1. 按回车键结束设置20. BOOTP是一种协议,工作原理:在目标板上发送 BOOT请求时,宿主机上安装的BOOTP艮务器(bootpd)根据 /etc/bootptab中定义的目标机信息来生成BOOT曲应包以做应答。字段 ht表示硬件类型(hardwaretype )因为使用 10MB Ethernet,所以设置为 1 ( Ethernet ) ;ha 表示硬件地址(hardware address ),是 发送BOOT请求的目标机 Mac地址;ip表示分配给目标机的IP地址;sm表示子网掩码(Subnet Mask ), 应与宿主机相同21. ARM内核

6、基于RISC技术,其结构是一种变形的哈佛结构,即内存和指令在逻辑上是相互独立的。ARM有7种运行状态,它们分别是:用户状态(User)、中断状态(IRQ,Interrupt Request)、快中断状态(FIQ,Fast Interrupt Request )、监管状态(Supervisor )、终止状态(Abort )、无定义状态(Undefined )和系统状 态(System)。7种状态中的每一种都有自己的堆栈指针 sp和链接寄存器lr。ARM的7种运行状态除了用 户状态之外,其余的都是系统状态 .ARM系统结构中另有一专门用于“快中断 (FIQ) ”状态的5个单元寄存 器 r8-r12

7、22. 存储管理包括地址映射,内存空间的分配,地址空间保护,如果将I/O也放在内存地址空间中,则还要包括I/O地址的映射23. 在ARM系统结构中,地址映射可以是单层的按“段( section )”映射,也可以是二层的页面映射24. Linux内核的存储管理采用页面映射,并且采用最普通的三层映射模型25. 在ARM处理器也有自陷指令,这就是 swi26. init进程是系统所有进程的起点,它的进程号是1, init程序需要读取/etc/inittab文件作为其行为指针,inittab是以行为为单位的描述性(非执行性)文本27. rc 启动脚本都位于/etc/rc.d 目录下,rc3.d 下的文

8、件都是指向/etc/rc.d/init.d/ 目录下各个 Shell脚本的符号链接,而这些脚本一般都能接受start、stop、restart 、status等参数28. 新进程通过克隆老进程或当前进程来创建,要让若干新进程按照需要处理不同的事情,就必须通过系统调用exec(这实际上是一组名为 exec的函数)。29. lsmod把现在内核中已经安装的模块列出来insmod把某个模块安装到内核中rmmod把某个没在用的模块从内核中卸载depmod制造模块相关文件,以告诉将来的insmod要去哪儿找模块来安装。这个模块相关文件放在/lib/modules/ 当前 kernel 版本/module

9、s.dep30. 编译内核配置 3步骤:(1)使用makemenuconfig配置内核(2) make dep构建依赖(3)使用 makezlmage 命令来编译内核31. 嵌入式操作系统的文件系统的设计目标:(1)使用简单方便(2)安全可靠(3)实时响应(4)接口标注的开放性和可移植性(5)可伸缩性和可配置性(6)开放的体系结构(7)资源有效性.32. 嵌入式Linux常用文件系统:(闪存、第二版扩展文件系统Ext2fs、JFFS和YAFFS Ext2、NFS JFFS2、Ramfs)闪存主要有两种技术,NAND NOR NAN型的单元排列是串行的,而NOF型则是并行的。NAN型的闪存可以看

10、作顺序读取的设备,它在读和擦文件,特别是连续的大文件时,与NOR型的闪存相比速度更快,但NAND型的不足在于随机存取速度较慢,而且没有办法按字节写。NOF型随机存取速度较快,而且可以随机按字节写。NAND型的内存适合用在大容量的多媒体应用中,而NOR型适合应用在数据/程序存储应用中。 其中JFFS文件系统是瑞典 Axis通信公司开发的一种基于Flash的日志文件系统33. 常用编译工具:GCC常用调试工具:GDB34. Linux的压缩工具及格式:bzip、gzip、tar.bz 、tar.gz35. Tab 键作用:命令自动补齐挂载命令:mount 目录:/mnt/36. Linux支持三类

11、硬件设备:字符设备、块设备和网络设备。Linux抽象了对硬件的处理,所有的硬件设备都可以作为普通文件看待37. 每个设备文件都对应有两个设备号:一个是主设备号,标识该设备的种类,也标识了该设备所使用的驱动程序;另一个是次设备号,标识使用同一设备驱动程序的不同硬件设备。1. 什么是嵌入式系统?其特点有些什么?答:嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”特点:1)是专用的计算机系统,用于特定的任务;2 )资源较少,可以裁减;3)功耗低,体积小,集成度高,成本低 ;4)使用实时操作系统;5)可靠性要求更高,具有系统测试

12、和可靠性评估体系;6)运行环境差异大7)大部分程序固化在 ROM中;8)较长的生命周期;9)嵌入式微处理器通常包含专用调试电路2. 嵌入式系统的BooTLoader的功能是什么?答:BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代 码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。)3. 目前嵌入式操作系统有哪些?答:1) Q/OS-II嵌入式操作系统内核;2) VxWorks嵌入式实时操

13、作系统;3) WinCE操作系统;4) Linux操作系统;5) Symbian操作系统4. 构造嵌入式开发环境有哪几种形式?答:1)交叉开发环境;2)软件模拟环境;3)评估电路板5. 嵌入式系统开发的基本流程 ?答:1 )系统定义与需求分析;2)系统设计方案的初步确立;3)初步设计方案性价比评估与方案评审论证;4)完善初步方案、初步方案实施;5)软硬件集成测试;6)系统功能性能测试及可靠性测试。6. 寄存器R13,R14,R15的专用功能各是什么?答:1)寄存器R13保存堆栈指针SP; 2)寄存器R14用作子程序链接寄存器,也称为 LR,用以保 存返回地址;3) R15 (PC)用作程序计数

14、器。15. 简述bootloader在嵌入式系统平台上的移植过程?答:1).准备 Bootloader 软件2).根据目标板硬件平台,修改配置Bootloader 。3) .交叉编译,形成目标板子可执行的Bootloader二进制BIN文件。4).将Bootloader 烧写进目标板。5).配置好宿主机上的 minicom或者超级终端。6).启动目标板,若bootloader编译没有错误,烧写正确,就可以在超级终端中看到目标板启动的信息。16. Bootloader 和 BSP有什么不同?答:BSP是开发板支持软件包,一般BSP包含有bootloader. BSP的作用是支持操作系统,使之能够

15、更好的运行于硬件平台;BootLoader就是在操作系统内核运行之前运行的一段小程序。25. ARM处理器模式转换方式主要有(arm模式)(thumb模式)两种。26. ARM处理器有(37)个寄存器,其中系统模式和用户模式下有(1 )物理寄存器可用其他 5中模式下都有(5 )物理寄存器可用27. ARM处理其每种模式下都有一组寄存器可用,其中( 用户模式 )(系统模式 )具有完全一样的寄 存器组。28. ARM处理器分两大类( 通用寄存器)(状态寄存器),其中(通用)寄存器又可以分为未分组寄存 器,分组寄存器和程序寄存器。三名词解释1. ARM(Advanced RISC Machines

16、)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低 的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。2. CISC 和 RISCCISC复杂指令系统;RISC精简指令系统;3. ATPCSARM-THUMB procedure call standard的简称; ATPCS 就是基于 ARM 指令集和 THUME指令集过程调用的规范。4. J TAGJoint Test Action Group(联合测试行为组织)一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。5. ADSADS是 ARM公司的集成开发环境软件( ARM devel

17、oper suit )6. BootloaderBootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作 系统内核准备好正确的环境7. U-bootUniversal Boot Loader,是遵循 GPL条款的开放源码项目8. VIVIVivi是韩国mizi公司开发的bootloader, 适用于ARM9处理器。Vivi有两种工作模式:启动加载模式和下载模式9. make项目管理器10. makefileMakefile文件Makefile个工程中的源文件不计数,其按

18、类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需 要重新编译,甚至于进行更复杂的功能操作,因为makefile 就像一个Shell脚本一样,其中也可以执行操作系统的命令。简答题:(1)采用RISC架构的ARM微处理器一般具有如下特点:a. 体积小、低功耗、低成本、高性能b. 支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容 8位/16位器件c. 大量使用寄存器,指令执行速度快d. 大多数数据操作都在寄存器中完成e. 寻址方式灵活简单,执行效率高f. 采用固定长度的指令格式(2 )Boot Load

19、er 的阶段1通常包括以下步骤a. 硬件设备初始化b. 为加载Boot Loader 的阶段2准备RAM空间c. 复制Boot Loader的阶段2到RAM空间中d. 设置好堆栈e. 跳转到阶段2的C入口点Boot Loader的阶段2通常包括一下步骤a. 初始化本阶段要使用到的硬件步骤b. 检测系统内存映射(memory map)c. 将kernel映像和根文件系统映像从 Flash读到RAM空间中d. 为内核设置启动参数e. 调用内核(3 )Linux进程调度由函数schedule。实现,其基本流程可以概括为5步:a. 清理当前运行中的进程b. 选择下一个投入运行的进程c. 设置新进程的运

20、行环境d. 执行进程上下文切换e. 后期整理(4 )Linux内核移植大致可以归纳成以下几个步骤:a. 建立交叉编译环境b. 制作 Boot Loaderc. 修改和编译内核d. 制作文件系统e. 编写应用程序(5 )使用BusyBox构建根文件系统a. 解压 BusyBoxb. 编译 BusyBoxc. 配置文件系统d. 制作JFFS2文件映像综合设计题:设计和实现一个KED&LE驱动在这个实验中,通过设计和实现一个 KED&LED区动程序,来控制目标板上的一组 LED灯,在安装完驱动后, 运行测试程序,就能点亮 LED灯。在这个驱动设计中,需要对一个实际的硬件( LED灯)进行控制,即 lednkey_open、lednkey_read、lednkey_write 、lednkey_release 、其中 lednkey_ioctl 接口函数主要用 于获取或者改变正在运行的设备的参数。/控制函数接口int lednkey_ioctl(struct inode *inode,st

温馨提示

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

评论

0/150

提交评论