最新嵌入式Linux系统PPT课件

上传人:桔**** 文档编号:570172023 上传时间:2024-08-02 格式:PPT 页数:60 大小:2.92MB
返回 下载 相关 举报
最新嵌入式Linux系统PPT课件_第1页
第1页 / 共60页
最新嵌入式Linux系统PPT课件_第2页
第2页 / 共60页
最新嵌入式Linux系统PPT课件_第3页
第3页 / 共60页
最新嵌入式Linux系统PPT课件_第4页
第4页 / 共60页
最新嵌入式Linux系统PPT课件_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《最新嵌入式Linux系统PPT课件》由会员分享,可在线阅读,更多相关《最新嵌入式Linux系统PPT课件(60页珍藏版)》请在金锄头文库上搜索。

1、嵌入式嵌入式LinuxLinux系统系统主要内容主要内容u嵌入式系统u嵌入式处理器与平台的选择uLinux嵌入式操作系统相关内容相关内容u嵌入式系统u嵌入式处理器与平台的选择uLinux嵌入式操作系统常见的嵌入式处理器:ARM、MIPS、PowerPC、x86ARM LtdFounded in November 1990Spun out of Acorn Computers-Advanced RISC Machines Ltd, now just ARM Ltd.Designs the ARM range of RISC processor coresLicenses ARM core des

2、igns to semiconductor partners who fabricate and sell to their customers.ARM does not fabricate silicon itselfAlso develop technologies to assist with the design-in of the ARM architectureSoftware tools, boards, debug hardware, application software, bus architectures, peripherals etcARM LTD ARM Part

3、nership Model ARM Partnership Model嵌入式处理器与平台的选择常见的嵌入式处理器:ARM、MIPS、PowerPC、x86处理器仅仅是教学的载体,多注重体系结构、设计方法对于一个优秀的嵌入式系统工程师来说,各种体系结构的处理器都是一样的。为什么在嵌入式系统教学中选用ARM典型的RISC体系结构软件资源丰富、完善编译器操作系统应用程序调试工具处理器廉价,种类多,应用广泛ARM处理器分类ARM微处理器目前包括下面几个系列,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。 ARM7系列 ARM9系列ARM9E系列 ARM10E

4、系列 ARM11系列 Securcore系列 Intel的StrongARM Intel的XscaleARM 微处理器的特点RISCRISC体系结构具有如下特点:体系结构具有如下特点: 采用固定长度的指令格式,指令归整、简单、基本寻址方式简单; 使用单周期指令,便于流水线操作执行; 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。 ARM 微处理器的特点采用采用RISCRISC体系结构体系结构 ARM嵌入式技术ARM ARM 处理器共有处理器共有3737个寄存器,被分为若干个组,这些寄存器包括:个寄存器,被分为若干个组,这些寄存器包括:

5、31个通用寄存器,包括程序计数器(PC 指针),均为32位的寄存器; 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位。 大量的寄存器大量的寄存器各模式下寄存器组织相关内容相关内容u嵌入式系统u嵌入式处理器与平台的选择uLinux嵌入式操作系统Linux的诞生和发展 Linux 操作系统的诞生、发展和成长过程与以下五个因素密切相关: UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和Internet 网络 GNU计划:旨在开发一个类似 Unix、并且是自由软件的完整操作系统 : emacs 编辑系统、bash shell 程序、gcc 系列编译程序、

6、gdb 调试程序等等 POSIX标准:该标准基于现有的UNIX 实践和经验,描述了操作系统的调用服务 接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运 行。20世纪90年代初,在POSIX标准即将发布的时候,Linux就以该标准为指导进 行开发,做到与绝大多数UNIX系统兼容。 Linus Minix - Linux GNU/Linux 网络是网络是LinuxLinux成长和壮大的必要环境成长和壮大的必要环境Linux定义 Linux一般是指Linux内核、Linux系统、Li nux发行版。严格意义上说Linux是指由Linus Torvalds维护的并发布的内核。它的代

7、码基只包括内核而不包括其它方面的应用。内核提供系统核心服务:进程管理,进程的调度,虚拟文件系统,内存的管理,网络接口。嵌入式Linux,一般是指把Linux内核移植到一个专用嵌入式设备的CPU和主板上。现在有很多公司提供嵌入式Linux解决方案。通常包括一个移植好的内核和嵌入式Linux的开发工具以及根据应用需要裁减的应用程序,有时还提供实时扩展的内核。就大部分而言,嵌入式Linux和桌面Linux提供的API函数和内核源代码都是相同的。开发工具主要包括源码浏览器、交叉编译器、调试器、CVS等项目管理软件等等。这些工具一般都是装在主机上。 嵌入式linux产品Linux优势Linux是免费的

