Flash文件系统

2024-06-12

Flash文件系统(精选五篇)

Flash文件系统 篇1

1 Flash存储器

目前Flash被用来作为机顶盒中存储程序和用户数据的主要存储设备。最常见的flash设备为NOR Flash和NAND Flash。如表1所示Nand Flash和Nor Flash的性能对比。Nand Flash和Nor Flash最大的区别的总线接口。Nor Flash使用类似SRAM的地址数据总线,而Nand Flash使用复用I/O口和一些附带的控制引脚。因此Nand一种适合大存储量应用的顺序存储设备,而Nor Flash一般用于核心代码的存储和执行是一种随机存储设备。Nand Flash中的代码不能直接执行需加载到内存中,而Nor Flash支持在片内执行。

2 JFFS2文件系统

JFFS2(Journaling Flash File System Version2)[3]是建立在JFFS文件系统之上的系统。JFFS是一种专门针对Nor Flash设备设计的日志结构文件系统。该文件系统可以自动实现静态和动态的平均读写,但该架构的主要缺陷是过于频繁的执行擦除操作,很快便会耗尽Nor Flash的可擦除次数即寿命。JFFS2是为Nand Flash设计的,并改善了压缩性能,去掉了JFFS中的循环日志,重新实现了底层算法。JFFS2是基于Linux下的MTD驱动层的,是可读写、可压缩、基于哈希表的日志文件系统,其提供了断电安全保护,支持损耗均衡即写平衡。JFFS2定义了多种节点,文件系统的数据和元数据信息都通过节点这一结构存储到flash中。各种节点都有一个统一的头(header)。该头包括4部分信息:魔数(2Bytes),节点类型(2Bytes),节点长度(4Bytes),节点头部CRC校验值(4Bytes)。由于JFFS2在flash上没有物理超级块,它进行挂载文件系统的时候需要遍历flash存储区的所有数据节点,为flash上的各个数据jffs2_raw_inode和jffs2_raw_dirent创建相应的内核描述符jffs2_raw_node_ref,为各个文件创建内核描述符jffs2_inode_cache,并通过该描述符实现文件与其数据之间的映射。最后将其关系组织到一张哈希表中。正因为JFFS2挂载时需要扫描整个flash,当flash的容量很大时,挂载时间变得让人难以介绍。JFFS2比较适合小flash的应用场合。

JFFS2创建了3个列表用于存放flash中的各个块。分别为clean列表,free列表,dirty列表。其中clean列表中的块全部为有效节点,dirty列表中的块至少有一个是废弃节点,free列表是曾经执行过擦除操作,且可以使用的块。其垃圾收集算法根据概率从clean列表或dirty列表中选择,概率分别为0.01和0.09。该算法支持静态平均读写。其块管理和垃圾收集算法如图1所示。

3 UBIFS文件系统

UBIFS(Unsorted Block Images File System)[4]是由诺基亚工程师等开发的新型flash文件系统。JFFS2工作在MTD层上,而UBIFS则工作在UBI卷上,不能直接对MTD设备进行操作,而UBI卷工作在MTD层上。因此UBIFS设计了三个子系统:MTD子系统,UBI子系统,UBIFS子系统。其中MTD子系统提供了对flash芯片的访问接口,MTD子系统可以抽象到/dev目录下,在linux应用程序中直接使用open(),write(),read(),ioctl()等低级文件输入输出函数访问MTD子系统抽象过的各个实际硬件驱动。如可以直接调用ioctl()对flash进行擦除等操作。当然直接进行MTD操作很比较原始和粗糙的,没有考虑Flash的诸多特性,可能造成对某个区不断的擦写从而导致其寿命耗尽。而使用MTD层及UBI层之上的UBIFS文件系统则可最大限度的发挥Flash的性能,延长其使用寿命。

