linux开发流程_第1页
linux开发流程_第2页
linux开发流程_第3页
linux开发流程_第4页
linux开发流程_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式Linux开发流程成都研究所操作系统团队ZTE中兴目录族入式Linux开发概述嵌入式Li nux轶件开发的五个阶段嵌入式Linux开发流程炭入式Linux开发工具简介嵌入式Linux开发环境5交叉开发环境(主机一目标机的工作方式) Linux下开发 Windows下开发9Cygwin今Vmware (虚拟机)+ Linux9其他集成开发环境ZTE中兴嵌入式Linux软件组成嵌入式Linux系统软件由以下部分组成:9嵌入式Linux启动装载器:Boot Loader 9 Boot Loader驱动程序 9嵌入式Linux操作系统内核9 Linux设备驱动程序 9最小支持文件系统9应用程序嵌

2、入式Linux组成一BootLoader八启动装载器完成Linux操作系统内核的启动加 载。9系统上电后执行,初始化硬件。9提供基本的交互操作界面,如内存查看与修改,设 备查询裁动能。9提供下载(读取)Linux内核的功能。今提供从装载器到Linux内核传送参数的功能。 今装载Linux操作系统到内存中,并将控制转移到Linux内核起始执行处。完成Linux内核的启动。嵌入式Linux组成Linux内核A启动装载器驱动程序驱动基本设备,提供获取 内反能另。9启动装载器驱动程序只在装载器环境中使用,与 Linux驱动不同。9一般采用相对较为简单的方式,如一般可以不必采用中断方式,而是采用查询方式

3、。9驱动串行接口,进行控制台(console)操作。9驱动网口,提供从网络下载内核的能力。9驱动FLASH,提供从FLASH读取内核能力。嵌入式Linux内核(Kernel)是整个嵌入式操 作系统的核心,它直接管理硬件,并通过系统 调用为上层应用提供服务。为了适应嵌入式环境,需要对内核进行裁减与配置。9提供支持特定硬件平台的内核启动代码 今去除多余功能,减小体积今增加实时功能今添加特殊的系统调用ZTE中兴今Linux硬件驱动提供目标系统硬件在Linux操作系统 下的驱动程序,供系统以及之上的应用存取硬件使 用。今Linux下的设备划分为3类:字符设备char (如键盘、 串口等)、块设备blo

4、ck(如磁盘等)、网络设备一 般列为单独的一类设备今由于L i n u x运行时候划分内核空间与用户空间,而 驱动程序一般运行在内核空间中。对于运行在用户 空间的应用程序而言,从相应硬件中获取数据需要 经过一个内核空间到用户空间拷贝的过程。嵌入式Linux必须要有文件系统支持才能运行 嵌入式系统中一般采用MTD的物理设备作为文件系统驻留空间:如RAM、Flash等。文件系统中必须包含的内容 9系统init程序; 9 Shell;9应用程序;今应用程序函数库。必须采取措施,减小文件系统的体积,以适应嵌入式应用的需求。具体措施在“小型化”中介绍。嵌入式Lin u x组成一应用程序应用程序9应用程序

5、完成整个嵌入式系统的对外功能需求与功 能接口。今应用程序一般运行在Linux的用户空间,作为一个 用户进程在运行。今应用程序通过系统调用进入内核,访问内核提供的 服务。存取硬件。今可以有多个应用程序同时运行。今应用程序崩溃一般不会导致系统崩溃。9 Linux 支持 Posix 线程:pthreado目录ZTE中兴ZTE中兴炭入式Linux开发概述嵌入式Li nux轶件开发的五个阶段嵌入式Linux开发流程ZTE中兴ZTE中兴炭入式Linux开发工具简介ZTE中兴嵌入式Linux开发的五个阶段0根据整个嵌入式Linux应用开发过程的时间先 后可以分为以下5个开发阶段9 Boot程序(含Boot驱

6、动)开发Linux内核开发9 Linux驱动程序开发9应用程序开发9 Linux 标系统集成每个开发阶段相应对一个完整嵌入式Linux系统的一些组成部分的开发工作Boot及驱动程序开发开发目标9启动嵌入式目标系统,使系统具有加载并启动 Linux内核的能力。工作重点今CPU初始化;RAM初始化;串口、网卡、以及 FLASH驱动;基本的TCP/IP协议栈支持。工作产品今目标系统的启动ROMo可以启动目标系统的BootLoader0ZTE中兴Linux内核开发4开发目标9获得一个满足目标系统功能与性能需求,可以启动 的Linux内核。工作重点9启动最小系统(内核配置和生成)开发、外围设备驱动的开发

