VDK与嵌入式文件系统的投入使用
Blackfin(BF)系列DSP是ADI公司和Intel公司共同开发的DSP,采用了一种新型结构MSA.BF系列中的BF537具有较块的运算速度和丰富的接口资源,长于控制和视频图像处理,且其带有符合IEEE 802.3规范的以太网控制器,如果在BF537中移植带有LwIP协议栈的VDK工程,并利用网络芯片对537进行扩展,就能便捷地实现嵌入式系统与因特网的通信。 由于低功耗、数据非易失、存储速度快、存储密度大等优点,Nand Flash在闪存行列中脱颖而出,常被用作大容量数据的存储媒质。随着存储系统容量和存取速度的不断提升,构建嵌入式文件系统来实现存储系统中数据的管理。 1 VDK与嵌入式文件系统1.1 VDK简介 VDK(Visual DSP Kernel)是ADI公司针对Blackfin系列DSP处理器特别开发的"小而健壮"的轻量级内核,特别适合编写需要精确控制的代码,是一个提供了丰富的API函数库,同时支持轻量级IP协议栈(LwIP)的RTOS。 VDK功能全面,具有线程、信号量、事件与事件位、消息、关键域与禁止调度域等特征。内核通过协同多任务和时间片轮转的方式来管理和协调线程,这种方式称为"调度".VDK运用程序可分为两部分:线程域和中断域。线程域中的调度称为"软件调度",由内核完成;中断域中的调度称为"硬件调度",由中断控制器完成。后者的优先级高于前者,而设备驱动是两者沟通的桥梁。 然而VDK只是一个"裸核",不提供文件系统的支持,如果需要基于VDK实现文件系统,用户必须自己编写各种接口函数的代码。 1.2 基于Nand Flash的嵌入式文件系统简介 Flash文件系统主要有开源的和商业的两类。开源的Flash文件系统,有JFFS、JFFS2、YAFS等。JFFS采用高效的日志文件系统,具有掉电安全、脏块回收、磨损均衡等特性,主要用于嵌入式Linux.Red Hat公司后来在JFFS基础上进行升级,发展出JSSF2.JSSF2采用哈希表的日志节点结构,加快了节点的操作速度。YAFFS也是基于日志结构的文件系统,相比JFFS,YAFFS减少了一些功能,但降低了内存占用率,提高了访问速度。 商业Flash文件系统主要有TrueFFS和TransacTIONFFS.前者用于仿真硬盘驱动,利用冗余数据结构保证可靠的数据操作,并能均匀使用Flash.后者使用事务记录方案,运用程序可通过FAL访问文件系统。 2 嵌入式系统的硬件平台基于BF537的嵌入式系统硬件平台的框图如图1所示。
图1 嵌入式系统硬件平台 LAN8187用于对BF537的以太网控制器进行扩展,使其能够通过以太网络与上位机进行通信。 BF537外挂了两片Nor Flash芯片作为其异步外存。程序Nor Flash用于存储运行程序代码,数据Flash主要用于存储文件系统运行所需的数据,例如文件目录表、地址映射表等。XC4VFX100用于处理数据流的速度、解析和转发BF537的命令,配合BF537对存储阵列进行管理。
|