首页 嵌入式开发论坛 产品介绍 技术文章 资料下载 联系方式
■技术文章
◆TCP/IP协议简介
◆51WEB简介
◆51WEB用户手册
◆51WEB命令参考
◆51WEB文件系统
◆WEBServer的实现
◆源程序结构
◆网卡驱动程序
◆IP校验算法及程序

  要实现 WEBServer,首先要解决网页文件的存放问题。我们首先来分析一下存放网页文件的需求:①网页文件根据不同的需要动态更改,②更改完后文件系统只读,很少变动其内容。这就是不必担心文件系统多次删改产生的碎片,仅需一个很少更改,高效读取的文件系统即可。这为单片机实现提供了可能,以下简要介绍作者实现简单EEPROM文件系统的思路。

  作者在EEPROM AT24C512 中实现文件系统,由于其兼作参数配置,为减少用文件配置的麻烦(这些内容不符合以上文件系统的要求),作者文件系统设计为动态定义起始地址的方法,保留一部分作系统参数配置用。我们知道,文件系统一般会将存储区分为若干最小存储单元,最小的文件或一个文件剩下的部分均要占用一个存储单元,造成存储空间的极大浪费,这对空间比较有限的EEPROM是不允许的。要提高系统读写速度,我们必须采用页操作;要减少空间浪费,我们需要记录EEPROM的占用。由于文件系统采用追加方式,只需记录EEPROM的结束地址即可。这些内容会伴随文件读写而存在,而且EEPROM不能跨页写,否则会地址回环,覆盖页面数据。作者将这些问题放在文件读写函数里一并处理,降低了操作的复杂性,取得比较满意的效果。

  任何文件系统都有文件索引(文件分配表 FAT),作者的当然也不例外。我们知道在文件系统中文件按名查找和存放,文件名千差万别,51处理能力有限,如果不作变换将造成文件处理缓慢,影响文件系统效率。作者采用了字符串HASH变换,在EEPROM中存放文件名HSAH值,将复杂的字符串比较变为简单的HASH值比较,极大提高了文件查找、读写速度。文件删除只需清除文件索引,不必清空文件内容,FORMAT命令可以清空全部文件索引。

  另外,用户可以通过TFTP协议动态更新网页文件,无须专用软件转化数据格式,极大方便了用户使用。

版权所有©2003, E-Mail:mcuweb@21cn.com
粤ICP备05071986号