嵌入式系统设计与实例开发 (2)精.ppt
《嵌入式系统设计与实例开发 (2)精.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统设计与实例开发 (2)精.ppt(112页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统设计与实嵌入式系统设计与实例开发例开发第1页,本讲稿共112页uCOS-IIuCOS-II的不足之处的不足之处l只有多任务调度的简单内核只有多任务调度的简单内核l内存管理过于简单,几乎没有动态内存管理功能内存管理过于简单,几乎没有动态内存管理功能l文件系统和图形界面需要外挂文件系统和图形界面需要外挂l对于设备驱动程序没有专门统一的接口对于设备驱动程序没有专门统一的接口第2页,本讲稿共112页对COS-II进行必要的扩展要想实现一个相对完整、实用的嵌入式操作系统,还需要相当多要想实现一个相对完整、实用的嵌入式操作系统,还需要相当多的扩展性的工作。如:的扩展性的工作。如:l建立了建立了F
2、ATFAT兼容的文件系统兼容的文件系统l外设及驱动程序的实现外设及驱动程序的实现l基于基于UnicodeUnicode的汉字库的汉字库l基本绘图函数的实现基本绘图函数的实现l其它实用其它实用APIAPI函数函数第3页,本讲稿共112页基于COS-II扩展RTOS的体系结构第4页,本讲稿共112页1系统外围设备的硬件部分l系统外围设备的硬件部分包括:液晶显示屏(系统外围设备的硬件部分包括:液晶显示屏(LCDLCD)、)、USBUSB通信模块、通信模块、键盘、海量键盘、海量FlashFlash存储器、系统的时钟和日历。外围设备的硬件部存储器、系统的时钟和日历。外围设备的硬件部分是保证系统实现指定任
3、务的最底层的部件。分是保证系统实现指定任务的最底层的部件。2 2、驱动程序模块l驱动程序是连接底层的硬件和上层的驱动程序是连接底层的硬件和上层的APIAPI函数的纽带,有了驱动程函数的纽带,有了驱动程序模块,就可以把操作系统的序模块,就可以把操作系统的APIAPI函数和底层的硬件分离开来。硬函数和底层的硬件分离开来。硬件的改变、删除或者添加,只需要随之改变、删除或者添加提供件的改变、删除或者添加,只需要随之改变、删除或者添加提供给操作系统的相应的驱动程序就可以了。而不会影响到给操作系统的相应的驱动程序就可以了。而不会影响到APIAPI函数的函数的功能,更不会影响到用户的应用程序。功能,更不会影
4、响到用户的应用程序。第5页,本讲稿共112页3操作系统的API函数l在操作系统中提供标准的应用程序接口(在操作系统中提供标准的应用程序接口(APIAPI)函数,可以加速用)函数,可以加速用户应用程序的开发,统一应用程序的标准,同时也给操作系统版户应用程序的开发,统一应用程序的标准,同时也给操作系统版本的升级带来了方便。在本的升级带来了方便。在APIAPI函数中,提供了大量的常用模块,可函数中,提供了大量的常用模块,可以大大简化用户应用程序的编写。以大大简化用户应用程序的编写。4实时操作系统的多任务管理l C/OS-C/OS-作为操作系统的内核,主要的任务就是完成多任务之间作为操作系统的内核,主
5、要的任务就是完成多任务之间的调度和同步。的调度和同步。5系统的消息队列l这里所说的系统的消息队列是以这里所说的系统的消息队列是以 C/OS-C/OS-的消息队列派生出来的的消息队列派生出来的系统消息传递机制,用来实现系统的各个任务之间、用户应用程系统消息传递机制,用来实现系统的各个任务之间、用户应用程序的各个任务之间以及用户应用程序和系统的各个任务之间的通序的各个任务之间以及用户应用程序和系统的各个任务之间的通信。信。第6页,本讲稿共112页6系统任务l系统任务主要包括液晶显示屏(系统任务主要包括液晶显示屏(LCDLCD)的刷新任务、系统键盘扫描)的刷新任务、系统键盘扫描任务。这两个任务是操作
6、系统的基本任务,随着操作系统的启动任务。这两个任务是操作系统的基本任务,随着操作系统的启动而运行。而运行。7用户应用程序l用户的应用程序建立在系统的主任务(用户的应用程序建立在系统的主任务(Main_TaskMain_Task)基础之上。用)基础之上。用户应用程序主要通过调用系统的户应用程序主要通过调用系统的APIAPI函数对系统进行操作,完成用函数对系统进行操作,完成用户的要求。在用户的应用程序中也可以创建用户自己的任务。任户的要求。在用户的应用程序中也可以创建用户自己的任务。任务之间的协调主要依赖于系统的消息队列。务之间的协调主要依赖于系统的消息队列。第7页,本讲稿共112页嵌入式文件系统
7、嵌入式文件系统第8页,本讲稿共112页什么是文件系统(File System)文件系统的定义 处理文件的操作系统的部分称为文件系统处理文件的操作系统的部分称为文件系统.是操作系统中统一管理是操作系统中统一管理信息资源的一种软件,管理文件的存储、检索、更新,提供安全可靠信息资源的一种软件,管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用的共享和保护手段,并且方便用户使用文件系统的功能 文件的构造、命名、存取、保护等。文件的构造、命名、存取、保护等。文件系统的存储媒质 磁盘(软盘、硬盘)、光盘、磁盘(软盘、硬盘)、光盘、FLASHFLASH(盘)、(盘)、RAMRAM、R
8、OMROM、网络、网络甚至设备等甚至设备等第9页,本讲稿共112页基于NAND FLASH的嵌入式文件系统第10页,本讲稿共112页FLASH读写的特点(1 1)必须以)必须以PagePage为单位进行读写;为单位进行读写;(2 2)写之前必须先擦除原有内容;)写之前必须先擦除原有内容;(3 3)擦除操作必须对)擦除操作必须对BlockBlock进行,即一次至少擦除一个进行,即一次至少擦除一个BlockBlock的内容的内容 针对这种情况,将针对这种情况,将FlashFlash的一个的一个PagePage定为定为1 1个扇区,将其个扇区,将其1 1个个BlockBlock,3232个扇区定为一
9、个簇,这样,簇的容量刚好为个扇区定为一个簇,这样,簇的容量刚好为512512323216K16K,满,满足足FAT16FAT16对簇大小的要求对簇大小的要求 第11页,本讲稿共112页FLASH文件系统的要求(1 1)掉电安全:掉电安全:嵌入式系统的运行环境一般比较恶劣,但同时又要求有较高的可靠嵌入式系统的运行环境一般比较恶劣,但同时又要求有较高的可靠性。这就对性。这就对FLASHFLASH文件系统进出了较高的要求,无论程序崩溃或系统掉电,都不能文件系统进出了较高的要求,无论程序崩溃或系统掉电,都不能影响文件系统的一致性和完整性,文件系统的写入、垃圾回收等操作对系统异常影响文件系统的一致性和完
10、整性,文件系统的写入、垃圾回收等操作对系统异常中止都非常敏感,极易造成数据丢失和数据垃圾,在文件系统设计和选用时应考中止都非常敏感,极易造成数据丢失和数据垃圾,在文件系统设计和选用时应考虑;虑;(2 2)平均使用(平均使用(wear-leveling)wear-leveling):由于由于FLASHFLASH扇区的擦除次数有限制,要求能够均扇区的擦除次数有限制,要求能够均匀使用各扇区,以延长匀使用各扇区,以延长FLASHFLASH的使用寿命;的使用寿命;(3 3)高效垃圾回收(高效垃圾回收(garbage collection)garbage collection):任何存储器在分配使用一段时
11、间后,任何存储器在分配使用一段时间后,都会出现空区和碎片数据,为保证存储空间的使用率。方法是先移动扇区数据,都会出现空区和碎片数据,为保证存储空间的使用率。方法是先移动扇区数据,再擦除整个扇区;再擦除整个扇区;(4 4)低空间消耗(低空间消耗(lov overhead)lov overhead):指文件系统管理结构在指文件系统管理结构在FLASHFLASH存储器上的空间消存储器上的空间消耗,该空间用于耗,该空间用于FSFS建立,而不能用于实际数据的存储,可以提高有用数据的存储建立,而不能用于实际数据的存储,可以提高有用数据的存储空间空间第12页,本讲稿共112页FLASH文件系统的分类(1 1
12、)集中管理文件系统)集中管理文件系统特点:存储器空间的使用信息集中存放在存储器的某个地方,存储器的特点:存储器空间的使用信息集中存放在存储器的某个地方,存储器的其它区域用于存放数据,数据必须依赖关键信息区才能被索引和使用其它区域用于存放数据,数据必须依赖关键信息区才能被索引和使用缺点:需要大量缓存空间,当某扇区需要更新时,先将扇区数据备份到缺点:需要大量缓存空间,当某扇区需要更新时,先将扇区数据备份到RAMRAM中,再进中,再进行擦除操作,最后将修改后的备份写入行擦除操作,最后将修改后的备份写入FLASHFLASH,难以保证掉电安全,不能均匀使,难以保证掉电安全,不能均匀使用存储器空间,特别是
13、关键信息区,对文件系统的使用都会改写该区,导致用存储器空间,特别是关键信息区,对文件系统的使用都会改写该区,导致FLASHFLASH快速损坏;快速损坏;第13页,本讲稿共112页FLASH文件系统的分类(2 2)线性文件系统)线性文件系统概述:每个文件相关的信息都连续存放在存储器中,实现简单,读写快速,文概述:每个文件相关的信息都连续存放在存储器中,实现简单,读写快速,文件系统的关键信息分布存放;件系统的关键信息分布存放;优点:安全性好;能保证存储器的平均使用,延长了优点:安全性好;能保证存储器的平均使用,延长了FLASHFLASH的使用寿命;的使用寿命;缺点:对文件操作效率低,不易实现添加、
14、插入、剪切等操作;缺点:对文件操作效率低,不易实现添加、插入、剪切等操作;第14页,本讲稿共112页FLASH文件系统的分类(3 3)日志文件系统)日志文件系统概述:日志结构的文件系统使用顺序的、只增的日志作为磁盘上唯一的组织文概述:日志结构的文件系统使用顺序的、只增的日志作为磁盘上唯一的组织文件系统数据的结构件系统数据的结构,文件的描述可以仍采用传统的索引组织方式。方法是在文件的描述可以仍采用传统的索引组织方式。方法是在内存中将几次内存中将几次 FS FS的修改汇集成一个大的日志条目的修改汇集成一个大的日志条目(被称为段映像被称为段映像),),然后动然后动态分配磁盘空间并通过一次写操作写到磁
15、盘上的一个连续的、固定大小的日态分配磁盘空间并通过一次写操作写到磁盘上的一个连续的、固定大小的日志段志段(Segment)(Segment)中。并定时或当系统发出同步写请求时保证日志同步写到磁中。并定时或当系统发出同步写请求时保证日志同步写到磁盘上;盘上;优点:恢复快速优点:恢复快速不会产生丢失的簇、也不会因为掉电而破坏文件系统。不会产生丢失的簇、也不会因为掉电而破坏文件系统。第15页,本讲稿共112页几种开源的文件系统第16页,本讲稿共112页jffs/jffs2jffs/jffs2文件系统的优缺点文件系统的优缺点lJFFS(Journaling Flash File SystemJFFS(
16、Journaling Flash File System)概述:由瑞典概述:由瑞典AxisAxis通信公司开发的文件系统,主要针对通信公司开发的文件系统,主要针对NORNOR型型FlashFlash存存储器设计,提供了掉电安全,平均使用等特性,是基于储器设计,提供了掉电安全,平均使用等特性,是基于LinuxLinux,由,由于遵循于遵循GPLGPL开放源代码,易实现移植;开放源代码,易实现移植;l日志文件系统日志文件系统l提供了更好的崩溃、掉电安全保护提供了更好的崩溃、掉电安全保护ljffs2jffs2支持对支持对flashflash的均匀磨损的均匀磨损l在扇区级别上执行闪存擦除写读操作功能较
17、好在扇区级别上执行闪存擦除写读操作功能较好l文件系统接近满时,文件系统接近满时,JFFS2 JFFS2 会大大放慢运行速度会大大放慢运行速度垃圾收集垃圾收集第17页,本讲稿共112页NandNand上上yaffsyaffs文件系统的优势文件系统的优势l专门为专门为Nand flashNand flash设计的日志文件系统设计的日志文件系统ljffsjffsjffs2jffs2不适合大容量的不适合大容量的Nand flashNand flashljffsjffs的日志通过的日志通过jffs_nodejffs_node建立在建立在RAMRAM中,占用中,占用RAMRAM空间:对于空间:对于128M
18、B128MB的的NandNand大概需要大概需要4MB4MB的空间来维护节点的空间来维护节点l启动的时候需要扫描日志节点,不适合大容量的启动的时候需要扫描日志节点,不适合大容量的Nand Nand flashflashlFATFAT系统没有日志系统没有日志第18页,本讲稿共112页FAT文件系统的发展DOS 1.0(1981)DOS 3.0(1984)Win 95(1995)Win 95 Osr2(1996)Win 98(1998)Win 3.1(1992)FAT12FAT16VFATFAT32第19页,本讲稿共112页FAT12/FAT16/FAT32的比较FAT12FAT16FAT32Si
19、ze of FAT entry12 bits16 bits32 bitsMax num of clusters4,08665,526268,435,456Cluster size used0.5 KB-4 KB2 KB-32 KB4 KB-32 KB最大磁盘容量16,736,256(16M)2,147,123,200(2G)about 241(2T)第20页,本讲稿共112页FAT16文件系统基本结构lFAT 文件系统由下面四部分组成文件系统由下面四部分组成l保留区保留区 Reserved regionl存放引导记录,存放引导记录,BIOS信息等信息等lFAT 区区lFAT信息列表信息列表(1
20、2/16/32 bits)l根目录区根目录区l目录信息列表目录信息列表(32 bytes)l文件和目录区文件和目录区l存放簇信息存放簇信息reservedFAT(p)FAT(b)Root dirFile and directory 第21页,本讲稿共112页保留区 Reserved Regionl引引导记录l基本信息基本信息 l引导代码引导代码lBIOS参数块参数块(BPB)l字节字节/扇区扇区(512,1024,2048,4096)l扇区扇区/簇簇(1,2,4,8,16,32,64,128)l根目录数根目录数l总扇区值总扇区值l介质类型介质类型(硬盘硬盘,软盘,软盘,FLASH)reserv
21、edFAT(p)FAT(b)Root dirFile and directory 第22页,本讲稿共112页FAT 区l通常有通常有 FAT(P)(primary)和和FAT(B)(backup)l每一每一个个簇都有一簇都有一个个对应的的FAT目目录Cluster 2Cluster 3Cluster n-1Cluster nFAT数数据据区区reservedFAT(p)FAT(b)Root dirFile and directory 第23页,本讲稿共112页lFAT 链表链表(FAT16)目目录树第24页,本讲稿共112页典型FLASH文件系统的结构系统纪录系统纪录(SR,System Re
22、cord)文件分配表文件分配表(FAT,File Allocation Table)文件登记表文件登记表(FRT,File Register Table)数据区域数据区域(Data Area)(1)系统记录(SR,System Record)存放媒质信息和最重要的文件系统信息。媒质信息诸如存放媒质信息和最重要的文件系统信息。媒质信息诸如FlashFlash存储器的存储器的类型、容量,划分成多少个区块,每区块包含多少个页面等。文件系统信息类型、容量,划分成多少个区块,每区块包含多少个页面等。文件系统信息包括版本信息、保留区块的数目和位置、文件分配表和文件登记表所在的位包括版本信息、保留区块的数目
23、和位置、文件分配表和文件登记表所在的位置和大小、数据区域的位置和大小等。置和大小、数据区域的位置和大小等。(2)文件分配表(FAT,File Allocation Table)存放着存放着FlashFlash存储器上所有区块的占用与空闲情况以及每个文件的存储连接结存储器上所有区块的占用与空闲情况以及每个文件的存储连接结构。采用构。采用FAT16FAT16文件格式文件格式第25页,本讲稿共112页(3)文件登记表(FRT,File Register Table)存放着存放着FlashFlash文件系统中每一个文件的文件代号、文件长度、文件文件系统中每一个文件的文件代号、文件长度、文件属性以及该文
24、件的存储链在文件分配表中的入口。属性以及该文件的存储链在文件分配表中的入口。(4)数据区域(Data Area)用于存放文件的数据内容。本用于存放文件的数据内容。本FlashFlash文件系统中,数据分配的最小文件系统中,数据分配的最小单位是单位是FlashFlash存储器的一个基本擦除单元,即一个物理区块(存储器的一个基本擦除单元,即一个物理区块(BlockBlock)。)。FLASH文件系统的结构第26页,本讲稿共112页文件系统的实现FILE结构体typedef structU8 BufferBLOCK_SIZE;/文件缓冲区文件缓冲区U32 fileblock;/文件当前的簇的位置文件
25、当前的簇的位置U32 filemode;/打开文件的模式打开文件的模式U32 filebufnum;/文件缓冲区中已经读取文件缓冲区中已经读取/写入的写入的字节数字节数U32 fileCurpos;/读写的当前位置读写的当前位置U32 filesize;/文件的大小文件的大小FILE;第27页,本讲稿共112页与FLASH存储器的接口函数块擦除块擦除unsigned char Erase_Cluster(unsigned int cluster)页写入页写入int WritePage(unsigned int block,unsigned int page,unsigned char*pPag
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统设计与实例开发 2精 嵌入式 系统 设计 实例 开发
限制150内