韦东山Linux嵌入式课程社区
直播中

程玲

7年用户 185经验值
私信 关注

s3c6410支持大于2G sd卡

1,刚开始接触ARM, 有一块s3c6410的板子,还有write_sd软件用于将u-boot烧写到sd卡,但是只支持烧写2G的sd卡。
    u-boot的版本:1.1.6 。

   用2G的sd卡,经验证都是可以的。

  现在的sd卡都很大,因此想把write_sd和u-boot改成支持大于2G的sd卡。

具体步骤如下:
1, 修改write_sd软件,这个已经验证通过。
2, 修改u-boot:
      a, 修改include/movi.h,如下:
     #if defined (CONFIG_S3C6400)
     #define SS_SIZE           (4 * 1024)
     #define eFUSE_SIZE      (2 * 1024)
     #elsse
     #define SS_SIZE           (8 *1024)
     #define eFUSE_SIZE      (513 * 1024)     // change from 1 to 513

3, 编译u-boot-movi.bin,并烧写到16G的sd卡,启动,minicom上只打印一个字符'K'.

问题:
     做过一个验证,把一个点亮led的程序烧到16G sd卡中,一切正常。因此,认为6410支持16G sd 卡。
    感觉可能是u-boot修改的问题。
     请问是否还有其它地方需要修改?

回帖(4)

张婧怡

2019-6-19 09:12:52
到底是验证支持2G sd卡还是16G
举报

王金凤

2019-6-19 09:25:53
16G的。原来的只支持2G,所以想改成支持大于2G的。
举报

张文婷

2019-6-19 09:42:56
eFUSE_SIZE 不用改,仍然为:(1 * 1024).目前串口已经有打印了,但是显示的sd卡大小为: 0MB,然后终端就没有响应了。
举报

李兵

2019-6-19 09:48:50
        if (set_mmc_ocr()) {
                mmc_card = 1;
                dbg("MMC card is detectedn");
        } else if (set_sd_ocr()) {
                mmc_card = 0;
                dbg("SD card is detectedn");
        } else {
                printf("0 MBn");
                return 0;
        }

从log上看根本就没有发现sd卡,有谁知道原因吗?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分