嵌入式Linux开发流程

上传人:cn****1 文档编号:584645981 上传时间:2024-08-31 格式:PPT 页数:36 大小:1.47MB
返回 下载 相关 举报
嵌入式Linux开发流程_第1页
第1页 / 共36页
嵌入式Linux开发流程_第2页
第2页 / 共36页
嵌入式Linux开发流程_第3页
第3页 / 共36页
嵌入式Linux开发流程_第4页
第4页 / 共36页
嵌入式Linux开发流程_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《嵌入式Linux开发流程》由会员分享,可在线阅读,更多相关《嵌入式Linux开发流程(36页珍藏版)》请在金锄头文库上搜索。

1、嵌入式Linux开发流程开发流程嵌入式Linux开发流程开发流程嵌入式嵌入式Linux开发概述开发概述嵌入式嵌入式Linux软件开发的五个阶段软件开发的五个阶段嵌入式嵌入式Linux开发流程开发流程嵌入式嵌入式Linux开发工具简介开发工具简介BackGround Debugging Mode(摩托罗拉公司支持的一种摩托罗拉公司支持的一种OCD的调试模式的调试模式)交叉编译环境建立交叉编译环境建立交叉编译环境建立交叉编译环境建立嵌入式Linux开发环境开发环境交叉开发环境(主机目标机的工作方式)目标机的工作方式)嵌入式Linux开发环境开发环境Linux下开发下开发 Windows下开发下开发

2、CygwinVmware(虚拟机)(虚拟机)+ Linux其它集成开发环境嵌入式Linux软件组成软件组成嵌入式Linux系统软件由以下部分组成:系统软件由以下部分组成:嵌入式Linux启动装载器:Boot LoaderBoot Loader驱动程序嵌入式Linux操作系统内核Linux设备驱动程序最小支持文件系统应用程序嵌入式Linux组成组成BootLoader启动装载器完成Linux操作系统内核的启动加操作系统内核的启动加载。系统上电后执行,初始化硬件。提供基本的交互操作界面,如内存查看与修改,设备查询等功能。提供下载(读取)Linux内核的功能。提供从装载器到Linux内核传送参数的功

3、能。装载Linux操作系统到内存中,并将控制转移到Linux内核起始执行处。完成Linux内核的启动。嵌入式Linux组成组成BootLoader驱动驱动启动装载器驱动程序驱动基本设备,提供获取内核能力。启动装载器驱动程序只在装载器环境中使用,与Linux驱动不同。一般采用相对较为简单的方式,如一般可以不必采用中断方式,而是采用查询方式。驱动串行接口,进行控制台(console)操作。驱动网口,提供从网络下载内核的能力。驱动FLASH,提供从FLASH读取内核能力。嵌入式Linux组成组成Linux内核内核嵌入式嵌入式Linux内核(内核(Kernel)是整个嵌入式操作)是整个嵌入式操作系统的

4、核心,它直接管理硬件,并通过系统调系统的核心,它直接管理硬件,并通过系统调用为上层应用提供服务。用为上层应用提供服务。 为适应嵌入式环境,需对内核进行为适应嵌入式环境,需对内核进行裁减与配置裁减与配置。提供支持特定硬件平台的内核启动代码去除多余功能,减小体积增加实时功能添加特殊的系统调用嵌入式Linux组成组成Linux设备驱动设备驱动Linux硬件驱动提供目标系统硬件在Linux操作系统下的驱动程序,供系统以及之上的应用存取硬件使用。Linux下的设备划分为3类:字符设备char(如键盘、串口等)、块设备block(如磁盘等)、网络设备一般列为单独的一类设备由于Linux运行时候划分内核空间

5、与用户空间,而驱动程序一般运行在内核空间中。对于运行在用户空间的应用程序而言,从相应硬件中获取数据需要经过一个内核空间到用户空间拷贝的过程。嵌入式Linux组成组成最小文件系统最小文件系统嵌入式Linux必须要有文件系统支持才能运行必须要有文件系统支持才能运行嵌入式系统中一般采用MTD的物理设备作为文的物理设备作为文件系统驻留空间:如RAM、Flash等。等。文件系统中必须包含的内容系统init程序;Shell;应用程序;应用程序函数库。 必须采取措施,减小文件系统的体积,以适应嵌入式应用的需求。嵌入式Linux组成组成应用程序应用程序应用程序应用程序完成整个嵌入式系统的对外功能需求与功能接口

6、。应用程序一般运行在Linux的用户空间,作为一个用户进程在运行。应用程序通过系统调用进入内核,访问内核提供的服务。存取硬件。可以有多个应用程序同时运行。应用程序崩溃一般不会导致系统崩溃。Linux支持Posix线程:pthread。嵌入式Linux开发流程开发流程嵌入式嵌入式Linux开发概述开发概述嵌入式嵌入式Linux软件开发的五个阶段软件开发的五个阶段嵌入式嵌入式Linux开发流程开发流程嵌入式嵌入式Linux开发工具简介开发工具简介嵌入式嵌入式Linux软件开发的五个开发阶段软件开发的五个开发阶段根据整个嵌入式根据整个嵌入式Linux应用开发过程的时间先应用开发过程的时间先后可以分为