8、Linux的所有部分可以充分地定制 Linux可以运行在低档,便宜的硬件平台Linux是强大的Linux对源代码质量有一个高标准Linux内核非常小,而且紧凑Linux与很多常见的操作系统高度兼容 Linux有很好的支持Linux有很多合适的工具Linux在嵌入式领域的优势为什么现在的嵌入式软件如此热门? 现在计算业的流行趋势是嵌入式设备,而不再是桌面和服务器。移动电话、居室计算机、无线热点、车载娱乐设备及数字安全系统等都使得嵌入式领域成为众多厂商拼杀最为激烈的战场之一。 目前有98%的计算机处理器芯片被用于嵌入式设备之中,只有2%的计算机芯片被用于桌面和服务器领域。 对于Linux而言,其在

9、嵌入式市场领域的投资是由无数开放源码开发人员,以及以IBM、Novell和HP等为代表的行业巨头,加上强大的工业联盟,包括OSDL和CELF(Consumer Electronics Linux Forum)所驱动的。Design News最近将Linux列为嵌入式市场的领头羊。同时,从去年夏天开始,VDC也将Linux列为嵌入式开发人员的首选。 方案设计方案设计-操作系统的原则操作系统的原则嵌入式操作系统的选择嵌入式操作系统的选择免费免费,实时性实时性好好,过于简单过于简单价格昂贵价格昂贵,实实时性好时性好价格较贵价格较贵,实实时性一般时性一般 免费,实时性较差性能稳定,硬件需求小 ,可剪裁

10、MV-Linux KURT Red-Linux RT-Linux WinCEVxworksC/OS- Linux 进行实时性改进进行实时性改进单内核改进方案双内核改进方案RTAI-Linux 价格较贵价格较贵, ,实时性实时性好好, ,不方便移植不方便移植不免费不免费,实时性实时性好好,方便移植方便移植免费免费,实时性实时性好好,方便移植方便移植VDC统计数据WinCE VS LinuxLinux内核源码开放驱动程序开发更容易软件资源丰富Unix习惯,Windows的开发人员不容易适应WinCEWindows习惯的开发风格应用程序开发迅速内核源码不开放,不容易深入学习Linux优势统计日期:2

11、004.7Linux优势 Windows和Linux在不同应用领域的产品数量(2005年7月)产品分类 使用嵌入式Windows的产品数量 使用嵌入式Linux的产品数量PDA、手持设备 103 40手机 36 22VoIP电话/设备 13 14机器人 无 11音频/视频播放器 20 60微终端 37 26平板PC 36 13网关、服务器、AP 无 73其他 45 54合计 290 313arm-linux-gcc交叉编译器构建交叉编译环境Binutils工具包包括连接器汇编器等Gcc编译器C与c的编译器和预处理器等Glibc库提供系统调用和基本函数C库等arm-linux-gcc编译器的选择

12、Linux 2.6内核至少需要使用gcc 2.95.3,建议使用gcc 3.3以上版本gcc 3.4开始,支持iwmmx指令和优化如何学习嵌入式Linux从驱动程序入手利用windows的工具分析Linux内核:SourceInsight,UltraEdit研究源码,多看少问利用搜索引擎BLOB 引导程序Linux 内核Rootfs 根文件系统用户应用程序(GUI) 嵌入式嵌入式嵌入式嵌入式LinuxLinuxLinuxLinux系统软件平台结构图系统软件平台结构图实时内核改造设备驱动的编写JFFS2,YAFFS,TMPFSQT图形界面的建立BLOB 引导程序Linux 内核Rootfs 根文

13、件系统用户应用程序(GUI)嵌入式嵌入式嵌入式嵌入式LinuxLinux系系统软统软件平台件平台结结构构图图实时内核改造设备驱动的编写JFFS2,YAFFS,TMPFSQT图形界面的建立PXA270PXA270平台上平台上LinuxLinux的引导加载程序设计的引导加载程序设计ViviUbootRedbootBlob支持串口下载功能,代码量小支持串口,网络下载功能,代码量大支持串口,网络下载功能,代码量最大支持串口,网络下载功能,代码量小BootLoaderstart.Strampoline.Smain.c第1阶段汇编代码,完成:复位处理异常中断处理,处理器及外设的初始化; 复制第2阶段代码到

14、内存第2阶段汇编代码,初始化各个操作代码的堆栈,跳转到C代码C代码的主程序,将各个功能串接起来,完成应用的主要功能串口驱动FLASH驱动人机接口命令处理XMODEM,TFTP协议数据下载PXA270-S平台上Linux的引导加载程序设计BLOB 引导程序Linux 内核Rootfs 根文件系统用户应用程序(GUI) 嵌入式嵌入式嵌入式嵌入式LinuxLinuxLinuxLinux系统软件平台结构图系统软件平台结构图实时内核改造设备驱动的编写JFFS2,YAFFS,TMPFSQT图形界面的建立Linux内核的组成 定制Linux内核:1. make menuconfig( make xconfi

15、g ) 2. make zImage Linux的驱动程序LinuxLinux下对外设的访问只能通过驱动程序下对外设的访问只能通过驱动程序LinuxLinux对于驱动程序有统一的接口,以文件的形式定义系统的驱动程对于驱动程序有统一的接口,以文件的形式定义系统的驱动程序:序:OpenOpen、ReleaseRelease、readread、writewrite、ioctlioctl驱动程序是内核的一部分,可以使用中断、驱动程序是内核的一部分,可以使用中断、DMADMA等操作等操作驱动程序需要在用户态和内核态之间传递数据驱动程序需要在用户态和内核态之间传递数据uClinuxuClinux下可以在应

