把初始化和挂载部分函数代码放一个函数里啊,自己控制代码执行顺序,为啥用了 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);
把初始化和挂载部分函数代码放一个函数里啊,自己控制代码执行顺序,为啥用了 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);
举报