第5章嵌入式系统的软件ppt课件.ppt
《第5章嵌入式系统的软件ppt课件.ppt》由会员分享,可在线阅读,更多相关《第5章嵌入式系统的软件ppt课件.ppt(41页珍藏版)》请在三一办公上搜索。
1、第5章 嵌入式系统的软件,5.1 嵌入式系统软件的开发方式5.2 嵌入式系统软件的结构5.3 基于嵌入式Linux的嵌入式系统的软件,5.1 嵌入式系统软件的开发方式,5.1 嵌入式系统软件的开发方式,5.1.1 嵌入式系统的软件,嵌入式系统软件通常包括:操作系统 应用软件,软硬件结合是嵌入式系统软件开发最大的特点,主要体现在两方面 处理器体系结构Windows和桌面Linux系统通常只运行在x86单一的体系结构上嵌入式系统具有ARM、x86、MIPS等多种体系结构的处理器,在这些处理器上运行的本地程序需要使用不同的编译工具进行编译,生成不同的二进制代码 软件和硬件之间的接口Windows和桌
2、面Linux系统的驱动程序是比较标准化的,通常在驱动程序之上,还具有硬件抽象层(Hardware Abstract Layer,HAL),它可以进一步的“屏蔽”硬件之间的差异嵌入式系统具有多种多样的接口、设备等硬件(嵌入式处理器芯片内部或外接),需要软件支持,特别是需要关注软硬件的交互另外,嵌入式系统因为成本原因,处理器性能、内存容量以及外围接口和设备资源均有限,需要对软件进行裁剪、优化,5.1 嵌入式系统软件的开发方式,5.1.2 软硬件结合的方式,5.2 嵌入式系统软件的结构,5.2.1 软件的层次结构,第一章回顾嵌入式系统结构自下而上,通常可以分成四个层次:硬件(Hardware)操作系
3、统(OS)中间件(Middle Ware)应用层程序(Application),5.2 嵌入式系统软件的结构,5.2 嵌入式系统软件的结构,嵌入式系统软件的层次结构,操作系统需要包含了核心的功能,操作系统和中间件之间的差别在同一个系统中通常可以区分。但是在不同系统中,某些功能即可以放在操作系统中实现,也可以放在中间件来实现,如文件系统、网络协议(网络管理),5.2 嵌入式系统软件的结构,中间件是比较底层的软件,通常只提供功能的接口,不实现具体的逻辑。中间件起着承上启下的作用,将操作系统的功能和应用层程序作出恰当的隔离和联系对于比较简单的功能,可以不经过中间件,直接调用操作系统的API实现,即使
4、在同一个系统中,那些软件是中间件,那些是应用层,也不存在完全的区分,5.2 嵌入式系统软件的结构,5.2.2 嵌入式软件的分类,1、操作系统 操作系统的核心通常包括了进程(任务)调度、进程(任务)间通讯、内存管理、文件系统、设备管理等方面,5.2 嵌入式系统软件的结构,第一章回顾 嵌入式操作系统的主要功能:处理器管理:在多任务环境下,合理分配任务来共享处理器,提高处理器的利用率,同时提供任务间的通信机制内存管理:为多任务环境下的程序运行提供良好的环境,包括内存分配、内存保护、地址映射、内存扩充文件管理:对系统文件和用户文件进行管理,包括存储空间的管理、目录管理、文件的读写管理以及文件的共享与保
5、护设备管理:根据用户提出的设备请求,为用户分配I/O设备,提高CPU和I/O设备的利用率,5.2 嵌入式系统软件的结构,2、文件系统(File System,FS)文件系统可以提供一致的“文件”功能,有利于统一各不同具体文件系统之间的差异,简化系统的开发过程。在嵌入式Linux中,文件系统属于操作系统的一部分,而设备管理需要文件系统的支持3、协议栈(Protocol)TCP/IP网络协议是目前最常使用的协议栈,除此之外,还有蓝牙协议、红外协议等各个层次的协议栈 在嵌入式Linux中,网络协议(网络管理)有的认为属于操作系统的一部分,有的认为不属于,本书按“属于”论述4、GUI(图形用户界面)系
6、统 GUI系统可以提供给上层(比如应用层)一个接口,让上层的程序实现各种具体的图形界面,5.3 基于嵌入式Linux的嵌入式系统的软件,5.3 基于嵌入式Linux的嵌入式系统的软件,5.3.1 嵌入式Linux操作系统、中间件、应用层程序的关系,5.3 基于嵌入式Linux的嵌入式系统的软件,在基于嵌入式Linux的嵌入式系统中,软件系统通常包含了操作系统,中间件,应用层程序等几个层次,设备管理,嵌入式Linux操作系统如何支持中间件/应用层?嵌入式Linux操作系统提供系统调用(一些基础的功能)来完成和中间件/应用层的交互:系统调用Linux操作系统(位于内核空间)和中间件/应用层(位于用
7、户空间)之间的基础接口是系统调用(System Call)Linux的系统调用按照功能逻辑大致可分为:进程控制、进程间通信存储管理文件系统设备管理网络管理等,5.3 基于嵌入式Linux的嵌入式系统的软件,5.3 基于嵌入式Linux的嵌入式系统的软件,系统调用在许多操作系统(包括嵌入式Linux)中,为了更好地保护操作系统内核,将程序的运行空间分为内核空间和用户空间(内核态和用户态),它们分别运行在不同的级别上,逻辑上是相互隔离的用户程序(中间件/应用层)在通常情况下不允许访问内核数据,也无法使用内核函数,它们只能在用户空间访问用户数据,调用用户空间的函数。而系统调用接口正是操作系统向用户程
8、序提供支持的接口,通过这些接口,用户程序向操作系统请求服务,控制转向操作系统,而操作系统在完成服务后,将控制和结果返回给用户程序,数据,函数,数据,函数,5.3 基于嵌入式Linux的嵌入式系统的软件,用户编程接口API实际上,呈现给中间件/应用层调用的是并不是系统调用(进程控制、进程间通信、存储管理、文件系统、设备管理、网络管理等),而是用户编程接口API(Application Programming Interface)API对系统调用进行了适当的封装,符合POSIX接口标准,5.3 基于嵌入式Linux的嵌入式系统的软件,文件系统文件系统作为Linux操作系统的一部分,向用户程序(中间
9、件/应用层)提供一个操作文件的统一接口,包括:新建、打开、读写等标准的文件I/O操作支持多种类型的文件系统,其中比较常用的包括EXT2、EXT3、FAT、NTFS、Cramfs、JFFS、ROMFS、NFS 等支持不同类型的存储介质,中间件/应用层,Linux OS,5.3 基于嵌入式Linux的嵌入式系统的软件,open:打开文件准备I/O 操作。release/close:关闭由open()函数打开的文件read:从文件读数据write:往文件写数据lseek:移动文件指针的位置ioctl:执行读、写之外的操作,主要是一些自定义的命令fcntl:文件/记录上锁等select:处理文件复用m
10、map:主要用于设备文件,文件系统API(操作文件的统一接口),设备管理设备管理Linux操作系统的一部分由于I/O设备(比如:第四章的外围接口和设备)千差万别,这就给操作系统对I/O设备管理造成了不少的难度和麻烦。为此,在Linux中引入了“设备文件”这个概念。即:Linux系统把每个设备映射为一种特殊的文件,Linux对各类设备的输入、输出看起来就好像对普通文件的输入输出一样使用设备文件好处:Linux为文件和设备提供了一致的用户接口,对用户而言,设备文件与普通文件并无区别,可以象操作文件一样打开和关闭设备文件、读写数据等在Linux系统中,硬件设备(包括字符设备和块设备)使用文件来表示,
11、这些文件在/dev/目录中,5.3 基于嵌入式Linux的嵌入式系统的软件,5.3 基于嵌入式Linux的嵌入式系统的软件,Linux 将所有的设备看作文件,通过文件系统对设备进行访问。这样可以很好的做到“设备无关性”Linux对设备的管理划分成四个层次:用户程序(中间件/应用层)文件系统层设备驱动层硬件层,位于Linux OS,5.3 基于嵌入式Linux的嵌入式系统的软件,设备管理API(操作设备文件的统一接口),open:打开设备准备I/O 操作。release/close:关闭由open()函数打开的设备read:从设备上读数据write:往设备上写数据lseek:移动文件指针的位置,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 软件 ppt 课件
链接地址:https://www.31ppt.com/p-2104945.html