16、用层直接访问外设,操作寄存器口,但是无法处下可以在应用层直接访问外设,操作寄存器口,但是无法处理中断理中断不推荐使用不推荐使用对于复杂的应用可以考虑是用对于复杂的应用可以考虑是用mmapmmap一个简单的Linux驱动程序原理Linux设备驱动设备驱动设计方法设计方法:1.熟悉熟悉ARM电路设计知识电路设计知识2.熟悉各外设驱动芯片的特性熟悉各外设驱动芯片的特性3.熟悉熟悉Linux下设备驱动编程框架下设备驱动编程框架LinuxLinux的设备驱动编程的设备驱动编程 BLOB 引导程序Linux 内核Rootfs 根文件系统用户应用程序(GUI)RTAI-LinuxRTAI-LinuxRTAI

17、-LinuxRTAI-Linux系统软件平台结构图系统软件平台结构图 RTAI实时内核设备驱动的编写JFFS2,YAFFS,TMPFSQT图形界面的建立ARMARM上上LinuxLinux的文件系统设计的文件系统设计 LinuxLinux支持的常见的文件系统有:支持的常见的文件系统有:JFSJFS、 ReiserFS ReiserFS、extext、ext2ext2、ext3ext3、ISO9660ISO9660、XFSXFS、MinxMinx、MSDOSMSDOS、UMSDOSUMSDOS、VFATVFAT、NTFSNTFS、HPFSHPFS、NFSNFS、SMBSMB、SysVSysV、P

18、ROCPROC等等 LinuxLinux支持的常见的嵌入式文件系统有支持的常见的嵌入式文件系统有: :UP-NETARM2410-SUP-NETARM2410-S选择选择CRAMFS,YAFFS,TMPFSCRAMFS,YAFFS,TMPFS三种文件系统三种文件系统嵌入式linux下常见的文件系统ramfs:利用VFS自身结构而形成的内存文件系统,使用系统的RAM空间cramfs:压缩只读文件系统,可以放在ROM(Flash)空间,也可以在系统的RAM中,节省存储器空间JFFS/JFFS2:为Flash设计的日志文件系统,嵌入式Linux中常用来作根文件系统Yaffs:专门为Nand Flas

19、h设计NFS:网络文件系统。开发时候,可以作为根文件系统,调试更方便proc:为内核和内核模块将信息发送给进程提供一种机制,可以查看系统模块装载的信息ARMARM上上LinuxLinux的文件系统设计的文件系统设计根文件系统:CRAMFS用户文件系统:YAFFS临时文件系统:Ramfs目录 习惯用法 bin 用户命令所在目录dev 硬件设备文件及其它特殊文件et系统配置文件,包括启动文件等home 多用户主目录lib 链接库文件目录mnt 装配点,用于装配临时文件系统opt 附加的软件套件目录proc 虚拟文件系统,用来显示内核及进程信息root root用户主目录sbin系统管理员命令目录t

20、mp临时文件目录usr用户命令目录var监控程序和工具程序所存放的可变数据1. 根文件系统内容2. Busybox工具BLOB 引导程序Linux 内核Rootfs 根文件系统用户应用程序(GUI)RTAI-LinuxRTAI-Linux系统软件平台结构图 RTAI实时内核设备驱动的编写JFFS2,YAFFS,TMPFSQT图形界面的建立常见的GUIX Window 系统: Linux 以及其他类 UNIX 系统的标准 GUI 优点:可扩展性好、可移植性好 缺点:系统庞大、累赘,效率低常见的GUIMicroWindows 系统: MicroWindows 是一个开放源码的项目 优点:提供了比较

21、完善的图形功能,包括一些高级的功能,比如 Alpha 混合,三维支持,TrueType 字体支持等 缺点:控件或构件的实现还很不完备,键盘和鼠标等的驱动还很 不完善 常见的GUIOpenGUI 系统: OpenGUI 在 Linux 系统上存在已经很长时间了。最初的名字叫 FastGL,只支持 256 的线性显存模式。但目前也支持其他显示模式。这个库是用 C+ 编写的,只提供 C+ 接口常见的GUI MiniGUI系统: MiniGUI 是一种面向嵌入式系统或者实时系统的图形用户界面支持系统。它主要运行于 Linux 控制台,实际可以运行在任何一种具有 POSIX 线程支持的 POSIX 兼容系统上。MiniGUI 同时也是国内最早出现的几个自由软件项目之一 常见的GUIQT 系统 QT/Embedded 是著名的 QT 库开放商正在进行的面向嵌入式系统的 QT 版本。这个版本的主要特点是可移植性较好,许多基于 QT 的 X Window 程序可以非常方便地移植到嵌入式版本。但是该系统不是开放源码的,如果你要使用这个库,可能需要支付昂贵的授权费用。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号