免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7831 | 回复: 8
打印 上一主题 下一主题

请教怎样实现2.6.11版本对于>= 2GB 的SD卡的支持 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-12 11:02 |只看该作者 |倒序浏览
目前我正在从事的项目开发中使用的是2.6.11版本的内核,对于1GB的SD卡加载卸载完全正常,但是在插入2GB的SD卡后中断被触发识别到了设备,我查看/proc/modules 也有mmcblk0和mmcblk0p1,但是在手动进行mount加载的时候却出错了,串口调试环境下的打印信息如下

首先是FAT32格式的SD卡

sh-3.00# mount -t vfat /dev/mmcblk0p1 /mnt/sdcard/

mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 494
FAT: unable to read boot sector
mount: Mounting /dev/mmcblk0p1 on /mnt/sdcard/ failed: Input/output error



sh-3.00# mount /dev/mmcblk0p1 /mnt/sdcard/        
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 496
EXT3-fs: unable to read superblock
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 496
EXT2-fs: unable to read superblock
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 498
printk: 22 messages suppressed.
Buffer I/O error on device mmcblk0p1, logical block 2
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 500
Buffer I/O error on device mmcblk0p1, logical block 3
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 496
Buffer I/O error on device mmcblk0p1, logical block 1
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 494
Buffer I/O error on device mmcblk0p1, logical block 0
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 496
Buffer I/O error on device mmcblk0p1, logical block 1
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 498
Buffer I/O error on device mmcblk0p1, logical block 2
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 500
Buffer I/O error on device mmcblk0p1, logical block 3
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 502
Buffer I/O error on device mmcblk0p1, logical block 4
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 504
Buffer I/O error on device mmcblk0p1, logical block 5
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 506
Buffer I/O error on device mmcblk0p1, logical block 6
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 508
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 494
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 502
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 504
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
…………
…………
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 510
mmcblk0: error 2 transferring data
mmcblk0: error 2 transferring data
end_request: I/O error, dev mmcblk0, sector 494
FAT: unable to read boot sector
yaffs: dev is 266338305 name is "mmcblk0p1"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 254.1, "mmcblk0p1"
yaffs: dev is 266338305 name is "mmcblk0p1"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 254.1, "mmcblk0p1"
mount: Mounting /dev/mmcblk0p1 on /mnt/sdcard/ failed: Invalid argument

换成ext3格式的SDCard后情况完全类似,请问各位大虾,对于2.6.11版本的mmc驱动应该相应的做哪些修改才能够支持大于等于2GB的SD卡啊?谢谢了

论坛徽章:
0
2 [报告]
发表于 2008-05-12 11:28 |只看该作者
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=988261

4G 使用 Spec 2.0 有几个寄存器增加或应用上有区别。
Spec 2.0 支持从 4G 到 32G

[ 本帖最后由 sunny78 于 2008-5-12 11:33 编辑 ]

Simplified_Physical_Layer_Spec20.pdf

1.04 MB, 下载次数: 1291

论坛徽章:
0
3 [报告]
发表于 2008-05-12 12:41 |只看该作者

回复 #2 sunny78 的帖子

谢谢sunny78师兄的回复。刚才看了下Simplified_Physical_Layer_Spec20.pdf,它似乎针对的是4GB以上的SDCard的支持,但是目前我所开发的产品暂时不需要支持4GB那么打的容量,目前急需的是对2GB SD卡的支持,按理说2.6.11内核本身应该支持2GB的SD卡的,而且在我插入卡时的中断消息来看,内核也识别到了SD卡2GB的容量(如下所示具体的中断消息)

blk_queue_max_segment_size: set to minimum 4096
mmcblk0: mmc0:0002 00000 1993728KiB
mmcblk0: p1

但是进行mount挂载的时候就会出错(具体的错误信息见原帖),师兄能不能指教一下这可能是什么地方出的问题啊?这是我第一次进行Linux嵌入式开发,所以确实很多基本的东西都不太明白,真的谢谢师兄了

论坛徽章:
0
4 [报告]
发表于 2008-05-13 16:14 |只看该作者
我也有类似的问题 只是版本稍有不同

