Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
这才是优美的文件系统挂载方式,亲测有效
发布于 2022-06-23 17:02:11 浏览:1975
订阅该版
按照手册与其它例子来挂载文件系统感觉不是很优美,研究了一下装载表的方式 ![fs.png](https://oss-club.rt-thread.org/uploads/20220623/ad65ae583814dc977b620c3186012872.png.webp "fs.png") 然后在你的代码里(不限定具体文件,只要参与编译即可)加入以下代码: ```c //必要的头文件 #include
#include
#include
#include
#include
rt_uint8_t rampool[1024]; #define FAL_PART_NAME "filesystem" //在fal_cfg.h中FAL_PART_TABLE定义 //ROMFS需要创建的目录,创建的目录位于/目录下给其它文件系统挂载 const struct romfs_dirent _root_dirent[] = { {ROMFS_DIRENT_DIR, "ram", 0, 0}, {ROMFS_DIRENT_DIR, "flash", 0, 0}, }; //自动挂载表 const struct dfs_mount_tbl mount_table[] = { {RT_NULL, "/", "rom", 0, &(romfs_root)},//必须先创建rom文件系统,以提供后面的挂载目录 {RT_NULL, "/ram", "ram", 0, (const void*)rampool}, {FAL_PART_NAME, "/flash", "lfs", 0, 0}, {0} }; void norflash_init() { fal_init(); /* Create a block device on the file system partition of spi flash*/ struct rt_device *flash_dev = fal_mtd_nor_device_create(FAL_PART_NAME); } //上电自动初始化norflash创建,保证在norflash挂载前创建设备,其它需要前期初始化的也可放入此函数 INIT_COMPONENT_EXPORT(norflash_init); ``` 以下是执行结果: ```bash \ | / - RT - Thread Operating System / | \ 4.0.5 build Jun 23 2022 16:33:28 2006 - 2021 Copyright by rt-thread team lwIP-2.1.2 initialized! [4] I/sal.skt: Socket Abstraction Layer initialize success. [D/FAL] (fal_flash_init:47) Flash device | norflash0 | addr: 0x80000000 | len: 0x01000000 | blk_size: 0x00001000 |initialized finish. m [I/FAL] | name | flash_dev | offset | length | m [I/FAL] | app | norflash0 | 0x00000000 | 0x00400000 | [I/FAL] | easyflash | norflash0 | 0x00400000 | 0x00300000 | [I/FAL] | download | norflash0 | 0x00700000 | 0x00500000 | [I/FAL] | filesystem | norflash0 | 0x00c00000 | 0x00400000 | m 0m [I/FAL] The FAL MTD NOR device (filesystem) created successfully Not find the device(winUSB).Not find the device(i2c1).msh />[2098] I/NO_TAG : PHY Status: Link up [2098] I/NO_TAG: PHY Speed: 100Mbps [2098] I/NO_TAG: PHY Duplex: full duplex msh />mount filesystem device mountpoint ---------- ------ ---------- devfs (NULL) /dev rom (NULL) / ram (NULL) /ram lfs filesy /flash msh />cd flash msh /flash>ls Directory /flash: hello
msh /flash>mkdir hs msh /flash>ls Directory /flash: hello
hs
``` 当然了必要的硬件与驱动需要打开,这里不再赘述。 需要加新的文件系统只用修改这个表即可,需要提前初始化的加到norflash_init()里面即可。
2
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
mumumu
这家伙很懒,什么也没写!
文章
2
回答
29
被采纳
1
关注TA
发私信
相关文章
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
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组件
热门标签
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
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
a1012112796
20
个答案
3
次被采纳
张世争
12
个答案
3
次被采纳
踩姑娘的小蘑菇
7
个答案
3
次被采纳
用户名由3_15位
14
个答案
2
次被采纳
rv666
9
个答案
2
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
8
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部