论坛徽章: 0
5 可用积分
我的核心板用的是优龙的YLE2440,底板是自己画的,其中IDE接口用来挂载2G的TRANSCEND牌子的CF卡。
现在的问题是:上电启动能够正确识别出CF卡的大小,但是mount的时候出错。
相关启动信息如下:
uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
SET CF & IDE WAIT!now BWSCON=2252d510
now begin cf_ide_init_default_hwifs()
hda: TRANSCEND, ATA DISK drive
ide0 at 0xc4ae0020-0xc4ae0027,0xc4ae001c on irq 17
hda: max request size: 128KiB
hda: 3915072 sectors (2004 MB) w/16385KiB Cache, CHS=3884/16/63
hda: cache flushes not supported
/dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4
这个CF卡只有一个vfat分区,并且在PC机上的Windows XP系统和ubuntu系统下都能够正常使用,但是在
开发板上运行"cat /proc/partitions"命令却发现有4个分区:
3 0 1957536 hda
3 1 1940181 hda1
3 2 1073758208 hda2
3 3 1073758208 hda3
3 4 1073758208 hda4
如果运行"mount /dev/ide/host0/bus0/target0/lun0/part1 /tmp/2"命令,就会出现如下错误:
VFS: Can't find ext3 filesystem on dev hda1.
VFS: Can't find an ext2 filesystem on dev hda1.
FAT: bogus logical sector size 640
VFS: Can't find a valid FAT filesystem on dev hda1.
mount: Mounting /dev/part1 on /tmp/2 failed: No such device
另外,我在开发板上运行"hdparm /dev/ide/host0/bus0/target0/lun0/part1"命令的结果是:
multcount = 0 (off)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 3884/16/63, sectors = 3880362, start = 62
而如果将CF卡使用万能读卡器插到PC机的Ubuntu系统上,然后运行"hdparm /dev/sdb1"命令的结果却是:
readonly = 0 (off)
readahead = 256 (on)
geometry = 1018/62/63, sectors = 3915072, start = 62
大家帮帮忙,看看问题应该在什么地方?
我来回答