90 likes | 277 Views
uC/OS-II 操作系统的文件驱动开发应用实验. 一、实验目的. 学习使用文件相关的 API 函数,了解在 uCOS-II 操作系统上扩展文件系统的情况. 二、实验内容. 通过使用开发平台提供的 API 函数,打开一个保存在 FLASH 海量存储器中的英文文本 文件,将其文件内容输出显示在液晶屏上。. 三、实验原理.
E N D
一、实验目的 • 学习使用文件相关的API 函数,了解在uCOS-II 操作系统上扩展文件系统的情况
二、实验内容 • 通过使用开发平台提供的API 函数,打开一个保存在FLASH 海量存储器中的英文文本 文件,将其文件内容输出显示在液晶屏上。
三、实验原理 • uCOS-II 操作系统本身并没有文件系统,不支持文件相关的管理功能。在将uCOS-II 操作系统移植到ARM 嵌入式开发平台时参考YAFFS(yet another Flash File System)为该系统扩展了一个简单的文件系统,从而使该操作系统功能更强大,也符合实际嵌入式产品开发的需要。开发平台的硬件中有一片容量至少64M 的NAND FLASH 存储芯片作为嵌入式设备的固态数据存储器,或称为电子硬盘。该存储器由文件系统管理,在文件系统的功能函数与FLASH芯片之间有相关驱动程序实现高层系统功能和底层具体硬件的数据交换。
实验原理 • YAFFS 是一个专为Nand flash 设计的文件系统,不同的文件系统提供不同的访问方式对于各种flash 类型。nor 型flash 和nand flash 的约束条件是不同的,很容易使人产生错觉是适用于nor flash 的文件系统同样也适用于nand flash,这是一个误区。 • nand flash 设备驱动,经常使用fat 格式的文件系统。fat 文件系统不很健壮,也不适用于flash。块驱动提供逻辑层到物理层的映射来模拟可重写的磁盘扇区。与所有的fat 文件系统类似,他们容易崩溃。
实验原理 • JFFS 和JFFS2 对nor flash 的支持很好。他们都是基于日志文件系统的。因此更为健壮。这对嵌入式系统来说很重要。JFFS 的缺点是引导的flash 检测时间较长,文件系统对ram 的占用较多。而YAFFS 文件系统就克服了以上的缺点。因此他:专为NAND 设计,系统健壮节省ram,启动时间短。
实验原理 • 本实验用到的对yaffs 文件系统操作的函数有下面几个,fopen ()函数以指定模式打开文件;fRead ()函数读取已打开文件数据到指定缓冲区;fWrite()函数将指定缓冲区的数据写入到文件;readline ()函数读取文本文件的一行字符;fClose()函数关闭文件,释放文件缓冲区
四、实验步骤 • 1、通过PC 机串口向开发平台的FLASH 存储器复制一个小体积文本文件。 • 2、新建工程,将“Exp13 文件的使用”中的文件加入工程。 • 3、打开Main.c 文件,编辑Main_Task 任务中的代码,打开上述的文本文件,逐行读取文件,并显示在液晶屏上。具体的流程如图所示: • 4、用ARM ADS1.2 编译、下载并调试上述程序,检查运行结果。 • 5、生成发行版本的.bin 文件,通过串口下载到嵌入式开发板中,运行并检查输出结果。
思考题 • 1.PC 机上的文件系统原理是怎样的?PC 机的启动过程是怎样的? • 2.如何在应用程序中把采集的数据用文件形式保存到FLASH