嵌入式系统第一章嵌入式系统基础_第1页
嵌入式系统第一章嵌入式系统基础_第2页
嵌入式系统第一章嵌入式系统基础_第3页
嵌入式系统第一章嵌入式系统基础_第4页
嵌入式系统第一章嵌入式系统基础_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 为什么要学习嵌入式技术?v从计算发展的趋势看从计算发展的趋势看需求潜力巨大需求潜力巨大为什么要学习嵌入式技术?人才市场需求潜力大人才市场需求潜力大 中国具有世界最大嵌入式技术市场,手持仪中国具有世界最大嵌入式技术市场,手持仪器设备、信息家电、城市建设、工业控制、器设备、信息家电、城市建设、工业控制、军事应用等等,嵌入式技术将无处不在军事应用等等,嵌入式技术将无处不在 。嵌入式系统开发人员嵌入式系统开发人员 门槛高,竞争相对温和门槛高,竞争相对温和 工作相对轻松工作相对轻松 薪水较高薪水较高 从事从事PC机应用与嵌入式系统应用工作比较机应用与嵌入式系统应用工作比较嵌入式系统学习的特点:嵌入式系

2、统学习的特点: 综合性:涉及电子、计算机等诸多专业知识,综合性:涉及电子、计算机等诸多专业知识,综合性强,可包括、综合性强,可包括、C C语言、单片机、操作系语言、单片机、操作系统等课程内容。嵌入式系统是软件、硬件设计统等课程内容。嵌入式系统是软件、硬件设计的完美结合。的完美结合。 基础性:可作为计算机、电子工程、自动控制基础性:可作为计算机、电子工程、自动控制等专业的基础平台课等专业的基础平台课 实践性:实践性:实验与项目开发实践是学好嵌入式系实验与项目开发实践是学好嵌入式系统的重要环节统的重要环节本课程考核要求本课程考核要求n 平时成绩(纪律、作业、课堂回答问题)平时成绩(纪律、作业、课堂

3、回答问题)10n实验成绩(预习、操作、报告、考核、纪律)实验成绩(预习、操作、报告、考核、纪律) 30n 期末考试期末考试 601.1 嵌入式系统的概念嵌入式系统的概念1.1.1 嵌入式系统的感性认识嵌入式系统的感性认识第第1章章 嵌入式系统概述嵌入式系统概述智能玩具智能玩具自动洗衣机自动洗衣机汽车汽车先进武器先进武器机器人机器人普通计算机与嵌入式系统的比较普通计算机与嵌入式系统的比较普通计算机普通计算机1. 嵌入到设备中的计算机嵌入到设备中的计算机嵌入式系统的特征:嵌入式系统的特征:2. 专用的计算机专用的计算机3. 精简软硬件的计算机精简软硬件的计算机4. 具有特殊要求的计算机具有特殊要求

4、的计算机IEEEIEEE的嵌入式系统定义:的嵌入式系统定义: 嵌入式系统是嵌入式系统是“控制、监视或辅助设备、控制、监视或辅助设备、机器和车间运行的装置机器和车间运行的装置” 嵌入式系统是以应用为中心,以计算嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统功耗有严格要求的专用计算机系统。国内普遍接受的嵌入式系统定义:国内普遍接受的嵌入式系统定义:1.1.2 嵌入式系统的定义嵌入式系统的定义1.1.3 嵌入式系统的基本组成嵌入式系统的基

5、本组成1. 嵌入式系统的硬件组成嵌入式系统的硬件组成由嵌入式处理器、存储器、外围电路、外部设备组成。由嵌入式处理器、存储器、外围电路、外部设备组成。存储器存储器处理器处理器存储器存储器输入接口输入接口操作系统操作系统(驱动程序驱动程序)应用程序应用程序软件子系统软件子系统硬件子系统硬件子系统输出接口输出接口外围设备外围设备2 嵌入式系统的软件组成嵌入式系统的软件组成 应用程序实时操作系统(RTOS)输入输出接口处理器/ARM核MMU/CacheSOC/SOPCUSBGPIOIISLCDUART和IrDAADC/DACFPGA/CPLDDSP/浮点运算协处理器DMA电源管理典型的嵌入式系统组成典

