嵌入式系统的特性义及开发 2007.3.12.pptVIP

  • 0
  • 0
  • 约9.04千字
  • 约 74页
  • 2019-01-12 发布于福建
  • 举报
嵌入式系统的特性义及开发 2007.3.12

主要内容 1、为什么需要操作系统 2、为什么需要嵌入式操作系统 3、主流嵌入式操作系统及其用途 4、Linux操作系统的特点 5、Linux操作系统的应用 6、Linux开发的主要任务 为什么需要操作系统 1、屏蔽硬件特性,标准化公用的使用特征。 2、提高系统运行的可靠性。 3、有效的资源管理。 4、提高开发效率和产品质量。 学习操作系统的目的 加深对使用的OS的理解,有利于充分利用操作系统提供的特性深入编程 编程时借鉴操作系统的设计思想和算法 选择购买操作系统设计操作系统或者修改现有的系统 什么是嵌入式系统 嵌入式系统就是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”。 为什么需要“嵌入式”操作系统 1、大量的电子设备的智能化水平和功能越来越强,需要操作系统的支撑才能实现。 2、嵌入式系统专业性强,稳定性要求高。 3、嵌入式操作系统代码量小,满足电子设备的存储和成本要求。 4、嵌入式操作系统可裁减性强,适应性好。 主流嵌入式操作系统 1、高实时类:VxWorks、pSOS、Nucleas 用途:大型通讯设备、工业控制设备、火控设备等高实时领域。 2、通用类:Linux、WinCE、Symbin、QNX 用途:消费电子(手机)、智能仪器等。 为什么Linux值得研究? 1、Linux完全开源,为学习操作系统提供了绝佳的平台。 2、Linux内核机制提供了现代操作系统的各种特性,满足大多数嵌入式应用的需要。 3、丰富的自由资源和外界支持,能够加快研发速度,降低研发成本。 4、能够掌握核心技术。 Linux的主要特点 1、类UNIX平台,开发和移植的适应性强 2、新版本支持抢占式内核,满足一定实时性要求 3、内核可根据需要裁剪 4、支持多种CPU(ARM、PowerPC、x86等) 5、是一种强大的网络操作系统。 6、汇编 + 标准C、C++的编程模式 7、支持内核模块的动态加载、卸载 嵌入式系统系统的主要模块 1、进程管理:完成多任务和抢占调度模式 2、存储管理:完成虚拟内存和分页式管理 3、文件系统:采用日志文件系统:jffs2 4、设备管理:提供高效、兼容性好的驱动模式 5、网络管理:完成相关的网络协议栈 嵌入式产品的开发流程 一、硬件开发。 二、软件开发 1、boot程序开发。 2、操作系统平台搭建。 3、上层应用开发 一、嵌入式硬件的开发流程 1、确定嵌入式系统的需求 2、体系结构设计,软硬件分割 3、详细的硬件设计(前仿真、原理图、PCB图及后仿真) 4、软硬件的联调和集成 6、测试 PC与嵌入式硬件的比较 PC硬件 功能模块固定 体积大小固定 外部接口规范 功耗控制简单 嵌入式系统硬件 没有必须支持的功能 没有固定的体积大小 没有必须提供的接口 功耗控制复杂 嵌入式硬件设计的特点 没有固定的规则,量体裁衣 同系统软件密切相关 硬件的四大关键部分 Mcu 微控制器(ARM和PowerPC) Dsp 数字信号处理器(Ti、ADI和专用DSP) Fpge 可编程逻辑器件(Altera、Xilinx) 存储设备 Sram、 Sdram DOC、微硬盘、Eeprom,Flash, 硬件实例 硬件框架 二、嵌入式系统软件流程 1、Boot程序的开发 作用:完成硬件检查,调整硬件状态,实现操作系统的代码载入和启动。 u-boot:目前最为通用的boot开源项目。完成了主流CPU如arm、powerPC、MIPS等支持。能够实现以太网、USB以及存储设备分区功能。 开发工作:根据硬件特点和程序的载入的要求,实现方便生产、系统快速启动和便于开发调试。 2、Linux操作系统平台搭建 目的: 1)根据功能要求,选择操作系统特性,完成裁减。 2)根据硬件特点,完成驱动程序开发。 3)完成电源管理策略等嵌入式特性操作。 4)完成用户层需要的内核操作要求。 Linux操作系统平台搭建(续) 开发流程 1)选择稳定的linux操作系统版本(目前是2.4.20使用最为广泛)。完成操作系统公用部分配置,实现内核启动。 2)完成网络驱动加载,选择网络文件系统NFS便于调试。 3)根据硬件平台编写各种类型的驱动程序。 4)编写驱动的测试用例,完成测试。 3、用户程序框架 总结 1、掌握嵌入式操作系统不但是新技术发展的需要,也是电子工程师职业发展的一个新的优势方向。 2、随着Lin

文档评论(0)

1亿VIP精品文档

相关文档