完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用了romfs.创建了“/”根目录。 flash设备想要单独挂载在“/flash”目录下。 初始化时,在romfs.c文件中增加了增加了flash文件夹。代码如下 RT_WEAK const struct romfs_dirent _root_dirent[] = { {ROMFS_DIRENT_DIR, "dummy", (rt_uint8_t *)_dummy, sizeof(_dummy) / sizeof(_dummy[0])}, {ROMFS_DIRENT_FILE, "dummy.txt", _dummy_txt, sizeof(_dummy_txt)}, {ROMFS_DIRENT_DIR, "flash", RT_NULL, 0}, }; 我觉得这样不直观,想要在自己写的初始化函数中创建一个目录。代码如下 int norflash_init(void) { /* 初始化 fal */ fal_init(); /* Create a block device on the file system partition of spi flash*/ struct rt_device *mtd_dev = fal_mtd_nor_device_create(FS_PARTITION_NAME); if (!mtd_dev) { LOG_E("Can't create a mtd device on '%s' partition.", FS_PARTITION_NAME); } else { //必须先创建rom文件系统,以提供后面的挂载目录 dfs_mount(RT_NULL,"/","rom",0,&(romfs_root)); if(mkdir("/flash",0x777) < 0) { LOG_E("Failed to create a directory:'/flash'"); } /* 挂载 littlefs */ if (dfs_mount(FS_PARTITION_NAME, "/flash", "lfs", 0, 0) == 0) { LOG_I("Filesystem initialized!"); } else { /* 格式化文件系统 */ dfs_mkfs("lfs", FS_PARTITION_NAME); /* 挂载 littlefs */ if (dfs_mount(FS_PARTITION_NAME, "/flash", "lfs", 0, 0) == 0) { LOG_I("Filesystem initialized!"); } else { LOG_E("Failed to initialize filesystem!"); } } } return RT_EOK; } //上电自动初始化norflash创建,保证在norflash挂载前创建设备 INIT_ENV_EXPORT(norflash_init); 创建目录失败。是因为rom是只读的,只能按照结构体方式创建文件夹吗? |
|
相关推荐
1个回答
|
|
mkromfs.py
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
809 浏览 0 评论
5200 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2672 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
3017 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
32232 浏览 11 评论
73240 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 16:21 , Processed in 0.606820 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号