您好,欢迎访问三七文档
嵌入式系统周洪钧zhouhongjun@tongji.eud.cn考核标准•70%期末考试–期末大考成绩•30%平时成绩–出勤率–课堂表现–实验课的认真程度–等等。。。推荐参考书第1章嵌入式系统导论主要学习内容1.嵌入式系统及其应用领域1.1嵌入式系统基本概念1.2应用领域1.3嵌入式系统的主要特点1.4嵌入式系统与单片机2.嵌入式系统的核心技术和外围技术2.1嵌入式系统的组成2.2嵌入式微处理器的特点2.3嵌入式系统软件2.4嵌入式操作系统2.5硬实时和软实时2.6内核加载方式3.计算机的发展3.1冯诺依曼架构3.2哈佛结构3.3流水线技术3.4精简指令集3.5嵌入式处理器的发展阶段3.6计算机发展历史中的若干重要人物3.7嵌入式系统的发展趋势3.8嵌入式系统产业发展的动因4.Cortex-M3简介4.1概述4.2Cortex–M3的设计背景4.3Cortex-M3体系架构5.STM32F10x系列微控制器6.嵌入式系统工程设计与开发1.嵌入式系统及其应用领域1.1嵌入式系统基本概念1.2应用领域1.3嵌入式系统的主要特点1.4嵌入式系统与单片机1.1嵌入式系统的基本概念•嵌入式系统是以现代计算机技术为基础,以应用为中心,可以根据系统或用户需求(功能、可靠性、成本、体积、功耗、环境等),灵活裁剪软硬件模块的专用计算机系统;IEEE(国际电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。1.2嵌入式系统应用领域目前,嵌入式微处理器及技术的应用已经深入到各个领域:国防军事工业控制领域交通运输领域无线通讯领域网络应用消费类电子产品成像和安全产品。。。。。。1.3嵌入式系统的主要特点•嵌入式系统与一般意义上计算机控制系统并不等同。主要体现为以下几个特点:–面向应用,系统设计必须综合考虑功能、可靠性、成本、体积、功耗、环境等具体的应用需求。嵌入式系统通常含有面向特定应用的嵌入式CPU,具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于系统设计的小型化,移动能力大大增强,跟网络的耦合也越来越紧密。嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合的产物嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式系统产品一旦进入市场,将具有较长的生命周期。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机中,而不是存储于磁盘等载体中。–软硬件可剪裁。嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更多的功能和更高的性能。某种意义上,是满足具体应用需求的一种实现举措(如:减小体积、降低成本、降低功耗、增强实时性等)。–专用计算机控制系统。不同的嵌入式系统,有不同的应用环境、控制对象,用户需求一般也不相同,软硬件剪裁的内容不可能一样,Bootloader等程序一般也不一样;嵌入式系统本身不具备自举开发能力,设计完成以后,用户通常不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。1.4嵌入式系统与单片机•一个嵌入式系统,通常是一个功能完备、可独立运行的软、硬件集成(控制)系统。•其中,包括微处理器芯片/单片机。•从概念上来看,“嵌入式系统”涵盖了系统“规划、设计、实现”甚至“市场营销”的整个过程,既包括控制核心部件、又包括被控对象,它由局部各部件组成,同时从系统角度,根据需求进行各部件的集成、优化。2.嵌入式系统的核心技术和外围技术2.1嵌入式系统的组成2.2嵌入式微处理器的特点2.3嵌入式系统软件2.4嵌入式操作系统2.5硬实时和软实时2.6内核加载方式2.嵌入式系统的核心技术和外围技术2.1嵌入式系统的组成嵌入式系统由硬件和软件两大部分组成,用于实现对其他设备的控制、监视或管理等功能。前者是整个系统的物理基础,它提供软件运行平台和通信接口;后者实际控制系统的运行。硬件:嵌入式微处理器、外围电路、外围硬件设备。软件:嵌入式操作系统、用户的应用程序。嵌入式系统组成硬件:嵌入式微处理器、外围电路、外围硬件设备。CPU是嵌入式系统的核心处理器,又称为嵌入式微处理器,负责控制整个嵌入式系统的执行;外围电路包括嵌入式系统的内存、I/O端口、复位电路、ADC/DAC(模数转换器/数模转换器)和电源等,与核心处理器一起构成一个完整的嵌入式目标系统。SRAM(StaticRandomAccessMemory)为静态随机存储器,DRAM(DynamicRandomAccessMemory)为动态随机存储器,Flash为闪存器外部设备指嵌入式系统与真实环境交互的各种设备,包括通用串行总线USB(UniversalSerialBus)、存储设备、鼠标、键盘、液晶显示器(LCD,LiquidCrystalDisplay)、红外线数据传输(IrDA,InfraredDataAssociation)和打印设备等。软件:嵌入式操作系统、用户的应用程序。操作系统控制着应用程序与硬件的交互,完成实时和多任务操作;应用程序控制着系统的运作和行为,完成各种设计功能。有时,设计人员需要把这两种软件组合在一起2.2嵌入式系统的硬件组成嵌入式微处理器的特点微处理器是嵌入式系统硬件的核心,具备以下4个特点:①对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度。②具有很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。③可扩展的结构。④功耗很低,尤其用于便携式无线及移动设备中靠电池供电的嵌入式系统更是如此,很多只允许mW量级甚至W量级。2.3嵌入式系统软件嵌入式系统的软件可分成4个层次:①设备驱动接口(DDI)负责嵌入式系统与外部设备的信息交互;②实时操作系统(RTOS)分成基本和扩展两部分,前者是操作系统的核心,负责整个系统的任务调度,存储分配、时钟管理和中断管理,提供文件、图形用户界面(GUI)等基本服务,后者是为用户提供操作系统的扩展功能,包括网络、数据库等;③可编程应用接口(API)也称为编程中间件、应用中间软件,是为编制应用程序提供的各种编程接口库,它针对不同应用领域、不同的安全要求分别构建,从而减轻应用开发者的负担;④应用软件是针对不同应用而由开发者自己编写的软件。嵌入式系统软件体系结构硬件应用层驱动层操作系统层中间件层板级初始化FLASH驱动RTC/定时器驱动串口驱动以太网驱动LCD驱动键盘驱动其他驱动内核TCP/IP网络系统文件系统嵌入式GUI电源管理嵌入式CORBA嵌入式JAVA嵌入式DCOM面向应用领域的中间件应用任务1应用任务2……应用任务n常见的几种嵌入式操作系统:1.uC/OSII2.uCLinux3.WindowsCE4.嵌入式Linux嵌入式系统及其开发应用(第二版)192.4嵌入式操作系统•大多数操作系统至少被划分为内核层和应用层两个层次。微内核•内核只提供基本的功能,如建立和管理进程、提供文件系统、管理设备等,这些功能以系统调用方式提供给用户。•一些桌面操作系统,如Windows、Linux等,将许多功能引入内核中,操作系统的内核变得越来越大。内核变大使得占用的资源增多,裁剪起来很麻烦。•大多数嵌入式操作系统采用了微内核结构,内核只提供基本的功能,例如,任务的调度、任务之间的通信与同步、内存管理、时钟管理等。•其他的应用组件,例如,网络功能、文件系统、GUI系统等均工作于用户态,以系统进程或函数调用的方式工作。因而系统都是可裁剪的,用户可以根据自己的需要选用相应的组件。嵌入式系统及其开发应用(第二版)20嵌入式操作系统:任务调度•在嵌入式系统中,任务即进程或线程。大多数的嵌入式操作系统支持多任务。多任务运行实际是靠CPU在多个任务之间切换、调度实现的。每个任务都有其优先级,不同任务的优先级可能相同也可能不同。•任务的调度有三种方式:可抢占式、不可抢占式和时间片轮转。不可抢占式调度是指一个任务一旦获得CPU就独占其运行,除非由于某种原因使它决定放弃CPU的使用权;可抢占式调度是基于任务优先级的,当前正在运行的任务可以随时让位给优先级更高的处于就绪态的其他任务;当两个或两个以上任务有同样的优先级时,不同任务轮转使用CPU,直到系统分配的CPU时间片用完,这就是时间片轮转调度。•目前,大多数嵌入式操作系统对不同优先级的任务采用基于优先级的可抢占式调度法,对相同优先级的任务则采用时间片轮转调度法。嵌入式系统及其开发应用(第二版)21内存管理•针对有内存管理单元(MMU,MemoryManagementUnit)的处理器而设计的一些桌面操作系统,如Windows、Linux,使用了虚拟存储器的概念。•虚拟内存地址被送到MMU。在这里,虚拟地址被映射为物理地址,实际存储器被分割为相同大小的页面,采用分页的方式载入进程。•一个程序在运行之前,没有必要全部装入内存,而是仅将那些当前要运行的部分页面装入内存运行。嵌入式系统及其开发应用(第二版)22内存管理•大多数嵌入式系统针对没有MMU的处理器设计,不能使用处理器的虚拟内存管理技术,而是采用实存储器管理策略,•因此对于内存的访问是直接的,它对地址的访问不需要经过MMU,而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址。•而且,大多数嵌入式操作系统对内存空间没有保护,各个进程实际上共享一个运行空间。•一个进程在执行前,系统必须为它分配足够的连续地址空间,然后全部载入主存储器的连续空间。嵌入式系统及其开发应用(第二版)23内存管理•由此可见,对于没有MMU的嵌入式系统,开发人员不得不参与系统的内存管理。•从编译内核开始,开发人员必须告诉系统这块开发板到底拥有多少内存;•在开发应用程序时,必须考虑内存的分配情况并关注应用程序需要运行空间的大小。•另外,由于采用实存储器管理策略,用户程序同内核以及其他用户程序在一个地址空间中,程序开发时要保证不侵犯其他程序的地址空间,以使程序不至于破坏系统的正常工作,或导致其他程序的运行异常。•因此,嵌入式系统的开发人员对软件中的一些内存操作要格外小心。TRON•TheReal-timeOperatingsystemNucleus•重视实时性•TRON是一项开放式的实时操作系统内核设计项目,它是TheReal-timeOperatingsystemNucleus(实时操作系统内核)的缩写。该项目由东京大学的坂村健教授于1984年发起,宗旨是为全社会的需要开发一套理想的计算机结构和网络。•UbiquitousIntelligentrobotTRON的结构•TRON规定了设计内核的接口和规范,它本身并不指定内核的源代码.所以基于这个规范,不同的公司都可以根据自己不同的微处理开发自己的TRON操作系统版本.•TRON规范是可以公开获取的,但是基于TRON规范开发出的源代码并不被要求公开.这一点与GNU公共许可证不一样.TRON项目允许基于TRON的源代码成为专利软件.•TRON是1984年东京大学教授坂村健提倡下开始的项目。当年日本人寄希望与TRON的PCOS以便能够从每年支付给微软的巨额费用中解脱出来。不过在1989年,这一设想被美国打断了,当时美国方面了解到日本政府准备把TRON安装到校园的计算机里,就扬言要将TRON列为不公平贸易壁垒之一。美国的强大政治压力,和美国市场使得PC业界远离了TRON.•不过坂村健教授没有放弃,而是致力于TRON在微处理器操作系统的研究,默默努力20年后,全球30亿到40亿台家用电子产品中用上了TRON,而微软的Windows仅装载在全球1.5亿台计算机上,2003年微软也终于宣布加入TRON项目。TRON的历史•1984年:TRON项目正式启动.•1985年:NEC公司宣布基于ITRON/86规
本文标题:嵌入式系统导论
链接地址:https://www.777doc.com/doc-7118225 .html