spi模式下fatf读写SD卡

1、f_open报错码:FR_DISK_ERR

   原因:读取SD卡令牌失败。

    auto_mount-》check_fs(res=3)-》disk_read-》SD_ReadSingleBlock-》SD_ReceiveData。

u8 SD_ReceiveData(u8 *data, u16 len, u8 release)
{
    u16 retry;
    u8 r1;
    SD_CS_ENABLE();
    retry = 0;
    do
    {
        r1 = SPI_ReadWriteByte(0xFF);
    Usart1_Send_1_Byte(r1);//加入串口打印,则读令牌成功
    Usart1_Send_1_Byte(13);
        retry++;
        if(retry>4000) 
        {
            SD_CS_DISABLE();
            return 1;
        }
    }while(r1 != 0xFE);


 

2、f_open报错码:FR_NO_FILESYSTEM

   auto_mount-》check_fs(res=2)

3、打印读取的扇区0数据,发现错误。并且数据令牌0xFE读取正常。

 

4、CMD17的r1==0x0


5、spi时钟频率:

最小频率:Fpclk/256。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这些日志信息表明在启动过程中发生了一些文件系统相关的问题。首先,它指出 `/dev/block/by-name/la_metadata` 上的文件系统没有正常关闭,状态标志为 0x1,不兼容特性标志为 0x46。然后,它尝试挂载 `/dev/block/by-name/la_metadata` 上的 ext4 文件系统,但由于找不到文件或目录,挂载失败。 接下来的日志显示,系统没有在 `/dev/block/vdd32` 上运行 `/system/bin/e2fsck` 可执行文件,然后执行了 EXT4 文件系统的恢复操作,并成功以有序数据模式挂载了该文件系统。 最后的日志提到了设备映射的完整性验证(verity)使用了 "sha1-ce" 算法的实现。 根据这些信息,可以尝试以下解决方法: 1. 检查文件系统:由于 `/dev/block/by-name/la_metadata` 上的文件系统没有正常关闭,可以尝试使用文件系统检查工具对其进行检查和修复。你可以运行以下命令来执行文件系统检查: ``` e2fsck -y /dev/block/by-name/la_metadata ``` 这将自动修复文件系统中的错误。 2. 创建目录:由于挂载过程中出现 "No such file or directory" 错误,你可以确保目标挂载目录存在。你可以运行以下命令来创建 `/metadata` 目录: ``` mkdir /metadata ``` 然后尝试重新挂载文件系统。 3. 更新系统镜像:如果上述方法都没有解决问题,可能需要重新安装系统镜像,以确保所需的可执行文件和文件系统相关的依赖被正确安装到系统中。 请注意,具体的解决方法可能因操作系统版本、设备类型和配置而有所不同。如果问题仍然存在,建议查阅操作系统或设备制造商的官方文档,或寻求相应的技术支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值