嵌入式linux开发流程

嵌入式linux开发流程

ID:4125508

大小:1.33 MB

页数:30页

时间:2017-11-29

嵌入式linux开发流程_第1页
嵌入式linux开发流程_第2页
嵌入式linux开发流程_第3页
嵌入式linux开发流程_第4页
嵌入式linux开发流程_第5页
资源描述:

《嵌入式linux开发流程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、嵌入式嵌入式LinuxLinuxLinuxLinux开发流程开发流程目录目录•嵌入式Linux开发概述•嵌入式Linux软件开发的五个阶段•嵌入式Linux开发流程•嵌入式Linux开发工具简介嵌入式LinuxLinux开发环境�交叉开发环境(主机—目标机的工作方式)嵌入式LinuxLinux开发环境�Linux下开发�Windows下开发�Cygwin�Vmware(虚拟机)+Linux�其他集成开发环境嵌入式LinuxLinux软件组成�嵌入式Linux系统软件由以下部分组成:�嵌入式Linux启动装

2、载器:BootLoader�BootLoader驱动程序�嵌入式Linux操作系统内核�Linux设备驱动程序�最小支持文件系统�应用程序嵌入式LinuxLinux组成——BootLoader�启动装载器完成Linux操作系统内核的启动加载。�系统上电后执行,初始化硬件。�提供基本的交互操作界面,如内存查看与修改,设备查询等功能。�提供下载(读取)Linux内核的功能。�提供从装载器到Linux内核传送参数的功能。�装载Linux操作系统到内存中,并将控制转移到Linux内核起始执行处。完成Linux内核

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

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

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

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

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

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。