UBIFS及UBI子系统中的关键结构体是实现优化Flash性能的关键。如UBI擦除计数头ubi_ec_hdr(64B)其中的ec域记录该逻辑块被擦除过的次数。这是实现均衡擦写的一个关键数据。UBI卷标识头ubi_vid_hdr描述逻辑块LEB的信息,如其中定义的相关成员能处理一块逻辑块LEB对于两个物理块PEB的相关信息。Ubi_device定义了UBI卷,该过程是由MTD分区与UBI卷连接的过程。UBI初始化的时候Ubi_init→ubi_attach_mtd_dev→attach_by_scanning→ubi_scan。其中的相关结构体有ubi_scan_info,ubi_scan_leb,ubi_scan_volume。在实际使用中可以使用mtdutils工具编译生成相应的工具。如ubiformat,ubiattach,ubidetach,ubinfo,ubimkvol等。在一个支持UBI的Linux系统中将上述工具放到相应目录下,便可进行UBI的相关操作了。如flash中的data mtd分区是用于存放数据的空的分区,可以用如下的方法创建UBI卷并以UBIFS的格式挂载到文件系统上。实现UBIFS文件系统的操作。1.Cat/proc/mtd查看data对于的分区号,如为mtd6。2.用ubiformat–y/dev/mtd6格式化data mtd分区。3.Ubiattach–m 6将mtd6关联到ubi子系统,根据当前是否挂载有其他的mtd分区,产生一个对于的ubi设备,如之前没有其他mtd被关联到ubi,则在/dev目录下出现ubi0设备。4.Ubimkvol/dev/ubi0–N dataname–s 50MiB对一个新的ubi0创建卷,其中规定了卷的名称,大小一个ubi0可以创建多个卷,只要有足够的逻辑块LEB。5.mount–t ubifs ubi0:dataname/mnt创建好卷后便可以ubifs格式挂载到相应的挂载点。这时便可进到/mnt进行相应的操作。由于挂载的时候没有选择是同步还是异步。默认是异步的。有可能存入数据时ubifs未来得及刷新,造成数据并未真正的写到flash中。因此在操作完后可以使用sync命令同步一下数据。将数据刷到flash中。在应用程序的编程中除了使用fflush()外还要要使用fsync()函数,将数据刷到flash中。这是UBIFS最需要注意的。

4 机顶盒Flash和文件系统的选用

由上述分析可知Nor Flash能进行片上执行代码,因此可以考虑将机顶盒的boot程序放在Nor Flash上,由于Nor相较Nand单比特的价格昂贵,这里选用1M的Nor Flash存放boot已经相关的启动参数,机顶盒的MAC地址,节目参数等关键数据。另外由于高清机顶盒的硬件配置需求,选用128M的Nand flash作为应用程序及其他用户数据的存储设备。由于JFFS2最初是为32M的flash设计的文件系统,在较大的flash上性能不佳。其挂载时间跟flash大小成线性相关,因此在大容量的flash上启动需要花较长的时间,而UBIFS的挂载不依赖与flash的大小,虽然UBI需要检查flash,但它的速度比JFFS2的检查要快,因此UBIFS在挂载上有较好的性能。此外UBIFS的压缩同时支持zlib和lzo能取得较好的压缩比。因此考虑在高清机顶盒中使用UBIFS文件系统。因为选择使用双片flash存储数据。在Linux下对两片flash的操作行为是有些不同的。UBIFS不能用于Nor flash的操作,可能会遇到无法驱动Nor Flash的情况。

5 Flash驱动

一般flash的驱动主要要理解flash的特性,即对已经进行过写操作的区,再次写入之前需要进行擦的操作。具体的flash实现可以参照相关flash数据手册,按照上面的时序操作即可。一个在Linux下开发时,不需要重新编写驱动程序。如,系统无法识别某个型号的Nor Flash,这时可以查看内核下面/drivers/mtd/devices/m25p80.c的代码,添加相应的JEDEC ID到m25p_data结构体,使得Linux能够识别该flash。这样在Linux下便可使用read(),ioctl(),open()等函数调用底层驱动函数,从而实现flash的读写操作。此外,还可使用mtdutils下集成的mtd库函数,对相应的flash分区进行操作。如libmtd_open,mtd_get_dev_info,mtd_erase,mtd_read,libmtd_close等。

6 结束语

在MIPS平台上实现高清机顶盒UBIFS文件系统应用。该系统的分具体分区为:/dev/mtd0 boot分区(Nor),/dev/mtd1启动参数分区(Nor),/dev/mtd2 kernel分区(Nand),/dev/mtd3 app分区(Nand),/dev/mtd4 loader分区(Nand),/dev/mtd5 data分区(Nand),/dev/mtd6 logo分区(Nand)。使用mtdutils中的代码,在mipsel-linux-gcc交叉工具链下编译生成mkfs.ubifs和ubinize等工具制作ubifs image。将相应的数据烧写到相应的区中,在boot中直接选择开机挂载ubifs文件系统,机顶盒软件运行良好,数据存储稳定。经多次意外掉电后,均能良好的掉电恢复,原始数据完整未丢失。

参考文献

[1]赵坚勇.数字电视技术[M].西安:西安电子科技大学出版社,2011.

[2]廖洪涛.数字电视业务支撑系统[M].北京:电子工业出版社,2011.

[3]David WoodHouse.JFFS:The Journalling Flash File System[C].The Ottawa Linux Symposium,2001.

Flash文件系统 篇2

