2008/09/06
和FTP没有太大不同,不过100-200次/秒的连接需要大内存、高速处理能力,不然慢得要死。
还有,要省电无噪声最好用CF/SD/NAND flash等存储设备,不要用硬盘,而这些设备会出现坏块,使用寿命有限,那么最好再加上TFFS文件系统,将这些器件虚拟成类FAT块设备,满足写平衡和坏块管理要求,TFFS对上层软件透明,使用方便,大大延长flash盘使用寿命。
当然,如果对性能有更高要求,那么最好在RAM里面使用RAMFS文件系统,比如使用1G的DDRII虚拟RAM盘;或者,挂装SATA接口的大容量iRAM-2盘,这样就不用担心磨损硬盘的问题了,并且处理效率很高。
BT最主要的特点就是上传下载需要开很多socket连接,RAM占用量比较大;拼接文件片段需要反复读写存储盘,此时需要好的CACHE管理(FAT表 + 数据块),增加命中率;计算校验码,编解码需要较高的系统性能。可见要想做好BT传输,需要使用大的RAM;高性能的文件系统(或者直接使用RAM盘)和CPU处理器。ecos支持大量体系架构,可以方便地在各种高性能CPU上移植,另外ecos也支持DMA/MMU/CACHE和丰富的FS类型。
在ecos上实现BT下载,需要完成以下步骤: 1、选择组件仓库里的PPP、PPPOE组件,OPENBSD协议栈; 2、选择RAMFS、FAT、TFFS文件系统; 3、用CGI实现web管理界面(IP设置/网络服务选项/帐号安全/休眠管理/磁盘工具/智能风扇控制/BT设置等); 4、启用ecos电源管理,进一步降低功耗; 5、实现FTP/NFS/File/Printer服务器、BT/eMule、MP3/APE/FLAC播放、U盘设备、USB主机驱动(读卡器/闪盘/移动硬盘/数码相机) 6、其他:实现高清播放、遥控器等。
软硬件工程量比较大,可以先实现BT功能,等到稳定了,然后再慢慢增加界面等其他辅助功能。
使用SMARTARM2200的用户可以尝试做个BT下载机(EASYARM2200内存太小实现不了),速度比较慢,但功能绝对可以实现。一般家用的都是2M的ADSL,所以,效果还凑活吧。当调试稳定BT下载后,再增加CGI界面管理等功能。如果对性能不满意,还可以平滑移植到其他更强大的32位处理器上。
软件设计和硬件设计参考相关文档。
更多内容,详见: 《培训系列“丛书”》 www.armecos.com ----------------------------------- More details, see: 《"Series Books" of Training》 www.armecos.com |