Embedded SD卡初始化;acmd41失败;

Embedded SD卡初始化;acmd41失败;,embedded,sd-card,Embedded,Sd Card,我试图初始化sd卡,但从未准备好sd卡 详情如下: 有一个带有SD主机控制器和micro SDHC UHS-1卡的芯片的开发板 初始化序列我如下所示: cmd0:arg0x00。那很好 cmd8:arg0x1AA。很好,返回0x1aa acmd41: --第一个cmd55:arg0x00。很好,响应0x120表示设置了“app\u cmd”标志。 --第二个cmd41:arg0x5100'0000(HCS:1;XPC:1;S18R:1-支持SDHC/SDXC;最高性能;分别切换到1.8V)

我试图初始化sd卡,但从未准备好sd卡


详情如下:

有一个带有SD主机控制器和micro SDHC UHS-1卡的芯片的开发板

初始化序列我如下所示:

  • cmd0:arg
    0x00
    。那很好
  • cmd8:arg
    0x1AA
    。很好,返回0x1aa

  • acmd41:
    --第一个cmd55:arg
    0x00
    。很好,响应
    0x120
    表示设置了“app\u cmd”标志。
    --第二个cmd41:arg
    0x5100'0000
    (HCS:1;XPC:1;S18R:1-支持SDHC/SDXC;最高性能;分别切换到1.8V) 响应为
    0xff8000
    。所以这似乎是一个有效的OCR,支持整个电压范围

一旦知道卡支持的OCR,我会再次发送ACMD41,并设置OCR:
--cmd55:arg
0x00
。有效的
0x120
响应。
--cmd41:arg
0x51ff'80000

在这种情况下,我总是从一张卡上得到
0xffff'ffff
,尽管SD主机控制器没有指示任何错误,如超时或错误的CRC,但这张卡无论如何都不是正确的响应,所以看起来卡确实发送了该值

重复上述acmd41(cmd55+cmd41)继续返回相同的响应,cmd55正常,cmd41为
0xffffff

知道哪里出了问题/我错过了什么吗


谢谢。

很快,卡初始化序列就可以了。这是一个硬件问题

卡的电源被拧紧了,所以卡并没有足够的电源来正常工作,但不知怎么的,它已经足够发送一个响应了

为了让一些卡片变得更加有趣,我尝试了:

  • 一张卡片根本不起作用
  • 一个初始化失败(如上所述)
  • 当一个人试图写数据时,他什么都做了,但却一直处于“编程”状态

谢谢大家:)

很快,card init序列就可以了。这是一个硬件问题

卡的电源被拧紧了,所以卡并没有足够的电源来正常工作,但不知怎么的,它已经足够发送一个响应了

为了让一些卡片变得更加有趣,我尝试了:

  • 一张卡片根本不起作用
  • 一个初始化失败(如上所述)
  • 当一个人试图写数据时,他什么都做了,但却一直处于“编程”状态

谢谢大家:)

您正在运行哪个平台?您正在使用的实用程序是什么?您在这里遗漏了太多必要的细节。@ifconfig“实用程序”是什么意思?你认为遗漏了哪些细节?@ifconfig,我正在初始化sd卡,没有操作系统。我不知道操作系统和SD卡规格有什么关系。“一切”列表中还有什么需要披露的吗?那么你在哪个平台上工作?阿杜伊诺?嵌入式Linux?什么?“无操作系统”的字面意思既不是“嵌入式”也不是任何其他类型的Linux、windows、mac OS、ios或android…你在运行什么平台?您正在使用的实用程序是什么?您在这里遗漏了太多必要的细节。@ifconfig“实用程序”是什么意思?你认为遗漏了哪些细节?@ifconfig,我正在初始化sd卡,没有操作系统。我不知道操作系统和SD卡规格有什么关系。“一切”列表中还有什么需要披露的吗?那么你在哪个平台上工作?阿杜伊诺?嵌入式Linux?什么?“无操作系统”的字面意思既不是“嵌入式”也不是任何其他类型的Linux、windows、mac OS、ios或android。。。