在开发DSP的应用程序过程中,经常需要处理一些数据文件。这些数据文件可以是实际采集到的数据集合,也可以是用模拟仿真软件产生的数据集合,一般是以文件的形式存放在主机磁盘上的。一般的开发环境(如TI的CCS和CC)都提供了ANSI C标准操作文件格式,如打开一个文件fopen(“盘符:路径文件名”,“打开模式”)。嵌入式系统一般都外挂Flash。我们希望能够和读写主机磁盘文件一样操作Flash读写时序等问题,使应用编程人员可以把精力用在解决实际应用问题上,从而提供一个良好的编程接口。同时,在需要键盘、串口等设备的系统中,也希望提供一个简易的API接口,如从键盘得到一个键,只需作如下操作,在执行fopen(“keyboard”,“读”)后,就可以用fread函数读入一个字符。

结合TI公司提供的DSP开发环境CC/CCS(CC针对3X系列,CCS针对5X和6X系列)和实际开发经验,提供上述问题的解决方案,并成功应用到我们的产品中。

2 CC/CCS文件操作机制

TI公司为其TMS320C3X系列DSP提供了一个开发环境Code Composer,配套的C语言编译器提供了文件的标准操作。在调试(debug)环境下,对主机(host)硬盘文件的操作是通过标准的ANSI文件操作格式与主机的通信来完成的。ANSI C I/O操作分为三个等级―high level、low level和Device level。在High level中,标准接口是Fopen和Fwrite等函数;而Low level中是Open和Write等函数。这三个等级功能用三个表来实现―文件表、流表(实质就是内存缓冲区索引)和设备表。文件的打开和关闭等基本属性在文件表中反应。当打开一个文件时,文件表中便相应增加一个描述该文件的信息单元;同样,关闭一个文件时,该文件的信息单元从文件表中被删除。流表提供了对文件的缓冲操作处理,缓冲区位置和大小等均在流表中记录。一个文件对应一个流,即缓冲区。对文件的读写就是对缓冲区的读写。当缓冲区填满时,再一次性写入Flash等设备中,避免了对Flash的频繁操作,延长了Flash的使用寿命。设备包括Flash、硬盘、键盘等在设备表中体现。多个流可以对应一个设备,例如在Flash中可以打开多个文件,但是一个设备不能对应多个流。流操作和设备操作是紧密联系在一起的。当打开一个文件时,同时给出了该文件在什么设备上操作,再分配一个流。以后对该文件的操作通过流对应的具体设备的驱动函数来完成。主机的target任何外设都可被加入进去成为设备表的成员之一。

Flash文件系统 篇3

关键词: 记录系统; Flash芯片; USB接口; 无效块管理

中图分类号: TJ760.3; TP216.2文献标识码: A文章编号: 1673-5048(2016)05-0077-04

Abstract: In order to meet the requirement of recording system used in airtoair missile such as large capacity and high rate data, the design method of recording system for airtoair missile based on flash chip is introduced. The system takes the FPGA chip as the control core, through the parallel bus operation, pipeline operation and other technologies to achieve highspeed data storage, and the download software is used to achieve the fast download of data. This system has the advantages of high storage rate, high reliability and good expansibility.

Key words: recording system; flash chip; USB interface; invalidblock management

0引言

随着空空导弹的发展, 弹载记录系统在空空导弹研制过程中的作用越来越重要, 对弹载记录系统的要求也越来越高, 高速、 大容量是目前弹载记录系统的发展趋势。 已应用到弹载记录系统中的控制电路有PC104 CPU控制板、 FPGA和单片机(MCU), 存储器有EEPROM、 DOC(Disk on Chip)、 CF卡存储器和电子硬盘[1]。 但受采样速率、 存储容量、 价格成本等限制, 已无法满足未来弹载记录系统的需要。

近年来, 闪速存储器(Flash Memory)作为固态存储器以其独有的特点得到越来越广泛的应用, 其具有抗振动、 存储密度大、 可擦写、 非易失、 环境适应能力强以及命令、 地址、 数据线复用和接口便利等特点[2], 并且还有擦写速度快、 单位存储容量价格低和可靠性高等优点。

基于上述原因, 设计了一种基于Flash芯片的弹载记录系统, 采用高速大容量Flash Memory芯片作为存储器, 通过FPGA芯片作为控制和缓冲, 完成高速大容量数据的存储, 并通过高速USB接口进行数据下载。

1系统组成

某项目对记录系统的采集要求如下:

(1) 采集信号: 图像信号、 模拟信号、 422信号;

(2) 采集速率: 不小于13.5 MB/s;

(3) 记录时间: 不小于1 h;

(4) 下载速度: 不小于10 MB/s。

记录系统主要由输入接口电路、 二次电源电路、 FPGA芯片、 Flash存储阵列、 USB下载接口电路和下载软件等组成, 系统原理框图如图1所示。

航空兵器2016年第5期王晖: 基于Flash芯片的弹载记录系统设计FPGA芯片是记录系统的核心, 其产生的控制时序控制交换子、 A/D转换器和Flash存储阵列等协调有序工作, 准确采集数据并按照规定的帧格式将数据写入Flash芯片。 在数据下载时将Flash芯片中的数据写入USB接口芯片的FIFO中, 通过USB接口传输给计算机。

