嵌入式Linux开发流程精编版

上传人:ahu****ng1 文档编号:131119265 上传时间:2020-05-04 格式: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开发工具简介 BackGroundDebuggingMode 摩托罗拉公司支持的一种OCD的调试模式 交叉编译环境建立 交叉编译环境建立 嵌入式Linux开发环境 交叉开发环境 主机 目标机的工作方式 嵌入式Linux开发环境 Linux下开发Windows下开发CygwinVmware 虚拟机 Linux其它集成开发环境 嵌入式Linux软件组成 嵌入式Linux系统软件由以下部分组成 嵌入式Linux启动装载器 BootLoaderBootL

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

3、x驱动不同 一般采用相对较为简单的方式 如一般可以不必采用中断方式 而是采用查询方式 驱动串行接口 进行控制台 console 操作 驱动网口 提供从网络下载内核的能力 驱动FLASH 提供从FLASH读取内核能力 嵌入式Linux组成 Linux内核 嵌入式Linux内核 Kernel 是整个嵌入式操作系统的核心 它直接管理硬件 并通过系统调用为上层应用提供服务 为适应嵌入式环境 需对内核进行裁减与配置 提供支持特定硬件平台的内核启动代码去除多余功能 减小体积增加实时功能添加特殊的系统调用 嵌入式Linux组成 Linux设备驱动 Linux硬件驱动提供目标系统硬件在Linux操作系统下的驱

4、动程序 供系统以及之上的应用存取硬件使用 Linux下的设备划分为3类 字符设备char 如键盘 串口等 块设备block 如磁盘等 网络设备一般列为单独的一类设备由于Linux运行时候划分内核空间与用户空间 而驱动程序一般运行在内核空间中 对于运行在用户空间的应用程序而言 从相应硬件中获取数据需要经过一个内核空间到用户空间拷贝的过程 嵌入式Linux组成 最小文件系统 嵌入式Linux必须要有文件系统支持才能运行嵌入式系统中一般采用MTD的物理设备作为文件系统驻留空间 如RAM Flash等 文件系统中必须包含的内容系统init程序 Shell 应用程序 应用程序函数库 必须采取措施 减小文

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

6、个开发阶段 Boot程序 含Boot驱动 开发Linux内核开发Linux驱动程序开发应用程序开发Linux目标系统集成每个开发阶段对应于一个完整嵌入式Linux系统的一些组成部分进行的开发工作 Boot及驱动程序开发 Step1 开发目标启动嵌入式目标系统 使系统具有加载并启动Linux内核的能力 工作重点CPU初始化 RAM初始化 串口 网卡 以及FLASH驱动 基本的网络UDP IP协议栈支持 工作产品目标系统的启动ROM 可以启动目标系统的BootLoader Linux内核开发 Step2 开发目标获得一个满足目标系统功能与性能需求 可以启动的Linux内核 工作重点启动最小系统 内

7、核配置和生成 开发 外围设备驱动的开发 工作产品可以启动系统的Linux内核 bzImage pImage等 Linux设备驱动程序开发 Step3 开发目标驱动目标系统上的相关设备 为上层应用提供存取硬件的能力 工作重点关注设备身的特性 采用合适的驱动方式 工作产品可以是内核的一部分 也可以是模块化的驱动程序 内核可装载模块 的目标文件 o Linux应用程序开发 Step4 开发目标实现单板需要实现的产品功能与接口 提供相应的单板服务与响应 工作重点关注应用本身 如果在封装过的操作系统平台上开发 需要关注所封装的接口 工作产品可以执行的应用程序 一般为ELF格式 采用动态或者静态连接 可以

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

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

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

11、件和文件系统影象通过开发系统的下载工具进行下载 然后测试 嵌入式Linux开发流程 嵌入式Linux开发概述嵌入式Linux软件开发的五个阶段嵌入式Linux开发流程嵌入式Linux开发工具简介 GNU基础工具链 Binutilsbinutils是二进制工具 它是一套处理二进制文件的工具的集合 需要使用它进行可执行文件的生成等工作 GCCGCC是GNUC语言编译器 使用它来进行Linux内核 库文件 以及应用程序的编译 GlibcGlibc是GNU的C语言函数库 使用它提供C语言库函数的支持 GdbGdb是GNUDebuger 是Linux平台上的标准调试工具 辅助工具 Make根据目标与依赖条件的时间关系 去执行相关指令 CygwinCygwin提供一个Linux工具执行的环境 包括库文件等 这样 GCC等开发工具就可以在Cygwin环境下运行 基于Cygwin 可以让一些Linux下的工具转移到Windows平台下可以运行 Cygwin也是很多嵌入式Linux开发商所提供的运行于Windows下的应用程序开发调试环境的运行方式 商用开发套件 Windriver

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 计算机应用/办公自动化

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