搞了很久的一个关于的jffs2的问题,也试了好多办法,搞来搞去的实在没有办法了,只有求助与网上的各位高人了,3Q 先 !
硬件:S3C4510B,16MB SDRAM(32位接入),2MB flash(16位接入,型号SST39VF160)系统:uclinux,内核源码的版本是uClinux-dist0909.tgz,应该是03.09.09的版本针对4510移植过的。 2M的flash被我划做两半,各自1MB,分别拿来放kernel image和做jffs2文件系统。
问题:作出来的jffs2系统读还正常,但是写却非常之慢,这还算不了什么,更奇怪的现象是:
(1)、如果我使用image.rom版内核,直接烧入flash的0地址,然后开机由其自动解压加载内核完成后,我再加载JFFS2文件系统,这个时候写jffs2的速度慢的简直不能忍受,大概只有“几字节~几十字节每一秒”。无语......................
(2)、如果我使用image.ram版内核,通过一个bootloader调入0x8000位置运行,写jffs2的速度大概有1~2 Kb/s,不论是从romfs(比如\bin\目录)拷贝文件到jffs2分区,还是从var目录(ramdisk,ext2)拷贝文件到jffs2分区速度都差不多;
但是不论使用.ram还是.rom 的内核文件,所有保存在JFFS2文件系统上的数据都还是能够在掉电后正确重新加载并读取的,
我的操作方法:就参照了网上的《如何在uClinux下使用MTD&jffs2》、《移植mtd+jffs2到FS4510成功》和《HOW TO USE MTD&JFFS2 Under uClinux(中文版)》文章,源码改自m5272c3.c,不过几乎没做什么修改 !
不知以前有没有那位仁兄碰到过类似问题,或者那位高人能解决 ?
或者给我指条明路也可以 ! 谢谢 !