2主要技术

由于NAND型Flash芯片本身存在写入带宽低、 写入速度慢、 存在无效块等缺点, 因此必须通过合理设计和有效控制逻辑来克服上述缺点。 可以采用并行总线技术、 流水线编程技术来增加带宽、 写入速度和容量; 通过建立无效块管理表, 避免对无效块的操作; 通过USB接口设计、 多线程数据下载技术来提高数据下载速度, 从而实现高速、 大容量数据的可靠存储。

2.1并行总线处理技术[3]

采用Micron公司的NAND型高速大容量固态存储芯片MT29F64G08AJABA[4], 该芯片单片容量为8 GB, 页面(Page Size)大小为(4 K+224)Byte, 页面编程时间 (Page Program Time)典型值为230 μs, 块大小(Block Size)为(5 124 K+8 K)Byte, 块擦除时间(Block Erase Time)典型值为700 μs, 单片芯片的数据写入速度约为5 MB/s。 该芯片只有8个I/O管脚, 命令、 地址和数据是通过分时复用来完成不同操作的, 通过控制信号区分命令和地址。

Flash芯片的传统操作方式是存储完一片Flash芯片后, 再进行下一片Flash芯片的操作, 存储速度约为5 MB/s, 无法满足高速数据的存储要求。 通过并行总线处理技术可以很直观地提高存储速度, 即将N片Flash芯片并联起来, 使用相同的控制线、 片选线和读写信号线, 构成Flash存储阵列, 以此来提高系统读写带宽和读写效率。

所设计的Flash存储阵列采用4片Flash芯片并联, 使用相同的控制线、 片选线和读写信号线, 构成一个32位带宽的芯片组, 将4个芯片组串联构成一个存储速度20 MB/s以上、 容量128 GB的存储阵列, 能够满足弹载记录系统高速、 大容量数据存储要求。

2.2流水线编程技术

MT29F64G08AJABA的内部由2片4 GB的Target(Target1, Target2)构成, 通过片选信号CE1/CE2进行选择控制, 为提高Flash芯片的存储速度, 可以采用流水线操作技术, 即时间复用。 数据存储时对Target1, Target2进行乒乓操作, 当Target1加载完一页数据后, 即进入自动编程状态, 这期间不能进行其他操作, 只有当编程结束后, Target1恢复空闲状态, 才能进行下一页数据的加载。 在Target1编程期间, 同时对Target2执行下一页数据的命令、 地址和数据加载。 当Target2编程期间, 同时对Target1执行一页数据的命令、 地址和数据加载。 依次递推, 可以实现对页编程时间复用, 提高存储速度。

在设计中, 单片Flash芯片的存储速度约为5 MB/s, 运用流水操作技术的Flash芯片存储速度将是单片Flash芯片存储速度的2倍, 可达10 MB/s以上, 同时结合并行总线处理技术, 能够满足弹载记录系统高速数据的存储要求。

2.3Flash芯片无效块管理

无效块是指包含一位或者多位无效位信息的存储块[5], Flash芯片在出厂时就可能存在无效块, 无效块不允许进行擦除和编程操作, 因此在Flash芯片操作过程中, 需要建立一个无效块管理列表, 将芯片内部的所有坏块信息写入列表中。 出厂时本身含有的无效块厂家已经标明, 通过读取每块第一页和第二页的第4 096个字节来进行判断, 如果均是“FFh”, 则认为是有效块, 否则认为是无效块[6]。 无效块的判断逻辑见图2。

无效块管理是在FPGA芯片内部开辟一个专门存储无效块信息的RAM, RAM的每个数据位与Flash芯片的每块一一对应, “1”代表有效块, “0”代表无效块。 在对Flash芯片的每一块进行操作之前, 需要先读取RAM中对应此块地址单元的信息, 如果发现是无效块就跳过不进行操作, 然后再进行下一块的判断, 直至找到有效块时再进行操作。 无效块判断流程见图3。

设计中, Flash存储阵列的无效块信息存储在Flash芯片第一块第一页中, 记录系统加电后, 将无效块信息读出并写入RAM中, 可以避免系统断电后无效块信息丢失。

2.4USB接口设计

记录数据的下载、 清除通过计算机、 数据处理软件和USB接口进行。 设计采用Cypress公司的通用USB2.0接口芯片CY7C68013A[7], 其内部包括USB2.0收发器、 串行接口引擎(SIE)和增强型51内核, 遵从USB2.0协议, 可提供高达480 Mbps的传输率。 CY7C68013A与外设有主/从两种接口方式, Slave FIFO是从机方式, 外部控制器可以像对待普通FIFO一样对芯片内的FIFO进行读写[8]。 主机向记录系统发出读无效块信息、 读工作信息、 读数据、 擦除等操作命令, FPGA芯片根据命令进行相应的操作, 命令及其描述如表1所示。

