720 likes | 982 Views
嵌入式系统程序设计. 大连理工大学软件学院 嵌入式系统工程系 赖晓晨. 第一章 绪论. ★. ★. 嵌入式系统概述 嵌入式系统开发流程 嵌入式 系统 程序设计 本课程内容 简介. 第一节 嵌入式系统概述. 计算机的发展和分类 嵌入式系统的概念 嵌入式系统的组成 嵌入式系统 的发展. 一、计算机的发展和分类. 计算机的发展的历史 电子管、晶体管、集成电路、大规模集成电 路. ENIAC. 体积庞大, 18000 个 真空管, 45 吨. 晶体管计算机. iMac. 计算机的发展和分类 (续). 传统分类法:
E N D
嵌入式系统程序设计 大连理工大学软件学院 嵌入式系统工程系 赖晓晨
第一章 绪论 ★ ★ • 嵌入式系统概述 • 嵌入式系统开发流程 • 嵌入式系统程序设计 • 本课程内容简介
第一节 嵌入式系统概述 • 计算机的发展和分类 • 嵌入式系统的概念 • 嵌入式系统的组成 • 嵌入式系统的发展
一、计算机的发展和分类 • 计算机的发展的历史 • 电子管、晶体管、集成电路、大规模集成电路
ENIAC 体积庞大, 18000个 真空管, 45吨
计算机的发展和分类(续) • 传统分类法: 巨型机、大型机、中型机、小型机、 微型机 • 通用机、嵌入式
二、嵌入式系统的概念 • 概念(IEEE) devices used to control, monitor, or assist the operation of equipment, machinery or plants.(嵌入式系统是控制、监视或者辅助某个设备、机器甚至工厂运行的设备。) • 用来执行特定功能 • 以微电脑与周边构成核心 • 需要严格的时序与稳定度 • 全自动操作循环
嵌入式系统的概念(续) • 国内普遍接受的概念 嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁减,适于应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
三、嵌入式系统的组成 • 嵌入式系统组成 • 系统硬件 • 嵌入式处理器 • 外围硬件设备 • 软件 • 嵌入式操作系统 • 用户应用程序
嵌入式系统的组成(续) • 系统硬件组成 • 嵌入式处理器 • 外围电路 • 接口 • 外设 MPU
嵌入式处理器分类 • 嵌入式微处理器(MPU):运算器、控制器 • 嵌入式微控制器(MCU):片内ROM、RAM、总线、I/O口、计数器、看门狗、AD、DA、Flash • 数字信号处理器(DSP):哈佛结构,适用于FFT变换、谱分析、数字滤波等操作,用于音频、视频处理 • 片上系统(SOC):USB、GPRS、GPS、IEEE1394、蓝牙,可靠性强、开发时间短
嵌入式处理器分类(续) • 嵌入式微处理器(MPU):Am186/88、386EX • 嵌入式微控制器(MCU):8051、P51XA • 数字信号处理器(DSP):TMS320系列、DSP56200系列 • 片上系统(SOC):M-core、CC2430
嵌入式微处理器 • 嵌入式微处理器是在通计算机中央处理器的基础上设计而来的,它将微处理器安装到专门设计的电路板上,只保留和嵌入式应用有关的主板功能,大幅减小了系统的体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器在工作温度、抗电磁干扰、可靠性等方面都做了增强。
嵌入式微控制器 • 嵌入式微控制器又称单片机,它以某种微处理器内核为核心,将计算机系统的各个部分集成在一块芯片中,包括ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、Flash RAM、EEPROM等。
数字信号处理器 • DSP处理器对系统结构和指令进行特殊设计,使其适合于执行DSP算法,编译效率较高,,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域。
片上系统 • 片上系统是采用硬件描述语言来设计各种处理器内核以及各种外设,把设计好的单元存储在器件库中,用户只需根据系统要求选用这些器件,仿真通过后就可以将设计图交给半导体工厂制作样品。
嵌入式处理器分类(续) • 嵌入式处理器分类 • 嵌入式微处理器(MPU):Am186/88、386EX • 嵌入式微控制器(MCU):8051、P51XA • 数字信号处理器(DSP):TMS320系列、DSP52600系列 • 片上系统(SOC):M-core、CC2430 普林斯顿结构 vs 哈佛结构 CISC vs RISC 流水线 问题:
外围硬件设备 • 电源部分:交流电、电池供电 • 输入部分:键盘、鼠标、触摸屏、拨码开关等。 • 输出部分:发光二极管、lED显示器、LCD显示器、蜂鸣器等。 • 存储部分:ROM、EPROM、EEPROM、FLASH、RAM。
外围硬件设备(续) • 接口电路:USB接口、PS/2接口、串口、IDE接口、红外接口、1394接口、CF卡接口、网络接口、CAN总线接口、RS422接口、RS485接口等等,每一种接口一般都对应一个专用的控制芯片,例如串口一般是由8250芯片来控制。 • 其他硬件逻辑电路:AD转换电路、电机驱动电路、时钟日期生成电路等等。
嵌入式系统的组成(续) • 软件组成 • 操作系统 • 应用程序 处理器
嵌入式操作系统分类 • 顺序系统 • 分时系统 • 实时系统 • 强实时:vxworks • 弱实时:嵌入式linux、wince • 开源:linux、uClinux、uC/OS II
Vxworks操作系统 • Vxworks操作系统是一个非常优秀的嵌入式操作系统,它的实时性强,内核可裁剪到很小,可靠性高。在北美,Vxworks占据了嵌入式操作系统的多半市场,特别是在通信设备等实时性要求较高的系统中,Vxworks占据了绝大部分市场份额。但是Vxworks及其相关开发工具的价格很高,小公司难以承受。
嵌入式Linux操作系统 • Linux是一个成功的服务器操作系统,此外由于其开源、免费、可移植性好的特点,在嵌入式系统中也有广泛应用。嵌入式Linux可分为两类,一类经过修改,专门在设有内存管理单元的硬件上运行,例如uCLinux;另一类具有完全的Linux特性,运行于有内存管理单元的硬件平台,例如mini Linux.
uC/OS II操作系统 • 目前很多大学都以uC/OS II 为教学使用的实时操作系统,这主要是由于uC/OS II 较简单,源码公开,非常适合入门者学习实时操作系统原理。uC/OS II 的缺点是功能有限,实际使用较少。
Windows CE操作系统 • Windows CE是微软公司推出的嵌入式操作系统,在短短几年间占据了很大的市场份额,特别是在PDA、手机、显示仪等界面要求较高或者要求快速的场合。Windows CE 的开发平台主要为Windows CE Platform Builder,有时也用EVC环境开发一些较上层的应用
嵌入式操作系统分类(续) • 顺序系统 • 分时系统 • 实时系统 • 强实时:vxworks • 弱实时:嵌入式linux、wince • 开源:linux、uClinux、uC/OS II 问题: 抢占式 vs 非抢占式
嵌入式应用软件 • 固态化存储:为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不存储在硬盘等载体中。 • 高质量、高可靠性:嵌入式系统资源的稀缺性和执行的实时性要求软件代码应该尽可能的短小、高效、快速,为此对编程以及编译器的设计提出了更高的要求。 • 高实时性:在多任务嵌入式系统中,存在重要性不同的多个任务,如何对多任务请求合理的响应是系统设计的关键这个环节处理不当很可能导致灾难性结果。
四、嵌入式系统的发展 • 主机计算模式 • 桌面计算模式 • 网络和分布式计算模式 • 普适计算模式
普适计算 • 普适计算又称为无处不在的计算,这一思想最早由Mark Weiser提出,他认为应该把计算机嵌入到环境当中,并通过各种有线无线网络连接起来互相通信。
普适计算(续) • 普适计算研究的基础是各种嵌入式技术,研究内容包括智能环境和不可见计算、无缝可移动性、可穿戴计算等。普适计算也面临一些挑战,例如计算模式的转变、计算资源的共享、移动计算的实现、应用程序的相互沟通等。
第二节 嵌入式系统开发流程 • 需求分析 • 概要设计 • 详细设计 • 绘制PCB 软硬件 协同设计 • 制板、安装调试硬件 • 移植操作系统 • 软件设计 • 编码、测试
原理图举例 protel
PCB图 • 印刷电路板(PCB板) • (阻燃环氧树脂复合)基板、电源线、信号线、焊盘、过孔、覆铜、丝印层
制板 • 2层板 • 4层板 • 6层板 • 检测
焊接硬件 • 先小后大的原则
调试硬件 • 先调试显示部分,再调试其他部分
移植操作系统 • uClinux
移植操作系统(续) • uClinux
移植操作系统(续) • miziLinux
移植操作系统 • miziLinux
图形界面 • miniGUI
图形界面(续) • MiniGUI
图形界面(续) • miniGUI
第三节 嵌入式系统程序设计 • 嵌入式系统开发语言 • 嵌入式系统开发工具
一、嵌入式系统开发语言 • 汇编语言 • C语言 • C++语言 • Java语言
汇编语言 • 汇编语言的优点: • 程序运行的结果很直观 • 便于对程序的跟踪和调试 • 程序执行效率很高 • 程序运行速度很快 • 汇编语言的缺点: • 开发效率低下 • 使用场合:适合时序严格的场合、系统初始化