7、以下后可以分为以下5个开发阶段:个开发阶段:Boot程序(含Boot驱动)开发Linux内核开发Linux驱动程序开发应用程序开发 Linux目标系统集成 每个开发阶段对应于一个完整嵌入式每个开发阶段对应于一个完整嵌入式Linux系系统的一些组成部分进行的开发工作统的一些组成部分进行的开发工作Boot及驱动程序开发及驱动程序开发Step1开发目标开发目标启动嵌入式目标系统,使系统具有加载并启动Linux内核的能力。 工作重点工作重点CPU初始化;RAM初始化;串口、网卡、以及FLASH驱动;基本的网络UDP/IP协议栈支持。 工作产品工作产品目标系统的启动ROM。可以启动目标系统 的Boot

8、Loader。Linux内核开发内核开发Step2开发目标开发目标获得一个满足目标系统功能与性能需求,可以启动的Linux内核。 工作重点工作重点启动最小系统(内核配置和生成)开发、 外围设备驱动的开发。 工作产品工作产品可以启动系统的Linux内核(bzImage、 pImage等)Linux设备驱动程序开发设备驱动程序开发Step3开发目标开发目标驱动目标系统上的相关设备,为上层应用提供存取硬件的能力。 工作重点工作重点关注设备身的特性,采用合适的驱动方式。 工作产品工作产品可以是内核的一部分,也可以是模块化的驱动程序(内核可装载模块)的目标文件(*.o)。Linux应用程序开发应用程序开

9、发Step4开发目标开发目标实现单板需要实现的产品功能与接口。提供相应的单板服务与响应。 工作重点工作重点关注应用本身。如果在封装过的操作系统平台上开发,需要关注所封装的接口。 工作产品工作产品可以执行的应用程序,一般为ELF格式,采用动态或者静态连接,可以在目标系统上运行。Linux目标系统集成目标系统集成Step5开发目标开发目标提供产品化的嵌入式Linux系统。 工作重点工作重点关注系统占用的存储空间,文件系统选择。系统启动脚本。 工作产品工作产品无需开发主机配合就可以独立运行的产品化的嵌入式Linux系统。嵌入式Linux开发流程开发流程嵌入式嵌入式Linux开发概述开发概述嵌入式嵌入

10、式Linux软件开发的五个阶段软件开发的五个阶段嵌入式嵌入式Linux开发流程开发流程嵌入式嵌入式Linux开发工具简介开发工具简介Linux开发流程开发流程-操作系统的裁剪操作系统的裁剪1操作系统的裁剪操作系统的裁剪对应于PC机上的软件开发,这应该属于系统设计,针对嵌入式系统的硬件环境,必须对操作系统进行裁剪设计,一方面卸载和删除无用的模块,修改和简化需要的模块;另一方面增加板极支持包的支持,相对嵌入式硬件系统,完善相对应的操作系统,使得系统最为紧凑、小巧。Linux开发流程开发流程-嵌入式操作系统内核的配置和编译嵌入式操作系统内核的配置和编译2嵌入式操作系统内核的配置和编译嵌入式操作系统内

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

12、的编写和简单的仿真调试4用户程序的编写和简单的仿真调试用户程序的编写和简单的仿真调试建立交叉编译的开发环境,开发用户的应用程序,并且尽可能采用一些开发工具,如vi等,把一些模块下载到目标板上,进行测试。Linux开发流程开发流程-整体系统的目标板仿真调试整体系统的目标板仿真调试5整体系统的目标板仿真调试整体系统的目标板仿真调试应用程序开发完后,和文件系统一起,形成文件系统的映像文件,然后通过仿真工具(仿真机、调试串口等)和host-target开发环境,对系统进行仿真和调试Linux开发流程开发流程-系统下载和脱机运行系统下载和脱机运行6系统下载和脱机运行系统下载和脱机运行当仿真完成,确定系统

13、功能开发达到目标后,把最终形成的影象文件,内核影象文件和文件系统影象通过开发系统的下载工具进行下载,然后测试。嵌入式Linux开发流程开发流程嵌入式嵌入式Linux开发概述开发概述嵌入式嵌入式Linux软件开发的五个阶段软件开发的五个阶段嵌入式嵌入式Linux开发流程开发流程嵌入式嵌入式Linux开发工具简介开发工具简介GNU基础工具链基础工具链Binutilsbinutils是二进制工具,它是一套处理二进制文件的工具的集合,需要使用它进行可执行文件的生成等工作。GCCGCC是GNU C语言编译器,使用它来进行Linux内核、库文件、以及应用程序的编译。 GlibcGlibc是GNU的C语言函数库,使用它提供C语言库函数的支持。 GdbGdb是GNU Debuger,是Linux平台上的标准调试工具。http:/ CygwinCygwin提供一个Linux工具执行的环境(包括库文件等),这样,GCC等开发工具就可以在Cygwin环境下运行。基于Cygwin,可以让一些Linux下的工具转移到Windows平台下可以运行。Cygwin也是很多嵌入式Linux开发商所提供的运行于Windows下的应用程序开发调试环境的运行方式。商用开发套件Windriverhttp:/

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

最新文档


当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

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