2.5多线程数据下载

数据下载中首次使用多线程技术完成USB缓冲区的数据读写功能, 数据下载时, 调用读线程下载USB缓冲区的数据, 通过信号量控制写线程处于等待状态; 当下载的记录数据量达到预先设定的存储文件大小时, 运行写线程完成存储文件的功能, 同时继续读线程完成数据下载。 和单线程读写数据文件相比, 读线程和写线程可同时运行, 节约了单线程读写文件时需要等待完成写数据的时间, 减少了数据下载时间, 提高了程序运行效率。

3FPGA设计

FPGA芯片选择Altera公司StratixⅡ系列的EP2S60F484I4, 该芯片有48 352个ALUTs, 334个I/O管脚, 内存总量2 544 192 bits, 12个PLL, 36个DSP blocks[9], 既作为控制器产生所需的逻辑和时序, 又作为输入数据的缓存, 最后通过计算机USB接口实现人与系统的通信[10]。 输入接口数据总线、 Flash存储阵列的地址数据总线和控制总线、 USB接口的数据和控制总线都连接在FPGA芯片的I/O管脚上, 大大简化了硬件电路。

3.1缓存FIFO的实现

由于输入数据是突发式, 一段时间发送数据, 一段时间空闲, 因此需要利用EP2S60内部的M4K[11]存储块设置FIFO, 用于缓存输入数据和编排帧格式。 Flash芯片是基于页来读写的, 在每次通电写入数据前需先写入4个字节的包头, 用于区分每次通电的起始位置, 用FIFO缓存数据。

在FPGA内部开辟五块内存, 分别用于缓存模拟数据(缓存A)、 422数据(缓存B)、 图像数据(缓存C)、 合并后的数据(缓存D)以及包头数据(缓存E)。 当缓存D的数据达到预定值时, 产生标志信号, 数据存储模块根据标志信号从缓存D中读取数据, 在第一组数据前添加包头(表示每次加电的起始位置, 后续数据不加)存入缓存E, 然后再将数据写入Flash存储阵列。 当数据读完后, 标志信号消失, 直至下一个标志信号出现, 数据存储模块继续从缓存D中读取数据, 存入缓存E并写入Flash存储阵列, 如此循环。 当写满一个有效块后, 数据写入下一个有效块; 当写满一组Flash芯片后, 数据写入下一组Flash芯片, 当所有Flash芯片写满后, 系统停止记录。 在写数据的过程中, 系统自动屏蔽Flash芯片的所有坏块。 FPGA内部缓存如图5所示。

3.2Flash的控制时序

Flash存储阵列的控制时序由FPGA芯片产生, 通过片选信号选择不同组的Flash芯片, 通过读信号、 写信号、 命令使能信号、 地址使能信号控制Flash芯片进行写、 读、 擦除等操作, 以完成数据记录、 数据下载、 数据清除等功能。

Flash芯片的写操作是以页为单位进行, 首选写入命令字80 h, 随后写入5个时钟周期的地址, 并在WE的上升沿将4 096个字节的数据写入数据存储器中, 最后写入页编程确认命令字10 h以启动存储操作, 然后进入等待状态(R/B=0), 当R/B=1时表示数据写入成功, 可以进行下一次写操作。

Flash芯片的读取操作时序、 擦除操作时序与写操作时序类似, 即依次写入命令字、 地址、 确认命令字以启动相应操作, 此处不再细述。

4系统实现

设计实际实现的弹载记录系统采用4片Flash芯片(MT29F64G08AJABA)并联构成1个芯片组, 4个芯片组串联形成Flash芯片阵列, FPGA芯片采用EP2S60F484I4, USB接口采用通用接口芯片CY7C68013A, 辅以外围信号的接口电路, 系统实现的主要指标如下:

(1) 准确采集图像信号、 模拟信号、 422信号等;

(2) 存储容量: 128 GB;

(3) 存储速率: 不小于40 MB/s;

(4) 记录时间: 不小于2 h;

(5) 下载速度: 不小于20 MB/s。

5结论

简要介绍了Flash芯片在弹载记录系统的应用, 以FPGA、 Flash芯片、 USB接口芯片构成了新型弹载记录系统的核心, 设计中的记录系统具有良好的扩展性, 通过增加Flash芯片的并联数和位宽, 可以进一步提高存储速度; 通过增加Flash芯片的串联数, 可以扩展记录系统的存储容量, 以满足未来记录系统的要求。 随着NAND型Flash芯片的发展, 其在弹载记录系统中的应用将会越来越广泛。

参考文献:

[1] 王晖, 高先锋. 弹载记录系统的发展趋势[J]. 遥测遥控, 2009(4): 69-72.

[2] 胡世明, 康怀祺, 滕云龙. 高速大容量存储系统的应用设计[J].火控雷达技术, 2012(1): 34-38.

