当前位置: 首页 新闻资讯 技术问答

SDNAND擦除后无法写入数据是怎么回事

SD NAND-贴片式TF卡-贴片式SD卡-免费测试2024-08-05289

图片.png

从您提供的代码和描述来看,您正在执行SD卡的擦除操作,遇到擦除后无法写入数据的问题。让我具体看看代码中的擦除部分,并检查是否有可能导致问题的地方。

图片.png

检查擦除流程

  1. CMD32 (Set Block Erase Start Address) 和 CMD33 (Set Block Erase End Address) 的使用

    • 确认StartBlockEndBlock的值是否正确,并且在执行这些命令时已经转换为字节地址(对于非SDHC卡)。

    • CMD32和CMD33命令需要连续发送,并且在成功后发送CMD38执行擦除。

  2. CMD38 (Erase) 的使用

    • CMD38命令在发送之后,需要等待擦除完成。这可能需要一定的时间。

可能的问题

  1. 命令发送失败

    • 检查SD_SendCmd函数的实现,确保CMD32, CMD33, CMD38命令发送正确,并且返回值被正确处理。

    • 在每个命令发送后,检查返回状态是否正确。如果返回值不为0,则可能命令发送失败,需要处理错误。

  2. 超时问题

    • CMD38擦除操作可能需要较长时间完成。确保有足够的等待时间。

    • 可以在发送CMD38后,加入一个延时或等待擦除完成的循环。

  3. 硬件问题

    • 确认SD卡插槽和连接是否牢固,以及SD卡本身是否有问题。

    • 尝试使用其他SD卡,排除硬件故障。

  4. SD卡类型

    • 确认所使用的SD卡类型与代码中的判断相符。如果是SDHC卡,SD_Type应该等于SD_TYPE_V2HC,否则需要转换地址为字节地址。

建议的改进

图片.png

通过以上改进,您可以更好地捕捉和处理每个擦除步骤中的错误,并确保在擦除命令后有足够的等待时间。如果问题依旧存在,建议进一步检查SD_SendCmd函数的实现,确保命令发送和响应处理的正确性。

热门标签:SDNAND贴片式TF卡贴片式SD卡SD FLASHNAND FLASHSLC NAND


SD NAND-贴片式TF卡-贴片式SD卡-免费测试

深圳市芯存者科技有限公司

售前咨询
售前咨询
售后服务
售后服务
联系我们

电话:176-6539-0767

Q Q:135-0379-986

邮箱:1350379986@qq.com

地址:深圳市南山区蛇口街道后海大道1021号B C座C422W8

在线客服 在线客服 QQ客服 微信客服 淘宝店铺 联系我们 返回顶部