Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
littlefs
FLASH分区
5
littlefs 挂载第二个分区失败
发布于 2021-06-16 14:21:00 浏览:1358
订阅该版
首先是FAL能正常启动,根目录的分区也挂载正常。 ``` [D/FAL] (fal_flash_init:61) Flash device | coreboard | addr: 0x00000000 | len: 0x01000000 | blk_size: 0x00001000 |initialized finish. [D/FAL] (fal_flash_init:61) Flash device | norflash0 | addr: 0x00000000 | len: 0x01000000 | blk_size: 0x00001000 |initialized finish. [I/FAL] ==================== FAL partition table ==================== [I/FAL] | name | flash_dev | offset | length | [I/FAL] ------------------------------------------------------------- [I/FAL] | bootloader | coreboard | 0x00000000 | 0x00008000 | [I/FAL] | app | coreboard | 0x00008000 | 0x007f8000 | [I/FAL] | littlefs | coreboard | 0x00800000 | 0x00200000 | [I/FAL] | download | coreboard | 0x00a00000 | 0x00200000 | [I/FAL] | fatfs | coreboard | 0x00c00000 | 0x00300000 | [I/FAL] | easyflash | coreboard | 0x00f00000 | 0x00100000 | [I/FAL] | file | norflash0 | 0x00000000 | 0x01000000 | [I/FAL] ============================================================= [I/FAL] RT-Thread Flash Abstraction Layer (V0.5.0) initialize success. [I/FAL] The FAL MTD NOR device (littlefs) created successfully [I/littlefs.sample] para initialized! [I/FAL] The FAL MTD NOR device (download) created successfully [E/littlefs.sample] Failed to initialize download! [Flash] (packages\EasyFlash-v4.1.0\src\ef_env.c:1818) ENV start address is 0x00000000, size is 8192 bytes. [Flash] EasyFlash V4.1.0 is initialize success. [Flash] You can get the latest version on https://github.com/armink/EasyFlash . ``` 挂载第一个分区后,新建目录,用于挂载download分区,但是挂载失败 ```c int result = 0; #ifdef PKG_USING_FAL // 初始化 fal fal_init(); #else return; #endif #ifdef PKG_USING_LITTLEFS #define LITTLEFS_PARTITION_NAME "littlefs" struct rt_device *mtd_dev = RT_NULL; // 创建 mtd 设备 mtd_dev = fal_mtd_nor_device_create(LITTLEFS_PARTITION_NAME); if (!mtd_dev) { LOG_E("Can't create a mtd device on '%s' partition.", LITTLEFS_PARTITION_NAME); } else { // 挂载littlefs // 参数: 块设备名、文件系统挂载点路径,挂载文件系统类型,读写标志位,文件系统的私有数据 if (dfs_mount(LITTLEFS_PARTITION_NAME, "/", "lfs", 0, 0) == 0) { LOG_I("para initialized!"); } else { /* 格式化文件系统 */ dfs_mkfs("lfs", LITTLEFS_PARTITION_NAME); /* 挂载 littlefs */ if (dfs_mount(LITTLEFS_PARTITION_NAME, "/", "lfs", 0, 0) == 0) { LOG_I("%s initialized!",LITTLEFS_PARTITION_NAME); } else { LOG_E("Failed to initialize %s!",LITTLEFS_PARTITION_NAME); result = -1; } } } if(result == 0) { #define LITTLEFS_PARTITION_NAME2 "download" mtd_dev = fal_mtd_nor_device_create(LITTLEFS_PARTITION_NAME2); if (!mtd_dev) { LOG_E("Can't create a mtd device on '%s' partition.", LITTLEFS_PARTITION_NAME2); } else { if(opendir("/c") == RT_NULL) { mkdir("c",0); } if (dfs_mount(LITTLEFS_PARTITION_NAME2, "/c", "lfs", 0, 0) == 0) { LOG_I("%s Filesystem initialized!",LITTLEFS_PARTITION_NAME2); } else { dfs_mkfs("lfs", LITTLEFS_PARTITION_NAME2); if (dfs_mount(LITTLEFS_PARTITION_NAME2, "/c", "lfs", 0, 0) == 0) LOG_I("%s Filesystem initialized!",LITTLEFS_PARTITION_NAME2); else LOG_E("Failed to initialize %s!",LITTLEFS_PARTITION_NAME2); } } } #endif #ifdef PKG_USING_EASYFLASH /* easyflash init */ easyflash_init(); #endif ``` mtd设备是正常创建的, ``` device type ref count -------- -------------------- ---------- download MTD Device 0 littlefs MTD Device 1 norflash Block Device 0 adc1 Miscellaneous Device 0 pwm2 Miscellaneous Device 0 pwm1 Miscellaneous Device 0 ``` 刚开始使用文件系统,求大佬指导下,问题在哪。。
查看更多
sync
2021-06-16
这家伙很懒,什么也没写!
确定是可以挂载双分区的,楼主可以看下这个帖子 https://club.rt-thread.org/ask/question/12303.html
3
个回答
默认排序
按发布时间排序
freedom195
2021-06-16
好好学习,天天向上
原因找到了,是因为挂两个 lfs, RT_DEF_LFS_DRIVERS 的值为 1,导致挂两个 lfs 挂不上去。改成2就好了
zhkag
2021-06-16
这家伙很懒,什么也没写!
你单独挂载“download”分区试试可以用吗? 如果不可以就是“download”分区有问题,如果可以就可能是不能去挂载两个分区
撰写答案
登录
注册新账号
关注者
0
被浏览
1.4k
关于作者
freedom195
好好学习,天天向上
提问
33
回答
57
被采纳
1
关注TA
发私信
相关问题
1
dfs_mount挂载文件系统路径的路径必须为‘/’才能成功
2
romfs无法执行df命令
3
w25q128挂载littlefs出现assert failed?
4
使用littlefs出现Corrupted dir pair at 1 0
5
使用片上flash的 littlefs 无法创建多个目录
6
littlefs挂载总是在lfs.c文件中 LFS_ASSERT
7
littlefs文件系统卡顿问题
8
需要littlefs 挂载在片上flash
9
日志存储是使用fat如何做磨损平衡?
10
挂载littlefs文件系统的flash寿命计算方式?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
7
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
3
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部