[3] 雷磊. NAND型Flash海量存储系统的设计与实现[D].北京: 北京理工大学, 2008.

[4] Micron. 16Gb, 32Gb, 64Gb Asynchronous/Synchronous NAND Flash Memory Data Sheet[Z].Boise, Idaho:Micron Technology, Inc., 2011.

[5] 陆浩, 王振占.高速大容量固态存储器设计[J].计算机工程, 2011, 37(15): 226-227.

[6] 朱知博. 基于NAND Flash的高速大容量存储系统设计[J].现代电子技术, 2011(8): 170-173.

[7] Cypress Semiconductor Corporation. CY7C68013A EZUSB FX2LP USB Microcontroller[Z].San Jose, California: Cypress Semiconductor Corporation, 2005.

[8] 李强, 伍坚, 姚冬苹. CY7C68013芯片的USB接口固件设计[J].单片机与嵌入式系统应用, 2006(10): 70-72.

[9] Altera Corporation. Stratix Ⅱ Device Handbook[Z]. San Jose, California: Altera Corporation, 2005.

[10] 韩茜, 罗丰, 吴顺君. 高速大容量固态存储系统的设计[J].雷达科学与技术, 2005(2): 110-114.

Flash文件系统 篇4

一、Flash文件在Word文档中的运用

制作多媒体课件,可以用多种软件实现,如较常用的PowerPoint幻灯片、较专业的Authorware多媒体课件制作软件及基于Web网页制作的课件。但在实际生活需要中,Word文字处理软件却是最为普遍实用的。那么Flash文件可以在Word文档中播放吗?当然可以。下面就介绍一种简单的Flash文件在Word文档中的插播方法:

新建Word (2003版)文档后,在菜单栏中选择【视图】→【工具栏】→【控件工具箱】,这时在Word文档中会出现一个【控件工具箱】的浮动窗口,再点击【其他控件】按钮,在弹出的下拉列表中选择Shockwave Flash Object选项。(如图1-1所示)

这时会看到在Word文档中多了一个用于播放Flash动画的矩形区域,在该区域中单击右键选择【属性】,在弹出的对话框中找到【Movie】选项,在该选项的文本框中输入需要播放的Flash动画文件的绝对路径及扩展名。(如图1-2所示)

然后返回,当需要播放动画时,只需在【控件工具箱】窗口中单击【退出设计模式】按钮即可。

注意:如果Word版本不同,【控件工具箱】中的【其他控件】选项可能就不显示。此时,就应点击【控件工具箱】的下三角,出现【添加或删除按钮】,再点击下三角出现【控件工具箱】选项,选择其下拉菜单中的【其他控件】选项。

选用在Word文档中播放Flash动画文件,虽很方便且操作简单,但只适用于课堂中较小的Flash文件,仅能表达比较单一的课堂内容,如钟表等,不利于表现较为复杂的知识系统和逻辑结构,所以应用范围较窄。

二、Flash文件在PowerPoint制作的课件中的应用

上面介绍的在Word文档中插播Flash文件只是在常用软件中的操作,而真正作为常用多媒体课件制作的软件则是PowerPoint幻灯片,在此环境中插播Flash文件更能增强其表现力,帮助学生理清知识结构,明确知识重点,达到多媒体课件的教学要求。下面就介绍两种插播方法:

1. 普通操作方法。

新建PowerPoint演示文稿(2003版),选择菜单栏中的【幻灯片放映】→【动作按钮】→【动作按钮—自定义】或【动作按钮—影片】均可。之后,鼠标指针变为十字形,按住鼠标左键拖出矩形为Flash影片播放区域,之后系统自动弹出【动作设置】窗口(如误将此窗口关闭,可在矩形区域单击鼠标右键选择【动作设置】),可在此窗口进行【单击鼠标】和【鼠标移过】两种动作的设置。以【单击鼠标】动作选项卡为例,选择【运行程序】,在其下的文本区输入Flash文件的绝对路径及扩展名。(如图2-1所示)

放映此幻灯片时,可以点击该动作按钮看到刚才插入的Flash文件了。

2. 将Flash文件嵌入到PowerPoint课件中播放。

“在Flash文件在Word文档中的运用”中我们提到过使用【控件工具箱】来进行Flash文件的插入播放,在PowerPoint课件中也可使用此种方法进行Flash文件的嵌入播放,更能显示PowerPoint课件强大的功能性和兼容性。

新建PowerPoint演示文稿(2003版),在菜单栏中选择【视图】→【工具栏】→【控件工具箱】,此时出现【控件工具箱】的浮动窗口,选择【其他控件】按钮,在其弹出的下拉列表中选择Shockwave Flash Object选项(如图1-1所示)。

