




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式Linux开发流程 1 嵌入式Linux开发流程 嵌入式Linux开发概述嵌入式Linux软件开发的五个阶段嵌入式Linux开发流程嵌入式Linux开发工具简介 2 2020 4 17 3 2020 4 17 4 2020 4 17 BackGroundDebuggingMode 摩托罗拉公司支持的一种OCD的调试模式 5 2020 4 17 6 2020 4 17 7 2020 4 17 交叉编译环境建立 8 2020 4 17 交叉编译环境建立 9 2020 4 17 嵌入式Linux开发环境 交叉开发环境 主机 目标机的工作方式 10 2020 4 17 嵌入式Linux开发环境 Linux下开发Windows下开发CygwinVmware 虚拟机 Linux其它集成开发环境 11 2020 4 17 嵌入式Linux软件组成 嵌入式Linux系统软件由以下部分组成 嵌入式Linux启动装载器 BootLoaderBootLoader驱动程序嵌入式Linux操作系统内核Linux设备驱动程序最小支持文件系统应用程序 12 2020 4 17 嵌入式Linux组成 BootLoader 启动装载器完成Linux操作系统内核的启动加载 系统上电后执行 初始化硬件 提供基本的交互操作界面 如内存查看与修改 设备查询等功能 提供下载 读取 Linux内核的功能 提供从装载器到Linux内核传送参数的功能 装载Linux操作系统到内存中 并将控制转移到Linux内核起始执行处 完成Linux内核的启动 13 2020 4 17 嵌入式Linux组成 BootLoader驱动 启动装载器驱动程序驱动基本设备 提供获取内核能力 启动装载器驱动程序只在装载器环境中使用 与Linux驱动不同 一般采用相对较为简单的方式 如一般可以不必采用中断方式 而是采用查询方式 驱动串行接口 进行控制台 console 操作 驱动网口 提供从网络下载内核的能力 驱动FLASH 提供从FLASH读取内核能力 14 2020 4 17 嵌入式Linux组成 Linux内核 嵌入式Linux内核 Kernel 是整个嵌入式操作系统的核心 它直接管理硬件 并通过系统调用为上层应用提供服务 为适应嵌入式环境 需对内核进行裁减与配置 提供支持特定硬件平台的内核启动代码去除多余功能 减小体积增加实时功能添加特殊的系统调用 15 2020 4 17 嵌入式Linux组成 Linux设备驱动 Linux硬件驱动提供目标系统硬件在Linux操作系统下的驱动程序 供系统以及之上的应用存取硬件使用 Linux下的设备划分为3类 字符设备char 如键盘 串口等 块设备block 如磁盘等 网络设备一般列为单独的一类设备由于Linux运行时候划分内核空间与用户空间 而驱动程序一般运行在内核空间中 对于运行在用户空间的应用程序而言 从相应硬件中获取数据需要经过一个内核空间到用户空间拷贝的过程 16 2020 4 17 嵌入式Linux组成 最小文件系统 嵌入式Linux必须要有文件系统支持才能运行嵌入式系统中一般采用MTD的物理设备作为文件系统驻留空间 如RAM Flash等 文件系统中必须包含的内容系统init程序 Shell 应用程序 应用程序函数库 必须采取措施 减小文件系统的体积 以适应嵌入式应用的需求 17 2020 4 17 嵌入式Linux组成 应用程序 应用程序应用程序完成整个嵌入式系统的对外功能需求与功能接口 应用程序一般运行在Linux的用户空间 作为一个用户进程在运行 应用程序通过系统调用进入内核 访问内核提供的服务 存取硬件 可以有多个应用程序同时运行 应用程序崩溃一般不会导致系统崩溃 Linux支持Posix线程 pthread 18 2020 4 17 嵌入式Linux开发流程 嵌入式Linux开发概述嵌入式Linux软件开发的五个阶段嵌入式Linux开发流程嵌入式Linux开发工具简介 19 2020 4 17 嵌入式Linux软件开发的五个开发阶段 根据整个嵌入式Linux应用开发过程的时间先后可以分为以下5个开发阶段 Boot程序 含Boot驱动 开发Linux内核开发Linux驱动程序开发应用程序开发Linux目标系统集成每个开发阶段对应于一个完整嵌入式Linux系统的一些组成部分进行的开发工作 20 2020 4 17 Boot及驱动程序开发 Step1 开发目标启动嵌入式目标系统 使系统具有加载并启动Linux内核的能力 工作重点CPU初始化 RAM初始化 串口 网卡 以及FLASH驱动 基本的网络UDP IP协议栈支持 工作产品目标系统的启动ROM 可以启动目标系统的BootLoader 21 2020 4 17 Linux内核开发 Step2 开发目标获得一个满足目标系统功能与性能需求 可以启动的Linux内核 工作重点启动最小系统 内核配置和生成 开发 外围设备驱动的开发 工作产品可以启动系统的Linux内核 bzImage pImage等 22 2020 4 17 Linux设备驱动程序开发 Step3 开发目标驱动目标系统上的相关设备 为上层应用提供存取硬件的能力 工作重点关注设备身的特性 采用合适的驱动方式 工作产品可以是内核的一部分 也可以是模块化的驱动程序 内核可装载模块 的目标文件 o 23 2020 4 17 Linux应用程序开发 Step4 开发目标实现单板需要实现的产品功能与接口 提供相应的单板服务与响应 工作重点关注应用本身 如果在封装过的操作系统平台上开发 需要关注所封装的接口 工作产品可以执行的应用程序 一般为ELF格式 采用动态或者静态连接 可以在目标系统上运行 24 2020 4 17 Linux目标系统集成 Step5 开发目标提供产品化的嵌入式Linux系统 工作重点关注系统占用的存储空间 文件系统选择 系统启动脚本 工作产品无需开发主机配合就可以独立运行的产品化的嵌入式Linux系统 25 2020 4 17 嵌入式Linux开发流程 嵌入式Linux开发概述嵌入式Linux软件开发的五个阶段嵌入式Linux开发流程嵌入式Linux开发工具简介 26 2020 4 17 Linux开发流程 操作系统的裁剪 1 操作系统的裁剪对应于PC机上的软件开发 这应该属于系统设计 针对嵌入式系统的硬件环境 必须对操作系统进行裁剪设计 一方面卸载和删除无用的模块 修改和简化需要的模块 另一方面增加板极支持包的支持 相对嵌入式硬件系统 完善相对应的操作系统 使得系统最为紧凑 小巧 27 2020 4 17 Linux开发流程 嵌入式操作系统内核的配置和编译 2 嵌入式操作系统内核的配置和编译当系统设计确定后 就可以具体对操作系统的内核进行合理配置和编译 形成新的应用于嵌入式硬件系统的定制的内核 最后一般形成内核影象文件 下载到系统的FLASH中 完成内核的 量身定做 28 2020 4 17 Linux开发流程 文件系统的建立 3 文件系统的建立对于操作系统 内核裁剪完成后 接着对文件系统进行裁剪 由于每一种操作系统都支持很多文件系统 对于嵌入式操作系统的文件系统裁剪 和内核一样 针对板子上的并口FLASH 串口FLASH 各种存储卡 U盘等等 构造和裁剪出相应的文件系统 完成文件系统的建立 29 2020 4 17 Linux开发流程 用户程序的编写和简单的仿真调试 4 用户程序的编写和简单的仿真调试建立交叉编译的开发环境 开发用户的应用程序 并且尽可能采用一些开发工具 如vi等 把一些模块下载到目标板上 进行测试 30 2020 4 17 Linux开发流程 整体系统的目标板仿真调试 5 整体系统的目标板仿真调试应用程序开发完后 和文件系统一起 形成文件系统的映像文件 然后通过仿真工具 仿真机 调试串口等 和host target开发环境 对系统进行仿真和调试 31 2020 4 17 Linux开发流程 系统下载和脱机运行 6 系统下载和脱机运行当仿真完成 确定系统功能开发达到目标后 把最终形成的影象文件 内核影象文件和文件系统影象通过开发系统的下载工具进行下载 然后测试 32 2020 4 17 嵌入式Linux开发流程 嵌入式Linux开发概述嵌入式Linux软件开发的五个阶段嵌入式Linux开发流程嵌入式Linux开发工具简介 33 2020 4 17 GNU基础工具链 Binutilsbinutils是二进制工具 它是一套处理二进制文件的工具的集合 需要使用它进行可执行文件的生成等工作 GCCGCC是GNUC语言编译器 使用它来进行Linux内核 库文件 以及应用程序的编译 GlibcGlibc是GNU的C语言函数库 使用它提供C语言库函数的支持 GdbGdb是GNUDebuger 是Linux平台上的标准调试工具 34 2020 4 17 辅助工具 Make根据目标与依赖条件的时间关系 去执行相关指令 Cyg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 瓶子课件教学课件
- 转让协议房屋债权转让协议2篇
- 安全施工培训资料教学课件
- 瑞安全日制培训中心课件
- 农业碳汇项目区域差异与优化布局分析报告
- 对工程的服务方案(3篇)
- 东莞常平工程防水方案(3篇)
- 球团安全培训心得课件
- 环保知识培训建议课件
- 猫的秘密课件
- (2025秋新版)二年级上册道德与法治全册教案
- 老挝药品注册管理办法
- 建设工程项目协同作业方案
- 问题解决策略:反思 课件 北师大版数学八年级上册
- 2025年国防竞赛题库及答案
- 鹿寨县城南水厂寨沙分厂建设项目环评报告
- 森林火灾应急处置
- GB/T 45972-2025装配式建筑用混凝土板材生产成套装备技术要求
- Inventor教案打印完整
- 秋冬季安全知识培训
- 鸿合一体机使用与维护手册
评论
0/150
提交评论