- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式Lnux开发流程
Linux开发流程--系统下载和脱机运行——6 系统下载和脱机运行 当仿真完成,确定系统功能开发达到目标后,把最终形成的影象文件,内核影象文件和文件系统影象通过开发系统的下载工具进行下载,然后测试。 嵌入式Linux开发流程 嵌入式Linux开发概述 嵌入式Linux软件开发的五个阶段 嵌入式Linux开发流程 嵌入式Linux开发工具简介 GNU基础工具链 Binutils binutils是二进制工具,它是一套处理二进制文件的工具的集合,需要使用它进行可执行文件的生成等工作。 GCC GCC是GNU C语言编译器,使用它来进行Linux内核、库文件、以及应用程序的编译。 Glibc Glibc是GNU的C语言函数库,使用它提供C语言库函数的支持。 Gdb Gdb是GNU Debuger,是Linux平台上的标准调试工具。 /linux/lfs/htmlbook/appendixa/binutils.html /link?url=T3oyWPrUVZY_cTdnCOAgkGlPmOnDWY_zJtwClJ0_gwT69llAWmZ8TdCoXiOrDt-dHCymRFYfdYdvaxG_1W4jSK 辅助工具 Make 根据目标与依赖条件的时间关系,去执行相关指令。 Cygwin Cygwin提供一个Linux工具执行的环境(包括库文件等),这样,GCC等开发工具就可以在Cygwin环境下运行。 基于Cygwin,可以让一些Linux下的工具转移到Windows平台下可以运行。 Cygwin也是很多嵌入式Linux开发商所提供的运行于Windows下的应用程序开发调试环境的运行方式。 商用开发套件 Windriver / Montavisa /view/1210860.htm?fr=aladdin / 嵌入式Linux开发流程 嵌入式Linux开发流程 嵌入式Linux开发概述 嵌入式Linux软件开发的五个阶段 嵌入式Linux开发流程 嵌入式Linux开发工具简介 BackGround Debugging Mode (摩托罗拉公司支持的一种OCD的调试模式) 交叉编译环境建立 交叉编译环境建立 嵌入式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程序;
文档评论(0)