7、。工作产品9可以启动系统的Linux内核(bzlmage、plmage等)Linux设备驱动程序开发°开发目标9驱动目标系统上的相关设备,为上层应用提供存取 硬件的能力。工作重点今关注设备身的特性,采用合适的驱动方式。工作产品今可以是内核的一部分,也可以是模块化的驱动程序(内核可装载模块LKM)的目标文件(*.o)oLinux应用程序开发4开发目标9实现单板需要实现的产品功能与接口。提供相应的 单板服务与响应。工作重点今关注应用本身。如果在封装过的操作系统平台上开 发,需要关注所封装的接口。工作产品今可以执行的应用程序,一般为ELF格式,采用动态或 者静态连接,可以在目标系统上运行。

8、Linux目标系统集成4开发目标今提供产品化的嵌入式Linux系统。工作重点今关注系统占用的存储空间,文件系统选择。系统启 动脚本。工作产品今无需开发主机配合就可以独立运行的产品化的嵌入式Linux系统。目录炭入式Linux开发概述嵌入式Li nux轶件开发的五个阶段嵌入式Linux开发流程炭入式Linux开发工具简介Linux开发流程(1)4操作系统的裁剪9对应于PC机上的软件开发,这应该属于系统设计, 针对嵌入式系统的硬件环境,必须对操作系统进行 裁剪设计,一方面卸载和删除无用的模块,修改和 简化需要的模块;另一方面增加板极支持包的支持, 相对嵌入式硬件系统,完善相对应的操作系统,使 得系

9、统最为紧凑、小巧。Linux开发流程(#)4嵌入式操作系统内核的配置和编译9当系统设计确定后,就可以对具体对操作系统的内核进行合理配置和编译,形成新的应用于嵌入式硬 件系统的新的内核,最后一般形成内核影象文件, 下载到系统的FLASH中,完成内核的“量身定做”Linux开发流程(3)4系统文件系统的建立9对于操作系统,内核裁剪完成后,接着对文件系统 进行裁剪,由于每一种操作系统都支持很多文件系 统,对于嵌入式操作系统的文件系统裁剪,和内核 一样,针对板子上的并口FLASH、串口FLASH, 各种存储卡、U盘等等,构造和裁剪出相应的文件 系统,完成文件系统的建立。Linux开发流程(#)4用户程

10、序的编写和简单的仿真调试9建立交叉编译的开发环境,开发用户的应用程序, 并且尽可能采用一些开发工具,如MultiJce等,把 一些模块下载到目标板上,进行测试。Linux开发流程(5)4整体系统的目标板仿真调试9应用程序开发完后,和文件系统一起,形成文件系 统的影象文件,然后通过仿真工具(仿真机、调试 串口等)和hosttaget开发环境,对系统进行仿真 和调试Linux开发流程(#)4系统下载和脱机运行9当仿真完成,确定系统功能开发达到目标后,把最 终形成的影象文件,内核影象文件和文件系统影象 通过开发系统的下载工具进行下载,然后,去掉, 调试系统、加电复位运行。目录炭入式Linux开发概述嵌入式Li nux轶件开发的五个阶段嵌入式Linux开发流程炭入式Linux开发工具简介辅助工具 Make9根据目标与依赖条件的时间关系,制动执行相关指 令。 Cygwin今Cygwin提供一个Linux工具执行的环境(包括库文 件等),这样,GCC等开发工具就可以在Cygwin 环境下运行。9基于Cygwin,可以让一些Linux下的工具转移到 Windows平台下可以运行。今Cygwin也是很多嵌入式Linux开发商所提供的运行 于Windows下的应用程序开发调试环境的运行方式。ZTE中兴商用开发套件 Windriver今一种基于vxowrks操作系统的集成开发环境

温馨提示

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

评论

0/150

提交评论