嵌入式Linux系统.ppt_第1页
嵌入式Linux系统.ppt_第2页
嵌入式Linux系统.ppt_第3页
嵌入式Linux系统.ppt_第4页
嵌入式Linux系统.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

构建ARM Linux系统 主要内容 嵌入式系统嵌入式处理器与平台的选择Linux嵌入式操作系统 主要内容 嵌入式系统嵌入式处理器与平台的选择Linux嵌入式操作系统 嵌入式技术无处不在 嵌入式技术无处不在 嵌入式技术典型应用 嵌入式产品拥有璀璨的明天 嵌入式系统的定义 一般定义 以应用为中心 以计算机技术为基础 软件硬件可裁剪 功能 可靠性 成本 体积 功耗严格要求的专用计算机系统 从以下几个方面来理解对嵌入式系统的定义 嵌入式系统是面向用户 面向产品 面向应用的 它必须与具体应用相结合才会具有生命力 才更具有优势 可以这样理解上述三个方面的含义 即嵌入式系统是与应用紧密结合的 它具有很强的专用性 必须结合实际系统需求进行合理的裁减利用 相关内容 嵌入式系统嵌入式处理器与平台的选择Linux嵌入式操作系统 常见的嵌入式处理器 ARM MIPS PowerPC x86 ARMLtd FoundedinNovember1990SpunoutofAcornComputers AdvancedRISCMachinesLtd nowjustARMLtd DesignstheARMrangeofRISCprocessorcoresLicensesARMcoredesignstosemiconductorpartnerswhofabricateandselltotheircustomers ARMdoesnotfabricatesiliconitselfAlsodeveloptechnologiestoassistwiththedesign inoftheARMarchitectureSoftwaretools boards debughardware applicationsoftware busarchitectures peripheralsetc ARMLTD ARMPartnershipModel ARMPartnershipModel 嵌入式处理器与平台的选择 常见的嵌入式处理器 ARM MIPS PowerPC x86 处理器仅仅是教学的载体 多注重体系结构 设计方法对于一个优秀的嵌入式系统工程师来说 各种体系结构的处理器都是一样的 为什么在嵌入式系统教学中选用ARM 典型的RISC体系结构软件资源丰富 完善编译器操作系统应用程序调试工具处理器廉价 种类多 应用广泛 ARM处理器分类 ARM微处理器目前包括下面几个系列 除了具有ARM体系结构的共同特点以外 每一个系列的ARM微处理器都有各自的特点和应用领域 ARM7系列ARM9系列ARM9E系列ARM10E系列ARM11系列Securcore系列Intel的StrongARMIntel的Xscale ARM7 ARM9流水线 InstructionFetch Shift ALU MemoryAccess RegWrite RegRead RegDecode FETCH DECODE EXECUTE MEMORY WRITE ARM9TDMI ARMorThumbInstDecode RegSelect RegRead Shift ALU RegWrite Thumb ARMdecompress ARMdecode InstructionFetch FETCH DECODE EXECUTE ARM7TDMI ARM微处理器的特点 RISC体系结构具有如下特点 采用固定长度的指令格式 指令归整 简单 基本寻址方式简单 使用单周期指令 便于流水线操作执行 大量使用寄存器 数据处理指令只对寄存器进行操作 只有加载 存储指令可以访问存储器 以提高指令的执行效率 ARM微处理器的特点 采用RISC体系结构 ARM嵌入式技术 ARM处理器共有37个寄存器 被分为若干个组 这些寄存器包括 31个通用寄存器 包括程序计数器 PC指针 均为32位的寄存器 6个状态寄存器 用以标识CPU的工作状态及程序的运行状态 均为32位 大量的寄存器 各模式下寄存器组织 ARM嵌入式技术 ARM微处理器支持两种指令集 ARM指令集和Thumb指令集ARM指令为32位的长度 Thumb指令为16位长度 Thumb指令集为ARM指令集的功能子集 但与等价的ARM代码相比较 可节省30 40 以上的存储空间 同时具备32位代码的所有优点 高效的指令系统 相关内容 嵌入式系统嵌入式处理器与平台的选择Linux嵌入式操作系统 Linux的诞生和发展 Linux操作系统的诞生 发展和成长过程与以下五个因素密切相关 UNIX操作系统 MINIX操作系统 GNU计划 POSIX标准和Internet网络GNU计划 旨在开发一个类似Unix 并且是自由软件的完整操作系统 emacs编辑系统 bashshell程序 gcc系列编译程序 gdb调试程序等等POSIX标准 该标准基于现有的UNIX实践和经验 描述了操作系统的调用服务接口 用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运行 20世纪90年代初 在POSIX标准即将发布的时候 Linux就以该标准为指导进行开发 做到与绝大多数UNIX系统兼容 LinusMinix LinuxGNU Linux网络是Linux成长和壮大的必要环境 Linux定义 Linux一般是指Linux内核 Linux系统 Linux发行版 严格意义上说Linux是指由LinusTorvalds维护的并发布的内核 它的代码基只包括内核而不包括其它方面的应用 内核提供系统核心服务 进程管理 进程的调度 虚拟文件系统 内存的管理 网络接口 嵌入式Linux 一般是指把Linux内核移植到一个专用嵌入式设备的CPU和主板上 现在有很多公司提供嵌入式Linux解决方案 通常包括一个移植好的内核和嵌入式Linux的开发工具以及根据应用需要裁减的应用程序 有时还提供实时扩展的内核 就大部分而言 嵌入式Linux和桌面Linux提供的API函数和内核源代码都是相同的 开发工具主要包括源码浏览器 交叉编译器 调试器 CVS等项目管理软件等等 这些工具一般都是装在主机上 嵌入式linux产品 Linux优势 Linux是免费的Linux的所有部分可以充分地定制Linux可以运行在低档 便宜的硬件平台Linux是强大的Linux对源代码质量有一个高标准Linux内核非常小 而且紧凑Linux与很多常见的操作系统高度兼容Linux有很好的支持Linux有很多合适的工具 Linux在嵌入式领域的优势 为什么现在的嵌入式软件如此热门 现在计算业的流行趋势是嵌入式设备 而不再是桌面和服务器 移动电话 居室计算机 无线热点 车载娱乐设备及数字安全系统等都使得嵌入式领域成为众多厂商拼杀最为激烈的战场之一 目前有98 的计算机处理器芯片被用于嵌入式设备之中 只有2 的计算机芯片被用于桌面和服务器领域 对于Linux而言 其在嵌入式市场领域的投资是由无数开放源码开发人员 以及以IBM Novell和HP等为代表的行业巨头 加上强大的工业联盟 包括OSDL和CELF ConsumerElectronicsLinuxForum 所驱动的 DesignNews最近将Linux列为嵌入式市场的领头羊 同时 从去年夏天开始 VDC也将Linux列为嵌入式开发人员的首选 方案设计 操作系统的原则 嵌入式操作系统的选择 免费 实时性好 过于简单 价格昂贵 实时性好 价格较贵 实时性一般 免费 实时性较差性能稳定 硬件需求小 可剪裁 MV Linux KURT Red Linux RT Linux RTAI Linux 价格较贵 实时性好 不方便移植 不免费 实时性好 方便移植 免费 实时性好 方便移植 VDC统计数据 WinCEVSLinux Linux内核源码开放驱动程序开发更容易软件资源丰富Unix习惯 Windows的开发人员不容易适应WinCEWindows习惯的开发风格应用程序开发迅速内核源码不开放 不容易深入学习 Linux优势统计日期 2004 7 Linux优势 Windows和Linux在不同应用领域的产品数量 2005年7月 产品分类使用嵌入式Windows的产品数量使用嵌入式Linux的产品数量PDA 手持设备10340手机3622VoIP电话 设备1314机器人无11音频 视频播放器2060微终端3726平板PC3613网关 服务器 AP无73其他4554合计290313 arm linux gcc交叉编译器 arm linux gcc编译器的选择 Linux2 6内核至少需要使用gcc2 95 3 建议使用gcc3 3以上版本gcc3 4开始 支持iwmmx指令和优化 如何学习嵌入式Linux 从驱动程序入手利用windows的工具分析Linux内核 SourceInsight UltraEdit研究源码 多看少问利用搜索引擎 BLOB引导程序 Linux内核 Rootfs根文件系统 用户应用程序 GUI 嵌入式Linux系统软件平台结构图 实时内核改造 设备驱动的编写 JFFS2 YAFFS TMPFS QT图形界面的建立 BLOB引导程序 Linux内核 Rootfs根文件系统 用户应用程序 GUI 嵌入式Linux系统软件平台结构图 实时内核改造 设备驱动的编写 JFFS2 YAFFS TMPFS QT图形界面的建立 PXA270平台上Linux的引导加载程序设计 Vivi Uboot Redboot Blob 支持串口下载功能 代码量小 支持串口 网络下载功能 代码量大 支持串口 网络下载功能 代码量最大 支持串口 网络下载功能 代码量小 BootLoader start S trampoline S main c 第1阶段汇编代码 完成 复位处理异常中断处理 处理器及外设的初始化 复制第2阶段代码到内存 第2阶段汇编代码 初始化各个操作代码的堆栈 跳转到C代码 C代码的主程序 将各个功能串接起来 完成应用的主要功能 串口驱动 FLASH驱动 人机接口命令处理 XMODEM TFTP协议数据下载 PXA270 S平台上Linux的引导加载程序设计 BLOB引导程序 Linux内核 Rootfs根文件系统 用户应用程序 GUI 嵌入式Linux系统软件平台结构图 实时内核改造 设备驱动的编写 JFFS2 YAFFS TMPFS QT图形界面的建立 Linux内核的组成 定制Linux内核 1 makemenuconfig makexconfig 2 makezImage Linux的驱动程序 Linux下对外设的访问只能通过驱动程序Linux对于驱动程序有统一的接口 以文件的形式定义系统的驱动程序 Open Release read write ioctl 驱动程序是内核的一部分 可以使用中断 DMA等操作驱动程序需要在用户态和内核态之间传递数据uClinux下可以在应用层直接访问外设 操作寄存器口 但是无法处理中断 不推荐使用对于复杂的应用可以考虑是用mmap 一个简单的Linux驱动程序原理 Linux设备驱动设计方法 1 熟悉ARM电路设计知识2 熟悉各外设驱动芯片的特性3 熟悉Linux下设备驱动编程框架 Linux的设备驱动编程 BLOB引导程序 Linux内核 Rootfs根文件系统 用户应用程序 GUI RTAI Linux系统软件平台结构图 RTAI实时内核 设备驱动的编写 JFFS2 YAFFS TMPFS QT图形界面的建立 ARM上Linux的文件系统设计 Linux支持的常见的文件系统有 JFS ReiserFS ext ext2 ext3 ISO9660 XFS Minx MSDOS UMSDOS VFAT NTFS HPFS NFS SMB SysV PROC等 Linux支持的常见的嵌入式文件系统有 UP NETARM2410 S选择CRAMFS YAFFS TMPFS三种文件系统 嵌入式linux下常见的文件系统 ramfs 利用VFS自身结构而形成的内存文件系统 使用系统的RAM空间cramfs 压缩只读文件系统 可以放在ROM Flash 空间 也可以在系统的RAM中 节省存储器空间JFFS JFFS2 为Flash设计的日志文件系统 嵌入式Linux中常用来作根文件系统Yaffs 专门为NandFlash设计NFS 网络文件系统 开发时候 可以作为根文件系统 调试更方便proc 为内核和内核模块将信息发送给进程提供一种机制 可以查看系统模块装载的信息 ARM上Linux的文件系统设计 根文件系统 CRAMFS用户文件系统 YAFFS临时文件系统 Ramfs 目录习惯用法bin用户命令所在目录dev硬件设备文件及其它特殊文件et 系统配置文件 包括启动文件等home多用户主目录lib链接库文件目录mnt装配点 用于装配临时文件系统opt附加的软件套件目录proc虚拟文件系统 用来显示内核及进程信息rootroot用户主目录sbin系统管理员命令目录tmp临时文件目录usr用户命令目录var监控程序和工具程序所存放的可变数据 1 根文件系统内容 2 Busybox工具 BLOB引导程序 Linux内核 Rootfs根文件系统 用户应用程序 GUI RTAI Linux系统

温馨提示

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

评论

0/150

提交评论