主题 : 请问如何根据SD卡的ID号来加载SD卡(tiny210) 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 72678
精华: 0
发帖: 3
金钱: 15 两
威望: 3 点
综合积分: 6 分
注册时间: 2012-06-26
最后登录: 2012-07-31
楼主  发表于: 2012-07-31 00:49

 请问如何根据SD卡的ID号来加载SD卡(tiny210)

        我现在想实现如下功能:当SD卡插入的时候,根据SD卡的ID号来进行判断。如果ID号是我允许的,则这个SD卡可以被加载使用;否则拒绝该SD卡加载。
    我修改了core目录下面的sd.c文件:首先将mmc_decode_cid函数的返回从void更改为int,并在mmc_decode_cid当中增加了cid判定代码。如果cid判定一致,则返回0;否则返回-1。然后,在mmc_sd_init_card函数当中,根据mmc_decode_cid调用的返回值判定,如果返回为0,则不做改动正常执行;如果返回-1,则跳转到mmc_sd_init_card当中的freecard标号处,对card进行free。
    但是,当我重新编译并将新内核烧入tiny210的开发板之后,前面都能够正常通过。当出现一键精准定位的界面之后,定位会无法通过,且超级终端显示“calibration failed”,无法继续。
    我的问题如下:
    (1)上述方法是否正确?如果正确,上述问题应该怎么解决?
    (2)如果不正确,我应该如何去做?我的目的就是想只让特定的SD卡能够插入开发板使用,其他的SD卡都拒绝接入系统使用。
    谢谢!
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2012-07-31 11:39
没有这样使用过,估计要自己开发了。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
2楼  发表于: 2012-08-01 11:27
1) 思路上应该是行得通的,建议分析清楚流程,保证在返回-1后你的处理不会产生负面影响
2) 如果只是修改sd部分,理论上是不会影响触摸的,请检查你是否还有其它的修改而导致校准异常