6、型的嵌入式系统组成人机交互接口LCD/触摸屏、键盘、鼠标设备驱动程序、HAL、BSP文件系统/图形用户应用程序接口驱动层OS层应用层软件硬件以太网看门狗及复位电路Timer/RTCCANFlashEEPROMSDRAMSRAM内存 (1 1) 专用的计算机系统专用的计算机系统(2 2)体积小、低功耗低;)体积小、低功耗低; (3 3)可靠性和实时性高;)可靠性和实时性高;(4 4)系统精简、量体裁衣、高效的软硬件设计;)系统精简、量体裁衣、高效的软硬件设计;(5 5)软件一般存放在)软件一般存放在FlashFlash中;中;(6 6)无自举开发能力,需利用宿主机进行开发。)无自举开发能力,需利

7、用宿主机进行开发。1.1.4 嵌入式系统的特点嵌入式系统的特点串口串口网口网口JTAG目标机目标机宿主机宿主机在宿主机上应装有:在宿主机上应装有:编辑器、交叉编译器、编辑器、交叉编译器、交叉调试器、下载器、交叉调试器、下载器、集成开发环境等软件集成开发环境等软件目标机运行应用程序目标机运行应用程序并反馈运行结果和调并反馈运行结果和调调试信息调试信息无自举开发能力无自举开发能力利用宿主机进行嵌入式系统应用开发利用宿主机进行嵌入式系统应用开发1.2.11.2.1嵌入式微处理器的类型嵌入式微处理器的类型 嵌入式处理器嵌入式处理器嵌入式微处理器(嵌入式微处理器(MPU)嵌入式微控制器(单片机)数字信号

8、处理器(数字信号处理器(DSP)片上系统(片上系统(SOC)1.2.嵌入式微处理器嵌入式微处理器1.1.微控制器(俗称单片机微控制器(俗称单片机):):它是将计算机的它是将计算机的CPUCPU、内存、内存、I/OI/O接口集成到一接口集成到一块芯片上。块芯片上。主要特点主要特点: :单片化、可靠性高、体积小、功耗低、价格便单片化、可靠性高、体积小、功耗低、价格便宜,非常适合产品和设备的控制和低端智能化宜,非常适合产品和设备的控制和低端智能化。2 2嵌入式微处理器嵌入式微处理器由通用计算机中的微处理器演变而来。与通用由通用计算机中的微处理器演变而来。与通用计算机中的微处理器相比,去掉了与嵌入式系

9、计算机中的微处理器相比,去掉了与嵌入式系统应用不相关的冗余部分,配上必要的扩展电统应用不相关的冗余部分,配上必要的扩展电路与经常使用的接口电路,以较低的功耗和资路与经常使用的接口电路,以较低的功耗和资源满足嵌入式应用系统的特殊要求。源满足嵌入式应用系统的特殊要求。3 3DSPDSP处理器处理器是专门用于数字信号处理的微处理器,在系统是专门用于数字信号处理的微处理器,在系统结构和指令算法方面进行了特殊的设计结构和指令算法方面进行了特殊的设计.。4 4片上系统片上系统把整个应用系统中的一个或多个把整个应用系统中的一个或多个CPUCPU单元及其它单元及其它 功能部件进行整合,集成到一个芯片上,这就是

10、功能部件进行整合,集成到一个芯片上,这就是片上系统(片上系统(SoCSoC). .嵌入式微处理器多种多样,嵌入式微处理器要根据具体的应用要求、系统的成本、开发的难易程度进行选择,一般选择嵌入式微处理考虑下述因素: (1 1)嵌入式微处理器的类型)嵌入式微处理器的类型 (2 2)嵌入式微处理器的内核)嵌入式微处理器的内核 (3 3)嵌入式微处理器的性能指标)嵌入式微处理器的性能指标 (4 4)特殊要求特殊要求1 微处理器的字长微处理器的字长CPUCPU的工作频率的工作频率指令系统指令系统接口功能接口功能中断处理能力中断处理能力 1.2.2 嵌入式微处理器的选型嵌入式微处理器的选型操作系统是一组计

11、算机程序的集合,它被用来控制和管理计算机的硬件和软件资源,并为用户提供方便的应用接口。 1.1.一般操作系统的功能:一般操作系统的功能:多任务管理多任务管理存储器管理存储器管理设备管理设备管理文件管理文件管理 1.3 嵌入式操作系统嵌入式操作系统应用程序应用程序驱动程序、硬件抽象层、板级支持包驱动程序、硬件抽象层、板级支持包文件系统文件系统/图形用户接口图形用户接口驱动层驱动层OS层层应用层应用层扩展模块扩展模块基本模块基本模块进程调度进程调度内存管理内存管理调度调度文件管理文件管理 -调度调度 OS核核图形驱动图形驱动数据数据库模库模块块应用程序接口(应用程序接口(API) 硬件硬件 (Ha

12、rdware)网 络 模网 络 模块调度块调度图图1- 4 RTOS体系结构图体系结构图2.嵌入式操作系统的特点:嵌入式操作系统的特点: 微型化微型化 可裁剪性可裁剪性 实时性实时性 高可靠性高可靠性 可移植性可移植性 外设接口的统一性外设接口的统一性 嵌入式操作系统(嵌入式操作系统(Embedded Operating System) 负责嵌入式系统的全部软、硬件资源的分配、调度、控制、协调;负责嵌入式系统的全部软、硬件资源的分配、调度、控制、协调;能够通过加载能够通过加载/卸载某些模块来达到系统所要求的功能。卸载某些模块来达到系统所要求的功能。3.3.常见的常见的嵌入式操作系统嵌入式操作系

13、统嵌入式操作系统的种类繁多,但大体上可分为两种商用型和免费型。商用型和免费型。商用型的操作系统主要有VxWorks、Windows CE 、Psos、Palm OS、OS-9、LynxOS、QNX、LYNX等 免费型的操作系统主要有Linux和C/OS-II 需要高度简练、界面友善、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统 典型嵌入式操作系统介绍 C/OS-II 嵌入式操作系统内核 VxWorks嵌入式实时操作系统 WinCE操作系统 Linux操作系统 C/OS-II 嵌入式操作系统内核 C/OS-II是一个可裁减的、源码开放的、结构小巧、可剥夺型的实时多任务内核,主要面向

14、中小型嵌入式系统,具有执行效率高、占用空间小、可移植性强、实时性能优良和可扩展性强等特点。 C/OS-II中最多可以支持64个任务,分别对应优先级063,其中0为最高优先级。实时内核在任何时候都是运行就绪了的最高优先级的任务,是真正的实时操作系统。 C/OS-II最大程度上使用ANSI C语言开发。C/OS-II 嵌入式操作系统内核C/OS-II结构小巧,编译后的C/OS-II内核仅有610kb,所以它比较适用于小型控制系统。C/OS-II具有良好的扩展性能,比如可自行加入文件系统的内容。VxWorks嵌入式实时操作系统WindRiver Systems公司推出。可由相对独立、短小精悍的模块进

15、行裁减来配置。多应用于高端技术及实时要求极高的领域。WinCE操作系统 Microsoft Windows CE是针对有限资源的平台而设计的多线程、完整优先权、多任务的操作系统,但它不是一个硬实时操作系统。 高度模块化的特性。有利从掌上电脑到专用的工业控制器的用户电子设备进行定制。 WinCE至少需要200K的ROM,它支持 Win32 API子集、多种用户界面硬件、多种的串行和网络通讯技术、COM/OLE和其他的进程间通讯的先进方法。 Microsoft公司为Windows CE提供了Platform Builder和Embedded Visual Studio开发工具。WinCE操作系统提

16、供与PC机类似的图形界面和主要的应用程序。界面显示大多数在Windows里出现的标准部件,包括桌面、任务栏、窗口、图标和控件等等。便于对PC机上的Windows比较熟悉的用户。LinuxLinux嵌入式操作系统嵌入式操作系统 Linux是个和Unix相似、以内核为基础的、以内核为基础的、完全内存保护、多任务多进程的操作系统完全内存保护、多任务多进程的操作系统。Linux最初是在1991年由一名芬兰学生Linus Torvalds开发的,最初开发的Linux不成熟、性能较低,但是,由于Linux具有开放性,任何人只要遵守GNU组织的GPL(GNU Public License)标准,都可对其源码

17、进行修改。所以Linux在短短的时间内就成了一个稳定、成熟的操作系统。 linuxlinux特点特点: :符合POSIX 1003.1标准支持多用户访问和多任务编程采用页式存储管理支持动态链接支持多种文件系统支持TCP/IP、SLIP和PPPlinuxlinux作为嵌入式操作系统的优点作为嵌入式操作系统的优点: : 1. 可应用于多种硬件平台。加快了软件与硬件的开发过程并降低了开发成本。 2. Linux可以随意地配置而不需要任何的许可证或商家的合作关系。 3. 它是免费的,源代码可以得到。这是最吸引人的。毫无疑问,这会节省大量的开发费用。 4. 它本身内置网络支持,具有公认的强大的网络功能。

18、 5. Linux的高度模块化使添加部件非常容易。 6. Linux在台式机上的成功,使大家看到了linux在嵌入式系统中的辉煌前景。嵌入式嵌入式linux的版本的版本 Linux按照其实际应用的场合及特殊的功能需求,基本上可以分为以下3类: 1. 将Linux改进以满足实时要求的实时操作系统,应用于一些关键的控制场合,如RTLinux, Hard Hat Linux。 2. 尽可能保留Linux的强大功能,尽可能地减少其体积,以满足许多嵌入式系统对体积的要求,如Clinux。 3. 针对特定嵌入式领域采用的整合方案,如Lineo,TimeSys,合肥华恒等 在开发一个具体的嵌入式系统应用项目

19、时,应该根据应在开发一个具体的嵌入式系统应用项目时,应该根据应用项目的要求和规模确定是否使用嵌入式操作系统。如用项目的要求和规模确定是否使用嵌入式操作系统。如果使用嵌入式操作系统,则需要选择一个合适的操作系果使用嵌入式操作系统,则需要选择一个合适的操作系统。一般在选择嵌入式操作系统时,要考虑下列因素:统。一般在选择嵌入式操作系统时,要考虑下列因素: 4.4.嵌入式操作系统的选择嵌入式操作系统的选择v 应用需求应用需求v 嵌入式微处理器的支持嵌入式微处理器的支持v 开发工具开发工具v 价格价格 嵌入式系统的应用软件是针对特定的应嵌入式系统的应用软件是针对特定的应用和相应的硬件平台,为实现具体的应

20、用目用和相应的硬件平台,为实现具体的应用目标而设计的计算机软件。标而设计的计算机软件。与通用计算机应用软件相比,嵌入式应用软与通用计算机应用软件相比,嵌入式应用软件开发具有如下特点:件开发具有如下特点: 1.4嵌入式应用软件开发嵌入式应用软件开发1采用宿主机与目标板的模式进行开发采用宿主机与目标板的模式进行开发建立交叉开发环境 运行于宿主机的交叉开发软件、宿主机到目标机的调试通道组成。 交叉编译。开发需要专门工具和特殊方法开发需要专门工具和特殊方法由于嵌入式系统资源有限,一般不具备自主开发能力,产品发布后用户通常也不能对其中的软件进行修改,必须有一套专门的开发环境。 (交叉开发软件一般为一个整

21、合编辑、编译汇编链接、调试、工程管理及函数库等功能模块的集成开发环境IDE(Intergrated Development Environment)。 采用交叉开发的方式进行,交叉开发环境如图所示。2软硬件协同设计软硬件协同设计3技术要求高,开发难度大技术要求高,开发难度大4应用软件需要固化应用软件需要固化5尽可能尽可能减少资源占用和提高程序的执行速减少资源占用和提高程序的执行速度度11.无操作系统的情形无操作系统的情形(1 1)循环轮转程序结构循环轮转程序结构循环轮转程序结构将系统分解为循环轮转程序结构将系统分解为若干个任务和有条件执行的事件,若干个任务和有条件执行的事件,把它们放在一个无限

22、循环体内把它们放在一个无限循环体内。在完成初始化后,在完成初始化后,进入无限循环进入无限循环体,体,按照安排好的顺序处理满足按照安排好的顺序处理满足条件的事件和无条件地完成各个条件的事件和无条件地完成各个任务。任务。 1.4.2嵌入式应用软件的结构嵌入式应用软件的结构main( )main( ) Initialize( ) ; / 系统初始化系统初始化 while(1) / 无限循环无限循环 if (condition_1 ) action_1( ); / 如果满足条件如果满足条件1,处理事件,处理事件1 if (condition_2 ) action_2( ); / 如果满足条件如果满足条

23、件2,处理事件,处理事件2 if (condition_n) acition_n ( ); / 如果满足条件如果满足条件n,处理事件,处理事件n task_1();/ 无条件完成任务无条件完成任务1 task_2();/ 无条件完成任务无条件完成任务2 task_m();/ 无条件完成任务无条件完成任务m 前后台程序结构前后台程序结构也称为中断驱动结构。应用程序由主程序、也称为中断驱动结构。应用程序由主程序、子程序和中断服务程序组成。子程序和中断服务程序组成。在执行主程序时,首先进行系统的初始化,然后进入一个在执行主程序时,首先进行系统的初始化,然后进入一个无限循环体,在无限循环体内,像无限循

24、环体,在无限循环体内,像循环轮转程序结构一样循环轮转程序结构一样按照安排好的顺序有条件或无条件地完成各个任务,这部按照安排好的顺序有条件或无条件地完成各个任务,这部分工作称为分工作称为后台后台。该程序结构该程序结构使用中断来处理事件使用中断来处理事件,每种事件具有不同的优,每种事件具有不同的优先级,当事件发生时,主程序暂停现行的工作转到对应的先级,当事件发生时,主程序暂停现行的工作转到对应的中断服务程序去处理中断事件,这部分工作称为中断服务程序去处理中断事件,这部分工作称为前台。前台。 (2)前后台程序结构(2)前后台程序结构后台后台前台前台main( ) Initialize( ) ; /

25、系统初始化系统初始化 while(1) / 无限循环无限循环 task_1();/ 无条件完成任务无条件完成任务1 task_2();/ 无条件完成任务无条件完成任务2 task_m();/ 无条件完成任务无条件完成任务m ISR1( ) / 中断服务程序中断服务程序1ISR2( ) / 中断服务程序中断服务程序2ISRn( ) / 中断服务程序中断服务程序n2.2.有有操作系统的情形操作系统的情形有操作系统的有操作系统的嵌入式系统的应用软件是在嵌入式系统的应用软件是在操作系统的支操作系统的支持下运行的,持下运行的,应用软件开发者不直接面对嵌入式硬件设应用软件开发者不直接面对嵌入式硬件设备,而

26、是在操作系统的基础上进行程序的编写备,而是在操作系统的基础上进行程序的编写。 其优势其优势为:为:(1 1)提高了软件开发效率)提高了软件开发效率(2)增加)增加了应用系统软件的可靠性了应用系统软件的可靠性(3 3)有利于应用系统的扩展和移植)有利于应用系统的扩展和移植 在在C/OS-IIC/OS-II嵌入式操作系统支持下典型的应用程序流程嵌入式操作系统支持下典型的应用程序流程 声明任务声明任务1 ;声明任务声明任务2 ; 声明任务声明任务N ;void main ( ) / 主函数主函数 OSInit ( ) ; / uCOS-II 初始化初始化 OSTaskCreate (MyTask1,

27、 &MyTask1Agu,) ;/ 创建任务创建任务1 OStaskCreate (MyTask2, &MyTask1Agu,) ;/ 创建任务创建任务2 OStaskCreate (MyTaskN, &MyTask1Agu,) ;/ 创建任务创建任务N OSAddTask_Init(0); /系统任务初始化系统任务初始化 OSStart ( ) ; /启动任务启动任务 return 0 ; Void Mytask1 (void*pdata) / 定义任务定义任务1 for(; ;) /可以中断的应用程序代码段可以中断的应用程序代码段 ; OS_ENTER_CRITICAL()(); / 关中断关中断 不可以中断的用应用程序代码段不可以中断的用应用程序代码段 ; OS_EXIT_CRITICAL();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论