This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM3359:smartctl &sdcard &CMD56

Guru**** 2554150 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/599191/linux-am3359-smartctl-sdcard-cmd56

器件型号:AM3359
主题中讨论的其他器件:CSD

工具/软件:Linux

您好!

我想知道是否可以使用命令 smartctl 来检查 sdcard 的运行状况? 如果没有,如何发送命令56并获取数据?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Michael、

    smartctl 命令是 smartmontools 的一部分。 您可以根据 此 wiki 页面中的步骤轻松构建并将其安装到您的目标中。

    MACHINE=AM335x-EVM bitbake 智能工具 

    此致、
    Kemal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可以发送如下命令:


    int ret = 0;
    struct MMC_IOC_cmd iDATA;
    memset (&iDATA、0、sizeof (iDATA));
    memset (ext_CSD、0、sizeof (_u8)* 512);
    iDATA.WRITE_FLAG = 0;
    iDATA.opcode = 56;
    iDATA.arg = 0x21;
    iDATA.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC;
    iDATA.blksz = 512;
    iDATA.blocks = 1;
    MMC_IOC_CMD_SET_DATA (iDATA、ext_CSD);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    看起来不错。 尝试一下。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试过、但我得到了:

    [73462.880814] mmcblk0:发送状态命令时出错-110、正在重试
    [73462.880875] mmcblk0:发送 r/w cmd 命令超时、卡状态0xe00
    [73462.908904] mmcblk0:发送 r/w cmd 命令超时、卡状态0x400e00
    [73462.999342] mmcblk0:发送 r/w cmd 命令超时、卡状态0x400e00
    [73463.026402] mmcblk0:发送 r/w cmd 命令超时、卡状态0x400e00
    [73463.052944] mmcblk0:发送 r/w cmd 命令超时、卡状态0x400e00
    [73463.119002] mmc0:尝试重置卡
    [73497.951175] omap_hmc 48060000.mmc:__mmc_blk_ioctl_cmd:数据错误-110
    [73499.171563] mmcblk0:发送 r/w cmd 命令超时、卡状态0x400b00
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否附上代码、以便我可以在我的结尾处尝试它?