嵌入式技术william hill官网
直播中

万物死

8年用户 1271经验值
擅长:MEMS/传感技术
私信 关注
[问答]

SD卡初始化顺序有没有办法固定在文件系统挂载之前?

SD卡在文件系统挂载之后才初始化,导致挂载失败,在挂载文件系统代码段增加100ms延时后挂载成功,问题:SD卡初始化顺序有没有办法固定在文件系统挂载之前,在图片箭头处初始化SD卡


回帖(2)

倪love

2022-5-7 09:40:43
使用 rtt 的自动初始化机制可以控制不同外设的初始化顺序。可以把 sd 卡的初始化用 INIT_DEVICE_EXPORT
1.png
举报

绝代双骄

2022-5-7 09:41:09
把初始化和挂载部分函数代码放一个函数里啊,自己控制代码执行顺序,为啥用了 rtt 都迷惑这个问题了。

自动初始化虽好,不要迷信它。

就像下面这样,无论你想把 spi flash 挂载成什么文件系统,下面的这种流程是很有必要的。先初始化并且初始化成功才进行挂载,而不是不管初始化成功与否就无头挂载。

init 里面除了 sfud probe 还可以有 fal 创建设备。只有创建成功了设备才执行下面的 mount

int mount_all_fs(void)

{

    if (mount_romfs() == RT_EOK) {

#ifdef RT_USING_MTD_NAND

        mount_nand_yaffs2();

#endif

#if defined(BSP_USING_SPI_FLASH)

        if (rt_hw_spi_flash_init() == RT_EOK) {

#ifdef PKG_USING_LITTLEFS

            mount_25qx_lfs();

#else

            mount_25qx_vfat();

#endif

        }

#endif

    }

    return RT_EOK;

}

INIT_ENV_EXPORT(mount_all_fs);
举报

更多回帖

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