我的内核是linux 2.6.12
卡是 金士顿的 MMC Mobile  512 M

内核启动过程可以识别,fdisk 查看也貌似正确 ,可是要mount使用他的时候就书楼主一样的错误了
可能是分区信息读写位置不一样造成的,但是现在还不知道改哪里  

##kernel  print
mmcblk0: mmc0:0001 winpcb 483840KiB
/dev/mmc/blk0: p1


>: fdisk -l /dev/mmc/blk0/disc

Disk /dev/mmc/blk0/disc: 495 MB, 495452160 bytes
255 heads, 63 sectors/track, 60 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

             Device Boot    Start       End    Blocks   Id  System
/dev/mmc/blk0/part1               1          60      481918+   b  Win95 FAT32
>:
>:
>: mount -t vfat /dev/mmc/blk0/part1  /mnt/
mount: Mounting /dev/mmc/blk0/part1 on /mnt/ failed: Invalid argument


>:
>: mount -t vfat /dev/mmc/blk0/part1  /mnt/
mmcblk0: error 1 sending read/write command
end_request: I/O error, dev mmcblk0, sector 63
FAT: unable to read boot sector 0
mount: Mounting /dev/mmc/blk0/part1 on /mnt/ failed: Input/output error

论坛徽章:
0
5 [报告]
发表于 2008-08-25 23:42 |只看该作者

最大支持容量理论上32G!实测了最大容量4G

本人优价出售sd卡驱动!最大支持容量理论上32G!实测了最大容量4G!
QQ:805396213!
本人优价出售sd卡驱动!最大支持容量理论上32G!实测了最大容量4G!
sd卡支持shdc的优点:
很多开发板公司的sd卡驱动只能支持最大1G容量!
同时还有很多bug!
sd卡作为产品的存储设备,就像人的胃!
sd卡支持sdhc在很多程度可以提高产品稳定性、产品的可靠性!
修正了正在读数据时,拔出卡,再插入卡可能死机及不能识别卡的bug!
最大支持容量理论上32G!实测了最大容量4G!

在s3c2410 s3c2440平台测试ok!
支持2.6所有内核!
已出售过的内核版本有2.6.11 2.6.13 2.6.16 2.6.19 2.6.21 2.6.24等
为了节省您的宝贵时间!本人优价出售sd卡驱动源代码!
为了能够让新手进入嵌入式行业,本人优价出售源代码!
QQ:805396213!

论坛徽章:
0
6 [报告]
发表于 2008-08-26 08:03 |只看该作者
我的是2.6.14内核 挂SD卡时报
Mount:mounting /dev/mmc/blk0/part1 on /mnt failed:Invalide argument.

论坛徽章:
0
7 [报告]
发表于 2008-08-26 08:03 |只看该作者
我那SD卡驱动搞了好久也没搞利索!!

论坛徽章:
0
8 [报告]
发表于 2008-08-28 18:11 |只看该作者
LZ看看LINUX2.6.2X上的SD卡驱动啥。。据我所知,2.6.2X是支持的

论坛徽章:
0
9 [报告]
发表于 2011-02-16 22:46 |只看该作者
QQ:805396213! 电话139,1641,2058  
本人优价出售sd卡驱动!最大支持容量理论上32G!实测了最大容量4G!
sd卡支持shdc的优点:
很多开发板公司的sd卡驱动只能支持最大1G容量!
同时还有很多bug!
sd卡作为产品的存储设备,就像人的胃!
sd卡支持sdhc在很多程度可以提高产品稳定性、产品的可靠性!
修正了正在读数据时,拔出卡,再插入卡可能死机及不能识别卡的bug!
最大支持容量理论上32G!实测了最大容量4G!

在s3c2410 s3c2440平台测试ok!
支持2.6所有内核!
已出售过的内核版本有2.6.11 2.6.12 2.6.13 2.6.16 2.6.19 2.6.21 2.6.24等
为了节省您的宝贵时间!本人优价出售sd卡驱动源代码!
为了能够让新手进入嵌入式行业,本人优价出售源代码!
QQ:805396213!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP