Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Filesystem
关于虚拟文件系统几个疑惑直出还请大牛不吝赐教
发布于 2019-03-10 01:21:37 浏览:1982
订阅该版
最近在准备RTT虚拟文件系统找了不少资料包括RTT文档,有以下几处疑惑还请赐教: 1:假如我有SP1和SPI2两个总线,从资料来看,文件系统和底层就一个挂载dfs_mount,将文件系统和底层实际设备连接,假如我的W25Q256 实际挂载在SPI2,RTT是如何找到的,因为我在F429文件系统的DEMO中,没有看到这部分的介绍?只有一个挂载语句 2:假如W25Q256 的CS引脚不是NSS,是其他的引脚,我在找W25Q256 初始化的部分因为代码太大,没找到,按理说因为会对SPI进行初始化,配置CS引脚,默认SPI如果拿32举例子是否就是硬件固定的MI,MO SCK,NSS? 可能因为我很多地方没有看懂,问的问题很浅显,还请多多指教。
查看更多
whj467467222
认证专家
2019-03-10
开源,分享,交流,共同进步
1,如何实现文件系统?首先要明白你的外设挂载在哪个位置,常见的有SD卡和FLASH,SD卡分为SPI和SDIO,FLASH就是SPI了。楼主这里问了别的地方没有介绍,是否问的是SPI总线的初始化以及文件系统的初始化?RTT通过自动初始化宏实现 了自动初始化,你可以在main.c里面看出来 ``` int main(void) { int count = 1; /* set LED1 pin mode to output */ rt_pin_mode(LED1_PIN, PIN_MODE_OUTPUT); while (count++) { rt_pin_write(LED1_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED1_PIN, PIN_LOW); rt_thread_mdelay(500); } return RT_EOK; } ``` 这里的也没有向裸机一样进行时钟初始化,速度初始化等等操作,但是已经可以实现LED的闪烁,因为在进入到这里之前RTT已经完成了的初始化。 下面就是初始化宏的定义 ``` /* board init routines will be called in board_init() function */ #define INIT_BOARD_EXPORT(fn) INIT_EXPORT(fn, "1") /* pre/device/component/env/app init routines will be called in init_thread */ /* components pre-initialization (pure software initilization) */ #define INIT_PREV_EXPORT(fn) INIT_EXPORT(fn, "2") /* device initialization */ #define INIT_DEVICE_EXPORT(fn) INIT_EXPORT(fn, "3") /* components initialization (dfs, lwip, ...) */ #define INIT_COMPONENT_EXPORT(fn) INIT_EXPORT(fn, "4") /* environment initialization (mount disk, ...) */ #define INIT_ENV_EXPORT(fn) INIT_EXPORT(fn, "5") /* appliation initialization (rtgui application etc ...) */ #define INIT_APP_EXPORT(fn) INIT_EXPORT(fn, "6") ``` 2,楼主对于SPI总线可能还没理解,SPI完成通讯需要4根线,分别是:CLK MISO MOSI CS,前三个是硬件确定的(模拟SPI不算)CS拉低就表示选中了这个外设,假设现在有10个外设,他们的CLK MISO MOSI都接在SPI2的这个位置,CS接在了10个不同的地方,那么就可以实现谁的CS拉低,就对谁进行操作,这个就是SPI总线的概念,剩下的外设称之为SPI设备。 不知道楼主明白了没有。
8
个回答
默认排序
按发布时间排序
左耳朵的耗子
2019-03-10
这家伙很懒,什么也没写!
>1,如何实现文件系统?首先要明白你的外设挂载在哪个位置,常见的有SD卡和FLASH,SD卡分为SPI和SDIO,FLASH ... --- 非常感谢:handshake,继续拿F429的文件系统例子来说明,虽然初始化时自动的,但是底层CS引脚在说明中并未提到,难道只默认的NSS引脚吗?我现在用W25Q64,CS引引脚在其他的位置,我应该在那个.c文件中去更改呢?还有就是例子中并没有完整的工程,所以很多地方也没办法具体查看,因为应用层最终还是要和底层挂钩的。
whj467467222
认证专家
2019-03-11
开源,分享,交流,共同进步
>非常感谢,继续拿F429的文件系统例子来说明,虽然初始化时自动的,但是底层CS引脚在说明中并未 ... --- 假设你现在使用的文件系统是往FALSH上挂载,那么RTT自动初始化的是你的SPI总线,但是你得自己去实现把设备挂载到总线上的操作,这个地方你可以理解成就是把CS引脚注册到总线当中,所以这个地方需要你自己实现。 如果你在实现中SPI1中实现10个SPI设备,那么你就没有足够的NSS怎么办,所以你只需要普通的IO就可以了,忘掉你的NSS。
flyboy
2019-03-11
Do my self();
这里有实现文件系统的资料,楼主可以参考一下:[https://www.rt-thread.org/document/site/application-note/components/dfs/an0012-dfs/](https://www.rt-thread.org/document/site/application-note/components/dfs/an0012-dfs/)
左耳朵的耗子
2019-03-11
这家伙很懒,什么也没写!
>spi cs脚一般使用rt_spi_bus_attach_device()的user_data,资料可以看这里:https://www.rt-thread.org/doc ... --- 谢谢
左耳朵的耗子
2019-03-11
这家伙很懒,什么也没写!
>这里有实现文件系统的资料,楼主可以参考一下:https://www.rt-thread.org/document/site/application-note ... --- 感谢你的回复
左耳朵的耗子
2019-03-11
这家伙很懒,什么也没写!
>假设你现在使用的文件系统是往FALSH上挂载,那么RTT自动初始化的是你的SPI总线,但是你得自己去实现把设 ... --- 感谢你的细心回复:handshake
撰写答案
登录
注册新账号
关注者
0
被浏览
2k
关于作者
左耳朵的耗子
这家伙很懒,什么也没写!
提问
12
回答
65
被采纳
0
关注TA
发私信
相关问题
1
字库除了SD卡和http还有别的方式导入吗
2
如何同时使用RTT文件系统于NAND Flash 和 SD卡,针对Realboard4088?
3
EasyFlash好棒
4
SD卡挂在的SPI总线又要加个DA设备
5
sd卡与flash 同时挂载 挂载路径shell怎么区分 访问
6
请教ramfs使用方法
7
rtt stable2.0.x版本 sd卡及文件系统
8
nandflash文件系统UFFS请教
9
关于SD卡挂载文件系统的问题(已解决)
10
Yaffs采用GPL2许可
推荐文章
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
ota在线升级
UART
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
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部