《02 嵌入式系统基础知识.pdf》由会员分享,可在线阅读,更多相关《02 嵌入式系统基础知识.pdf(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1嵌入式实时操作系统及实现嵌入式实时操作系统及实现计算机学院 黄正全计算机学院 黄正全2上节回顾上节回顾1 1 13 3 32 2 24 4 4课程简介什么是嵌入式系统?嵌入式系统有何非凡之处?什么是嵌入式实时操作系统?课程简介什么是嵌入式系统?嵌入式系统有何非凡之处?什么是嵌入式实时操作系统?31 什么是嵌入式系统?什么是嵌入式系统?嵌入式系统的相关定义嵌入式系统的相关定义嵌入式系统对象体系(嵌入式产品)嵌入式系统对象体系(嵌入式产品)嵌入式系统的嵌入式系统的基本要素基本要素基本要素基本要素:嵌入性嵌入性专用性专用性计算机系统计算机系统42 嵌入式系统有何非凡之处?嵌入式系统有何非凡之处?组
2、成组成52 嵌入式系统有何非凡之处?嵌入式系统有何非凡之处?特点特点 与“嵌入性”的相关特点:环境要求,如物理 环境(小型)、电气环境要求,如物理 环境(小型)、电气/气氛环境(可靠)、成 本(价廉)等要求。气氛环境(可靠)、成 本(价廉)等要求。与“专用性”的相关特点:软、硬件的裁剪 性;满足对象要求的最小软、硬件配置等。软、硬件的裁剪 性;满足对象要求的最小软、硬件配置等。与“计算机系统”的相关特点:必须配置有与 对象系统相适应的接口电路。必须配置有与 对象系统相适应的接口电路。总体要求通用计算机系统嵌入式系统技术要 求高速、海量的数 值计算高速、海量的数 值计算智能控制能 力智能控制能
3、力技术发 展方向 提高速度 扩大存储容量嵌入性能控制能力控制可靠性 结构特征结构特征 开发条件开发条件:开发环境、开发工具:开发环境、开发工具 开发要求开发要求:代码质量、性能、稳定性、可移植性:代码质量、性能、稳定性、可移植性63 什么是嵌入式实时操作系统?什么是嵌入式实时操作系统?实时系统 嵌入式实时系统 嵌入式实时操作系统时间限制要求:实时要求时间限制要求:实时要求 结果的正确性结果的正确性 时间的正确性时间的正确性与嵌入式系 统相关的几 个概念与嵌入式系 统相关的几 个概念7嵌入式系统嵌入式系统操作系统操作系统实时要求实时要求嵌 入 式 实 时 操 作 系 统嵌 入 式 实 时 操 作
4、 系 统=+嵌入式 实时系统实时操 作系统(嵌入式 实时系统实时操 作系统(RTOS)89104 课程简介课程简介 考试:期中(开卷考试)期末(开卷考试)11第二讲第二讲嵌入式系统基础知识12内容提要内容提要1.嵌入式系统的体系结构嵌入式系统的体系结构2.嵌入式系统的设计与开发嵌入式系统的设计与开发131 嵌入式系统的体系结构1.1 体系结构总述体系结构总述1.2 硬件体系结构硬件体系结构1.3 软件体系结构软件体系结构141.1 体系结构总述体系结构总述 结构模型与应用模式结构模型与应用模式应用应用应用设备驱动程序应用设备驱动程序硬件硬件应用应用操作系统操作系统硬件硬件(a)无操作系统(b)
5、有操作系统电子技术应用模式计算机应用模式151.1.1 无操作系统的体系结构无操作系统的体系结构应用应用应用设备驱动程序应用设备驱动程序硬件硬件无操作系统的结 构模型典型案例:典型案例:单片机系统单片机系统底层(低端)应用底层(低端)应用初级应用、形式初级应用、形式单片机系统单片机系统 嵌入式系统嵌入式系统嵌入式系统嵌入式系统 单片机系统单片机系统 电子技术应用电子技术应用16嵌入式系统 单片机系统嵌入式系统 单片机系统 体系结构有差异体系结构有差异 设计思想不同设计思想不同 学习方法与途径不同学习方法与途径不同17嵌入式系统 单片机系统 体系结构体系结构体系结构体系结构嵌入式系统嵌入式系统单
6、片机系统硬件平台单片机系统硬件平台主流是以主流是以32位嵌入式 微处理器为核心的硬 件设计多为位嵌入式 微处理器为核心的硬 件设计多为4位、位、8位、位、16位机,位机,软件平台软件平台基于实时操作系统(基于实时操作系统(RTOS)的软件设 计不适合运行操作系 统,难以进行复杂 的运算及处理功能)的软件设 计不适合运行操作系 统,难以进行复杂 的运算及处理功能18嵌入式系统 单片机系统 体系结构体系结构设计思想设计思想嵌入式系统嵌入式系统单片机系统设计方法单片机系统设计方法强调基于平台的设 计、软硬件强调基于平台的设 计、软硬件协同设计协同设计协同设计协同设计大多采用软 硬件大多采用软 硬件流
7、水设计流水设计流水设计流水设计设计核心设计核心核心是核心是软件设计软件设计软件设计软件设计工 作(占工 作(占70%左右的工作 量)软硬件设计 所占比例基本相 同左右的工作 量)软硬件设计 所占比例基本相 同19嵌入式系统 单片机系统 体系结构体系结构嵌入式系统嵌入式系统单片机系统学习途径可以从软件入 手,从应用层编程到 操作系统移植、硬件 平台设计一般从硬件入 手,从硬件体系结 构、汇编语言到硬 件设计、软件设计按单片机设计的 学习流程较难掌握单片机系统学习途径可以从软件入 手,从应用层编程到 操作系统移植、硬件 平台设计一般从硬件入 手,从硬件体系结 构、汇编语言到硬 件设计、软件设计按单
8、片机设计的 学习流程较难掌握20单片机系统开创了嵌入式系统独立发展道路单片机系统开创了嵌入式系统独立发展道路嵌入式系统的两种应用模式嵌入式系统的两种应用模式电子技术应用模式(单片机)计算机应用模式单片机 系统单片机 系统=嵌入式系统的低层应用嵌入式系统的低层应用底层性、低端性与对象系统的紧耦合嵌入式系统与单片机系统的关系嵌入式系统与单片机系统的关系211.1.2 有操作系统的体系结构有操作系统的体系结构 计算机应用模式计算机应用模式应用应用操作系统操作系统硬件有操作系统的结构模型硬件有操作系统的结构模型应用应用操作系统操作系统硬件硬件标准接口函数标准接口函数中间件中间件硬件抽象层:驱动、硬件抽
9、象层:驱动、BSPBSP:board Support Package,板级支持包221 嵌入式系统的体系结构1.1 体系结构总述体系结构总述1.2 硬件体系结构硬件体系结构1.3 软件体系结构软件体系结构2324iPhone拆解图25NOKIA N8拆解图261.2 硬件体系结构硬件体系结构嵌入式系统的典型硬件组成图嵌入式系统的典型硬件组成图电源管理看门狗及复位电路人机交互接口:LCD/触摸屏/键盘/鼠标输入/输出接口FlashEEPROMRAM内存嵌入式处理器核MMU/CacheDSP/浮点运算协处理器FPGA/CPLD定时器/RTC以太网CANDMAUART/IrDAGPIOIICIISU
10、SBADC/DACSoC/SPOCGPIO:General Purpose I/O 通用通用I/OIIS:Inter-IC Sound Bus数字音频集成电路通信总线数字音频集成电路通信总线IIC/I2CInterIntegrated Circuit bus“集成电路间总线集成电路间总线”或或“内部集成电 路总线内部集成电 路总线”271.2 硬件体系结构硬件体系结构嵌入式 处理器嵌入式 处理器外围接口 电路外围接口 电路存储器存储器I/O接口接口基本的硬件结构基本的硬件结构辅助模块辅助模块功能模块功能模块嵌入式系统硬件体系结构嵌入式系统硬件体系结构281.2.1 嵌入式处理器嵌入式处理器 嵌
11、入式处理器嵌入式处理器嵌入式处理器嵌入式处理器是指应用在嵌入式系统中的 微处理器。是指应用在嵌入式系统中的 微处理器。与通用计算机系统(通用处理器)的相 比,嵌入式处理器具有与通用计算机系统(通用处理器)的相 比,嵌入式处理器具有品种多、体积小、品种多、体积小、品种多、体积小、品种多、体积小、成本低、集成度高成本低、集成度高成本低、集成度高成本低、集成度高的特点。的特点。291.2.1 嵌入式处理器嵌入式处理器 种类超过种类超过1000种;种;流行的体系结构有流行的体系结构有30多个系列。多个系列。指令体系:指令体系:CISC RISC/Compact RISC 位数:位数:4、8、1632、
12、64位。位。301.2.1 嵌入式处理器嵌入式处理器嵌 入 式 处 理 器嵌 入 式 处 理 器MPU(MicroProcessorUnit,嵌入式微处理器,嵌入式微处理器)MCU(MicroControllerUnit,微控制器微控制器)DSP(DigitalSignalProcessor,数字信号处理器,数字信号处理器)SoC(SystemonChip,片上系统,片上系统)311.2.1 嵌入式处理器嵌入式处理器 MPU是轿车,经济性与速度的折中;是轿车,经济性与速度的折中;MCU是满足特殊用途的汽车;是满足特殊用途的汽车;DSP是跑车,追求速度;是跑车,追求速度;SoC是设备齐全的豪华轿
13、车。是设备齐全的豪华轿车。321.2.2 存储器存储器 常用存储介质:常用存储介质:静态易失型存储器(静态易失型存储器(RAM、SRAM),),动态存储器(动态存储器(DRAM)非易失性存储器(非易失性存储器(ROM、EPROM、EEPROM、FLASH)FLASH凭借其擦写次数多、存 储速度快、存储容量大、价格便宜 等优点,在嵌入式领域内得到广泛 应用。凭借其擦写次数多、存 储速度快、存储容量大、价格便宜 等优点,在嵌入式领域内得到广泛 应用。331.2.2 存储器存储器CPUM1M2Mn.存储层次存储器系统的层次结构存储器系统的层次结构341.2.2 存储器存储器PROME2存储器系统层次
14、结构存储器系统层次结构351.2.3 外围接口电路外围接口电路 配合嵌入式处理器工作 主要包括:电源管理电源管理 时钟管理时钟管理 定时器定时器/看门狗电路看门狗电路 复位复位361.2.4 输入输入/输出接口输出接口 输入设备输入设备 触摸屏、键盘、鼠标、开关、传感器等;触摸屏、键盘、鼠标、开关、传感器等;输出设备输出设备 显示器、打印机、扬声器等。显示器、打印机、扬声器等。输入输入/输出接口输出接口 USB、SD卡、卡、RS-232、RS-485、并口、蓝牙、红外、以太网接口、无线网接口、并口、蓝牙、红外、以太网接口、无线网接口371.2.5 功能模块功能模块 以智能手机为例:以智能手机为
15、例:照相模块:照相模块:N8 1200万像素,卡尔蔡司镜头万像素,卡尔蔡司镜头 照相照相 视频视频 触摸屏:触摸屏:运动传感器:运动传感器:通信模块:通信模块:WiFi、蓝牙、红外、蓝牙、红外 定位定位/导航:卫星导航:卫星GPS、手机定位、手机定位 A-GPS 重力感应 电子罗盘 近距离感应 环境光感应381.2.6 辅助模块辅助模块 高清多媒体处理模块:(高清多媒体处理模块:(N8为例)为例)协处理器:协处理器:博通3D图形芯片BCM2727 HDMI接口接口 存储扩展模块存储扩展模块 耳机接口耳机接口16GB闪存2D/3D移动高清多媒体处理器391 嵌入式系统的体系结构1.1 体系结构总
16、述体系结构总述1.2 硬件体系结构硬件体系结构1.3 软件体系结构软件体系结构401.3 软件体系结构软件体系结构应用应用操作系统操作系统硬件硬件标准接口函数标准接口函数中间件中间件硬件抽象层:驱动、硬件抽象层:驱动、BSP计算机应用模式计算机应用模式应用层中间件层RTOS驱动层嵌入式系统的软件层次嵌入式系统的软件层次411.3 软件体系结构软件体系结构嵌入式系统的软件层次嵌入式系统的软件层次应用层中间件层驱动层应用任务1应用任务2应用任务n嵌入式CORBA嵌入式Java嵌入式GUI嵌入式DCOM面向应用领域的中间件内核TCP/IP网络系统文件系统电源管理硬件抽象层HAL板级支持包BSP设备驱
17、动程序硬件421.3.1 驱动层驱动层 是嵌入式系统中必不可少的重要部分。是嵌入式系统中必不可少的重要部分。提供所有的外围设备的支持和给上层软件提 供设备的操作接口。提供所有的外围设备的支持和给上层软件提 供设备的操作接口。431.3.1 驱动层驱动层 结构组成结构组成硬件抽象层板级支持包设备驱动程序驱动层441.3.2 RTOS嵌入式系统的软件层次嵌入式系统的软件层次 主要完成设备和资源的管理主要完成设备和资源的管理 内核是必需的,完成基本的功能,包括任务调 试和管理、内存管理等功能;内核是必需的,完成基本的功能,包括任务调 试和管理、内存管理等功能;其他部分可选,包括文件系统、驱动程序、网
18、 络通信,可以根据系统功能、成本进行裁减。其他部分可选,包括文件系统、驱动程序、网 络通信,可以根据系统功能、成本进行裁减。451.3.3 中间件层中间件层嵌入式系统的软件层次嵌入式系统的软件层次461.3.3 中间件层中间件层 目前在一些复杂的嵌入式系统中采用中间件技术。目前在一些复杂的嵌入式系统中采用中间件技术。主要包括主要包括 嵌入式嵌入式CORBA 嵌入式嵌入式Java 嵌入式嵌入式DCOM 面向专门应用领域的中间件面向专门应用领域的中间件基于嵌入式基于嵌入式CORBA的 应用于软件无线电的应用 中间件(的 应用于软件无线电的应用 中间件(SCA,Software Core Archi
19、tecture)等。等。471.3.4 应用层应用层嵌入式系统的软件层次嵌入式系统的软件层次481.3.4 应用层应用层 指操作系统之上运行的用户程序。指操作系统之上运行的用户程序。主要由多个相对独立的应用任务组成。主要由多个相对独立的应用任务组成。每个任务完成特定的工作,如:每个任务完成特定的工作,如:I/O任务、计算的任务、通信的任务任务、计算的任务、通信的任务 由操作系统调度各个任务的运行。由操作系统调度各个任务的运行。49内容提要内容提要1.嵌入式系统的体系结构嵌入式系统的体系结构2.嵌入式系统的设计与开发嵌入式系统的设计与开发502 嵌入式系统设计与开发2 嵌入式系统设计与开发2.1
20、 设计开发流程设计开发流程2.2 硬件平台的选择硬件平台的选择2.3 软件平台的选择软件平台的选择2.4 开发过程开发过程本节提要本节提要:2.1.1 设计流程设计流程2.1.2 协同设计协同设计512.1.2 设计流程设计流程2.1.2 设计流程设计流程 按照常规的按照常规的工程设计工程设计方法,嵌入式系统的设计方法,嵌入式系统的设计 可分成可分成3个阶段:个阶段:522.1.2 设计流程设计流程2.1.2 设计流程设计流程 主要有主要有6个步骤:个步骤:1.需求分析需求分析2.体系结构设计体系结构设计3.硬件设计、制作及测试硬件设计、制作及测试4.软件设计、实现及测试软件设计、实现及测试5
21、.系统集成系统集成6.系统测试系统测试分析分析设计设计实现实现532.1.2 协同设计协同设计2.1.2 协同设计协同设计 嵌入式系统包含嵌入式系统包含硬件硬件、软件软件两部分。两部分。嵌入式系统的硬件架嵌入式系统的硬件架 构以嵌入式处理器为构以嵌入式处理器为 中心,配置存储器、中心,配置存储器、I/O设备、通信模块等设备、通信模块等 必要的外设;必要的外设;软件部分以软件开发平台软件部分以软件开发平台 为核心,向上提供应用编为核心,向上提供应用编 程接口(程接口(API),向下提),向下提 供屏蔽具体硬件特性的板供屏蔽具体硬件特性的板 级支持包(级支持包(BSP)542.1.2 协同设计协同
22、设计2.1.2 协同设计协同设计 传统的嵌入式(单片机)开发,硬件和软件分为两个传统的嵌入式(单片机)开发,硬件和软件分为两个 独立的部分。独立的部分。采用流水式设计,先设计硬件,待其完成采用流水式设计,先设计硬件,待其完成 后,再设计软件,分步设计;后,再设计软件,分步设计;只能改善硬件只能改善硬件/软件各自的性能,达到局部软件各自的性能,达到局部 最优,不可能达到整个系统的最优。最优,不可能达到整个系统的最优。552.1.2 协同设计协同设计2.1.2 协同设计协同设计 在嵌入式系统中,软件和在嵌入式系统中,软件和 硬件是紧密配合、协调工硬件是紧密配合、协调工 作的,作的,从理论来说,每一
23、个应用从理论来说,每一个应用 系统,都存在一个适合该系统,都存在一个适合该 系统的硬件、软件的最佳系统的硬件、软件的最佳 组合。组合。562.1.2 协同设计协同设计2.1.2 协同设计协同设计 软硬件协同设计软硬件协同设计 对软硬件统一表示对软硬件统一表示 和功能划分,设计和功能划分,设计 时考虑软硬件的实时考虑软硬件的实 现,以取得最好的现,以取得最好的 效果。效果。572.1.2 协同设计协同设计2.1.2 协同设计协同设计软硬件协同设计的过程:软硬件协同设计的过程:需求分析需求分析 软硬件协同设计软硬件协同设计 软硬件实现软硬件实现 软硬件协同测试和协同验证软硬件协同测试和协同验证58
24、2.1.2 协同设计协同设计2.1.2 协同设计协同设计软硬件协同设计方法的特点:软硬件协同设计方法的特点:协同设计、协同测试和协同验证。协同设计、协同测试和协同验证。充分考虑了软硬件的关系,并在设计的每个层充分考虑了软硬件的关系,并在设计的每个层 面上给予测试验证,使得尽早发现和解决问面上给予测试验证,使得尽早发现和解决问 题,避免灾难性的错误出现,提高开发效率。题,避免灾难性的错误出现,提高开发效率。592 嵌入式系统设计与开发2 嵌入式系统设计与开发2.1 设计流程设计流程2.2 硬件平台的选择硬件平台的选择2.3 软件平台的选择软件平台的选择2.4 开发过程开发过程本节提要本节提要:处
25、理器的选择处理器的选择 其它需要考虑其它需要考虑 的因素的因素602.2.1 处理器的选择处理器的选择2.2.1 处理器的选择处理器的选择 嵌入式系统的核心部件是嵌入式处理器,其性能的好嵌入式系统的核心部件是嵌入式处理器,其性能的好 坏直接决定着整个系统的运行效果。坏直接决定着整个系统的运行效果。据不完全统计,目前据不完全统计,目前 全世界嵌入式处理器的品种总量全世界嵌入式处理器的品种总量 已经超过已经超过1000多种,流行体系结构有多种,流行体系结构有30几个系列。几个系列。与全球与全球PC市场不同的是,没有一种微处理器和微处市场不同的是,没有一种微处理器和微处 理器公司可以主导嵌入式市场,
26、仅以理器公司可以主导嵌入式市场,仅以32位位CPU而言,而言,就有就有100种以上嵌入式微处理器。种以上嵌入式微处理器。612.2.1 处理器的选择处理器的选择2.2.1 处理器的选择处理器的选择 主要因素:主要因素:1)应用类型)应用类型2)处理性能)处理性能3)技术指标)技术指标4)功耗)功耗5)软件支持工具)软件支持工具6)是否内置调试工具)是否内置调试工具7)供应商是否提供开发板)供应商是否提供开发板622.2.2 其它需要考虑的因素其它需要考虑的因素2.2.2 其它需要考虑的因素其它需要考虑的因素 首先,需要考虑首先,需要考虑生产规模生产规模生产规模生产规模。其次,需要考虑开发的其次
27、,需要考虑开发的市场目标市场目标市场目标市场目标。第三,需要考虑第三,需要考虑软件开发对硬件的依赖性软件开发对硬件的依赖性软件开发对硬件的依赖性软件开发对硬件的依赖性。最后,只要可能,最后,只要可能,尽量选择使用普通的硬件尽量选择使用普通的硬件尽量选择使用普通的硬件尽量选择使用普通的硬件。632 嵌入式系统设计与开发2 嵌入式系统设计与开发2.1 设计流程设计流程2.2 硬件平台的选择硬件平台的选择2.3 软件平台的选择软件平台的选择2.4 开发过程开发过程本节提要本节提要:操作系统操作系统操作系统操作系统 编程语言编程语言编程语言编程语言 开发环境开发环境开发环境开发环境642.3.1 操作
28、系统的选择操作系统的选择2.3.1 操作系统的选择操作系统的选择 操作系统提供的开发工具操作系统提供的开发工具 操作系统向硬件接口移植的难度操作系统向硬件接口移植的难度 操作系统的内存要求操作系统的内存要求 开发人员是否熟悉此操作系统及其提供的开发人员是否熟悉此操作系统及其提供的API 是否提供硬件的驱动程序,如是否提供硬件的驱动程序,如SD卡、卡、LCD屏幕等。屏幕等。操作系统的可剪裁性操作系统的可剪裁性 操作系统的实时性能操作系统的实时性能具体选择操作系统时,可以从以下几点进行考虑:具体选择操作系统时,可以从以下几点进行考虑:652.3.2 编程语言的选择编程语言的选择2.3.2 编程语言
29、的选择编程语言的选择主要考虑以下因素:主要考虑以下因素:a)通用性通用性b)可移植性可移植性c)执行效率执行效率d)可维护性可维护性AdaC/C+J2ME662.3.3 开发环境开发环境2.3.3 开发环境开发环境交叉开发环境交叉开发环境672.3.3 开发环境开发环境2.3.3 开发环境开发环境 宿主机宿主机宿主机宿主机(host)通用计算机通用计算机 通过串口通过串口/以太网接口与以太网接口与 目标机通信。目标机通信。软硬件资源比较丰富软硬件资源比较丰富682.3.3 开发环境开发环境2.3.3 开发环境开发环境 目标机 一般在嵌入式应用软件 的开发和调试期间使 用,用来区别与嵌入式 系统
30、通信的宿主机。目标机目标机嵌入式应用软件的实嵌入式应用软件的实 际运行环境际运行环境/仿真系仿真系 统。统。软硬件资源通常都比软硬件资源通常都比 较有限。较有限。692.3.3 开发环境开发环境2.3.3 开发环境开发环境交叉开发环境:交叉开发环境:交叉编译和链接交叉编译和链接交叉编译和链接交叉编译和链接Intel公司公司 x86系列系列 CPU大多为大多为ARM、MIPS、PowerPC、DragonBall等等 系列的微处理器系列的微处理器 宿主机宿主机CPU:目标机目标机CPU:702 嵌入式系统设计与开发2 嵌入式系统设计与开发2.1 设计流程设计流程2.2 硬件平台的选择硬件平台的选
31、择2.3 软件平台的选择软件平台的选择2.4 开发过程开发过程本节提要本节提要:712.4 开发过程2.4 开发过程协同开发协同开发722.4 开发过程2.4 开发过程 代码编程代码编程代码编程代码编程 交叉编译交叉编译交叉编译交叉编译 交叉链接交叉链接交叉链接交叉链接 下载到目标板下载到目标板下载到目标板下载到目标板 调试调试调试调试嵌入式软件开发流程嵌入式软件开发流程73内容提要内容提要1.嵌入式系统的体系结构嵌入式系统的体系结构2.嵌入式系统的设计与开发嵌入式系统的设计与开发74小结小结1.嵌入式系统的 体系结构嵌入式系统的 体系结构2.嵌入式系统的 设计与开发嵌入式系统的 设计与开发嵌入式 处理器嵌入式 处理器外围接口电 路外围接口电 路存储器存储器I/O接口基本的硬件结构接口基本的硬件结构辅助模块辅助模块功能模块功能模块75小结小结1.嵌入式系统的 体系结构嵌入式系统的 体系结构2.嵌入式系统的 设计与开发嵌入式系统的 设计与开发