此时鼠标变为十字形,在文稿上拖出一个与Flash文件相应大小的矩形区域。双击此区域,会弹出“工程-vbaproject”,“属性-Shockwave Flash1”,“演示文稿1-Slide1(代码)”三个浮动窗口。只需要对“属性-Shockwave Flash1”窗口中的“自定义项”操作,其他一律按照默认设置。单击【自定义项】出现【属性页】对话框,在【影片URL (M)】中输入Flash文件的绝对路径及扩展名,选择下面的【播放(P)】与【嵌入影片(E)】复选框即可,其他的可自行定义,点击“确定”按钮完成嵌入。(如图2-2所示)

也可在“属性-Shockwave Flash1”窗口中的【Movie】选项进行嵌入,即双击【Movie】选项后的文本框,输入Flash文件的绝对路径和扩展名,回到PowerPoint演示文稿放映时就可以看到Flash影片文件的播放效果。

3. 两种方法播放Flash文件时的比较。

在制作PowerPoint课件时可选用以上的两个方法播放Flash文件,但应注意:

选用方法一,在放映屏幕上,点击添加的【动作按钮】时会出现“正在打开文件可能包含病毒,并对您的计算机有害。请确认此文件夹来源可靠。是否打开此文件?”提示框,如果点击“是”,则会在屏幕上出现一个播放Flash文件的浮动窗口,不仅影响课件的整体美观,而且使播放过程不流畅,有时甚至出现课堂脱节现象,影响学生听课质量,更有可能会将病毒带入课件中,造成不必要的损失。

何为“嵌入播放”?即不另外弹出窗口,只在原有区域内进行播放。所以选用方法二,可以避免方法一当中出现的播放不流畅和课堂脱节现象,此法是在放映屏幕上直接播放Flash文件,而并非再弹出一个浮动窗口进行播放。但同时也要注意,在设置【属性页】对话框时,如果不选择【嵌入影片(E)】,Flash影片文件就不嵌入到PowerPoint课件中,而会像视频文件那样链接在幻灯片里。并且在其它计算机播放时,而需要操作Flash影片文件和PowerPoint课件在同一个文件夹中,否则会出现空白页。

一般的课堂教学时,均选择方法二———“将Flash文件嵌入到PowerPoint课件”,不仅可以提高课件的美观性,而且可以将课本内容直观且不间断的传授给学生,大大减少了学生的“走思”机会,同时也因其操作方法简单,制作出的课件可观性与生动性较强,且易于理解与掌握,而得到教师的广泛应用。

三、Flash文件在Authorware制作的课件中的应用

Authorware软件中设置了多种用于多媒体课件制作的相关选项,所以选用Authorware软件制作的课件,在表现知识系统和逻辑结构方面较PowerPoint强,不仅可以清晰地表达各个知识点间的相关联系,而且可将课件知识系统化,让学生在掌握知识时不出现间断情况,对知识可以整体把握,也可对细节着重讲解,所以Authorware是多媒体课堂少不了的一个专业型软件。下面对Flash文件在Authorware中的插播方法做一些操作说明及讨论,以便在用Authorware制作多媒体课件时能够择优使用。

1. 普通操作法———利用ActiveX控件进行Flash文件的插入播放。

此法和先前介绍的Flash文件在Word和PowerPoint课件中的插播方法有相似之处,都是利用软件中提供的控件工具来进行操作的,在此稍加说明。

新建Authorware文件(Authorware 7.0),选择菜单栏上的【插入】→【控件】→【ActiveX…】,在其后出现的【控件选择】对话框中找到【Shockwave Flash Object】选项,单击【OK】。此时在出现的对话框中,单击【Custom…】,其他选项均为默认值。出现了如图2-2所示的对话框,在【影片URL (M)】中输入Flash文件的绝对路径及扩展名,(提醒:此时选不选“嵌入”,Flash文件都将嵌入播放),单击【确定】→【OK】即可。此时运行Authorware文件就可以看到播放的Flash文件了。

2. 特殊操作法———先保存后插入。

相较于普通操作法,此法是先将新建的空白文件保存后再插入Flash文件,具体操作方法如下:

(1)新建Authorware文件(Authorware 7.0),单击工具栏上的【保存文件为】按钮,特别注意的是要将此文件的“保存类型”更改为“全部文件”而非“Authorware”。

(2)拖一个计算图标到流程线上,双击此图标,在计算编辑窗口中输入“ResizeWindow (400, 300)”,即规定flash文件出现的窗口大小(可在括号内随意定值),单击此窗口的“关闭”按钮,选择“是”进行确认。

也可以不进行窗口定义,以默认窗口为准,直接进行第(3)步的“插入”媒体操作。

(3)在流程线上的计算图标下方单击鼠标左键,选择工具栏上的【插入】选项,选择【媒体】,在其下拉菜单中选择【Flash Movie…】,流程图如3-1所示:

此时出现“Flash Asset Properties”对话框,如图3-2所示:

