你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

让linux2.6.18支持4G的SD卡

[复制链接]
anger0925 发布时间:2015-9-16 08:30
linux-2.6.20.x 以上版本对SD卡有较好支持,可以支持1.0及2.0 SD卡的协议,所以linux2.6.2x 以上的版本都支持大容量(>=4G)的SD卡,而linux-2.6.1x 对SD卡的支持只能到 2G,大于2G的SD就无法识别.
发送CMD8,检查卡是否SD2.0。SD1.1是不支持CMD8的,因此在SD2.0 Spec中提出了先发送CMD8,如响应为无效命令,则卡为SD1.1,否则就是SD2.0(请参考SD2.0 Spec)。CMD8在SD1.1上是没有的.
在 mmc.c 文件中主要加入了这两个函数:
  mmc_read_switch_caps(host);
  mmc_process_ext_csds(host);

在读大容量的SD卡时用到
将linux-2.6.2x 以上版本SD卡的驱动植入 linux-2.6.18中,插入SD卡,检测容量及一些相关信息没有问题,但mount SD卡时有错误,提示 kernel debug error driver/mmc/mmc.c 111!
  BUG_ON(mrq->data->blksz > host->max_blk_size);
  BUG_ON(mrq->data->blocks > host->max_blk_count);
  BUG_ON(mrq->data->blocks * mrq->data->blksz > host->max_req_size);

屏蔽掉上面3行语句.问题解决!
但第二次插入SD卡时就没有任何反应!肯定是 remove 的时候出了问题,将 mmc_block.c文件中mmc_blk_remove 函数中的
  mmc_cleanup_queue(&md->queue);
去掉,加入以下一行:
  md->disk->queue = NULL;

SD卡的问题解决
收藏 评论10 发布时间:2015-9-16 08:30

举报

10个回答
风子 回答时间:2015-9-16 09:02:19
这是采场?
anny 回答时间:2015-9-16 09:04:22
想让STM32的哪个芯片跑linux?
anger0925 回答时间:2015-9-16 10:14:28

这是分享            
anger0925 回答时间:2015-9-16 10:14:44
anny 发表于 2015-9-16 09:04
想让STM32的哪个芯片跑linux?

F7是可以跑的
JackieLaura 回答时间:2015-9-16 10:31:30
st和freescale两边都发。。。
stmcu.org.png
anny 回答时间:2015-9-16 11:39:00

你共享例程,我买块F7的板子来,看看效果
anger0925 回答时间:2015-9-16 16:58:03
JackieLaura 发表于 2015-9-16 10:31
st和freescale两边都发。。。

这叫分享   
anger0925 回答时间:2015-9-16 16:59:25
anny 发表于 2015-9-16 11:39
你共享例程,我买块F7的板子来,看看效果

我是其他芯片上做的
yanhaijian 回答时间:2015-9-17 08:40:01
这里搞Linux的应该不多。
12下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版