嵌入式Linux开发流程-Read.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式Linux开发流程-Read.ppt

嵌入式Linux开发流程 成都研究所操作系统团队 嵌入式Linux开发概述 嵌入式Linux软件开发的五个阶段 嵌入式Linux开发流程 嵌入式Linux开发工具简介 嵌入式Linux开发环境 交叉开发环境(主机—目标机的工作方式) 嵌入式Linux开发环境 Linux下开发 Windows下开发 Cygwin Vmware(虚拟机)+ Linux 其他集成开发环境 嵌入式Linux软件组成 嵌入式Linux系统软件由以下部分组成: 嵌入式Linux启动装载器:Boot Loader Boot Loader驱动程序 嵌入式Linux操作系统内核 Linux设备驱动程序 最小支持文件系统 应用程序 嵌入式Linux组成—BootLoader 启动装载器完成Linux操作系统内核的启动加载。 系统上电后执行,初始化硬件。 提供基本的交互操作界面,如内存查看与修改,设备查询等功能。 提供下载(读取)Linux内核的功能。 提供从装载器到Linux内核传送参数的功能。 装载Linux操作系统到内存中,并将控制转移到Linux内核起始执行处。完成Linux内核的启动。 嵌入式Linux组成—BootLoader驱动 启动装载器驱动程序驱动基本设备,提供获取内核能力。 启动装载器驱动程序只在装载器环境中使用,与Linux驱动不同。 一般采用相对较为简单的方式,如一般可以不必采用中断方式,而是采用查询方式。 驱动串行接口,进行控制台(console)操作。 驱动网口,提供从网络下载内核的能力。 驱动FLASH,提供从FLASH读取内核能力。 嵌入式Linux组成—Linux内核 嵌入式Linux内核(Kernel)是整个嵌入式操作系统的核心,它直接管理硬件,并通过系统调用为上层应用提供服务。 为了适应嵌入式环境,需要对内核进行裁减与配置。 提供支持特定硬件平台的内核启动代码 去除多余功能,减小体积 增加实时功能 添加特殊的系统调用 嵌入式Linux组成—Linux设备驱动 Linux硬件驱动提供目标系统硬件在Linux操作系统下的驱动程序,供系统以及之上的应用存取硬件使用。 Linux下的设备划分为3类:字符设备char(如键盘、串口等)、块设备block(如磁盘等)、网络设备一般列为单独的一类设备 由于Linux运行时候划分内核空间与用户空间,而驱动程序一般运行在内核空间中。对于运行在用户空间的应用程序而言,从相应硬件中获取数据需要经过一个内核空间到用户空间拷贝的过程。 嵌入式Linux组成—最小文件系统 嵌入式Linux必须要有文件系统支持才能运行 嵌入式系统中一般采用MTD的物理设备作为文件系统驻留空间:如RAM、Flash等。 文件系统中必须包含的内容 系统init程序; Shell; 应用程序; 应用程序函数库。 必须采取措施,减小文件系统的体积,以适应嵌入式应用的需求。具体措施在“小型化”中介绍。 嵌入式Linux组成—应用程序 应用程序 应用程序完成整个嵌入式系统的对外功能需求与功能接口。 应用程序一般运行在Linux的用户空间,作为一个用户进程在运行。 应用程序通过系统调用进入内核,访问内核提供的服务。存取硬件。 可以有多个应用程序同时运行。 应用程序崩溃一般不会导致系统崩溃。 Linux支持Posix线程:pthread。 嵌入式Linux开发概述 嵌入式Linux软件开发的五个阶段 嵌入式Linux开发流程 嵌入式Linux开发工具简介 嵌入式Linux开发的五个阶段 根据整个嵌入式Linux应用开发过程的时间先后可以分为以下5个开发阶段 Boot程序(含Boot驱动)开发 Linux内核开发 Linux驱动程序开发 应用程序开发 ?Linux目标系统集成 每个开发阶段相应对一个完整嵌入式Linux系统的一些组成部分的开发工作 Boot及驱动程序开发 开发目标 启动嵌入式目标系统,使系统具有加载并启动Linux内核的能力。 工作重点 CPU初始化;RAM初始化;串口、网卡、以及FLASH驱动;基本的TCP/IP协议栈支持。 工作产品 目标系统的启动ROM。可以启动目标系统 的Boot Loader。 Linux内核开发 开发目标 获得一个满足目标系统功能与性能需求,可以启动的Linux内核。 工作重点 启动最小系统(内核配置和生成)开发、 外围设备驱动的开发。 工作产品 可以启动系统的Linux内核(bzImage、 pImage等) Linux设备驱动程序开发 开发目标 驱动目标系统上的相关设备,为上层应用提供存取硬件的能力。 工作重点 关注设备身的特性,采用合适的驱动方式。 工作产品 可以是内核的一部分,也可以是模块化的驱动程序(内核可装载模块LKM)的目标文件(*.o)。 Linux应用程序开发 开发

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档