单击【Browse…】按钮,选择需要播放的Flash文件后单击【打开】,随即【Link File:】下的文本框中出现Flash文件的绝对路径。在此对话框中选中【Linked】、【Image】、【Sound】、【Loop】、【Direct to Screen】复选框;在【Quality】下拉列表框中选择“High”;在【Scale Mode】下拉列表框中选择“AutoSize”;在【Rate】下拉列表框中选择“Normal”;在【Scale】输入框中输入“100”,单击【OK】就完成了此Flash文件的播放属性设置。

(4)单击工具栏上的【播放】按钮,就可以看到Flash文件的动画播放。

3. 两种方法的对比讨论。

(1)从打包后的文件大小比较

以大小为17KB的Flash文件为例,选用第一种用“ActiveX控件”制作的Authorware课件,打包后整体课件的文件大小约为12.1KB,且占用内存约为16KB;而选用“先保存后插入”的方法,打包后的整体课件大小约为2.72KB,且占用内存也仅为4KB。由此看来,第二种方法较为节省空间。

(2)从打包后的文件显示效果比较

选用“ActiveX控件”制作的课件,在运行时原有的Flash文件将会缩小。在图2-2所示的对话框中,选择【品质(Q)】中的“High”或“Best”时,无论下面的【比例(S)】选“NoBorder”还是“ExactFit”, Flash文件在运行时都会缩小比例;而选择“NoScale”时,则会出现Flash文件播放图像不完整,只有一部分显示在屏幕上。

而选用“先保存后插入”的方法时,完全不需要考虑到如上的各项分类操作,即无论选择“NoScale”、“ExactFit”还是“NoBorder”、“Show All”、“Auto-Size”, Flash文件则会以原有大小显示播放。在实际操作中,可根据课件制作要求,运用控件方法截取部分Flash文件进行播放,也同样可以达到多媒体课件的动感效果。

以上是用Word、PowerPoint和Authorware三种常用软件插播Flash文件的方法介绍。可能会由于软件的版本不同造成操作失败,但最根本的方法还是利用“控件工具箱”来进行插播,可借助说明找到解决方法。以上方法虽比较简略,但技巧实用且易于掌握,将Flash文件结合到多媒体课件中,增加了课件的内容吸引力,活跃课堂教学气氛,同时也体现了多媒体教学的新颖性和实用性。但在其中选用Authorware软件来实现Flash文件多媒体课件中播放是最好的方法,不仅操作科学化,而且活跃性强,可以根据不同的需要整体或部分的播放Flash文件,这是其他软件都无法实现的,在实际课堂教学中此法更为实用,为多媒体课堂教学提供更为全面的知识表现力。

参考文献

[1]张立科, 马嘉.中文版Authorware6.5多媒体制作培训教程.人民邮电出版社, 2003.

[2]高志清.Flash动画制作零点飞跃.中国水利水电出版社, 2005.

[3]魏雪萍.新编Authorware7.0入门与提高.人民邮电出版社, 2004.

[4]宋光辉.PowerPoint中Flash动画的运用技巧.周口师范学院学报, 2005.

[5]欧晓霞.用Flash制作多媒体教学课件的方法与技巧.潍坊学院学报, 2005.

[6]舒建武.Flash课件制作的思考.浙江树人大学学报, 2005.

批量发布Flash文件 篇5

if(fl.documents.length==0){

//xmlPanel need a document, if there is none, create a temp document

tempDoc=fl.createDocument();

}

//创建操作界面

useUI = fl.getDocumentDOM().xmlPanel(fl.configURI + “Commands/PublishBatUI.xml”);

//计数

var pubNum=0;

if(tempDoc){

//close temp document

fl.closeDocument(tempDoc);

}

if(useUI.dismiss==“accept”){

//是否包括子目录

var isSubDir=useUI.cbSubDir;

//fl.trace(isSubDir);

//是否只发布更新后的

//var isOnlished=useUI.cbOnlyUnpublished;

//源文件路径

var txtPaths=useUI.tbPaths.split(“ ”);

//打开选择窗

//var folderURI = fl.browseForFolderURL(“请选择要编译的文件夹:”);

//fl.trace(folderURI)

for(var i=0; i

{

var path=txtPaths[i]=”file:///“+txtPaths[i].split(”:“).join(”|“).split(”“).join(”/“);

pubBatFla(path,isSubDir);

}

fl.trace(”操作完成,累计生成“+pubNum+”个,");

}

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【Flash文件系统】相关文章:

系统文件05-27

程序文件系统05-17

健康系统投标文件04-27

PHP文件系统06-19

系统安全文件格式06-29

自定义文件系统07-01

系统文件丢失解决方法06-29

新技术文件系统05-27

事务型文件系统06-04

基于内存的文件系统06-24

上一篇:作文教学议论下一篇:法律制度农业环境保护