你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

WB-STM32F407之RT-Thread文件系统

[复制链接]
wbeast 发布时间:2018-9-12 15:24
本帖最后由 wbeast 于 2018-9-12 15:26 编辑

准备工作:
1.     下载rt_thread源码http://github.com/RT-Thread/rt-thread
2.     下载ENV工具: https://pan.baidu.com/s/1cg28rk
3.     硬件STM32F407VET6+w25q16
4.     打开rt_thread源码路径下的BSP/stm32f4xx-HAL文件夹,用ENV工具打开

5.设置 RT-ThreadComponents → Device virtual file system,如下图所示
6.     设置elm-chan's FatFs, Generic FAT Filesystem Module 选项中修改关于长文件名支持的选项,否则在后面使用文件系统的过程中,创建的文件或者文件夹的名称不能超过 8 个字符。修改方式如下图所示:

7.   因为要使用一些 C 库函数,所以需要打开 libc 功能:
8.     在 RT-Thread Components → Device Drivers 界面中选中 Using SPI Bus/Device device drivers 以及 Using Serial Flash Universal Driver 选项,如下图所示:
9.     为了方便地使用 shell 命令,我们在 RT-ThreadComponents → Command shell 选项中开启 Usingmodule shell选项,如下图所示:
10.  在主界面设置,如下图所示
1.     Device type,设置MCU型号,我们用的事STM32F407VET6
2.     (25000000)HSE Value,晶振大小
3.     (168000000)MCU频率
4.     (38)SPI NOR flash ce pin index ,是SPI的CS管脚,第38个管脚
RT-ThreadKernel路径,将内核时间片设置到1000
11.  保存配置,scons --target=mdk5,生成工程。全编译后,烧到板子上。可以看到系统启动成功,但是flash没有读取成功,原因软件配置生成的代码SPI2的管脚与开发板的SPI2复用的管脚不同。

修改如下:
12.重新编译,下载。Flash读取成功
12.  通过 list_device指令,查看当前系统中的设备
13, 可以使用 sf  prode norspi命令对该设备做 benchmark 测试。如下图
14,通过mkfs –t mle flash0指令,挂载文件系统
挂载文件系统,在mian.c文件,添加以下代码
intmain(void)
{
       rt_device_t dev;
    /* user app entry */

       while(1)
       {
              dev = rt_device_find("flash0");
              if (dev != RT_NULL)
              {
                     if(dfs_mount("flash0", "/", "elm", 0, 0) == 0)
                     {
                            rt_kprintf("spiflash mount to /spi !\n");
                     }
                     else
                            rt_kprintf("spiflash mount to /spi failed!\n");

                     break;
              }
              rt_thread_delay(50);
       }

    return 0;
}
编译并下载,文件系统挂载成功
15,可以通过ls 指令,可以查询当前文件系统下面的文件;通过cd 可以跳转目录;
通过cp可以拷贝数据;通过cat可以某个文件内容;rm删除特定文件;mkdir创建文件夹;mv移动文件
通过cd 指令跳转目录
通过cat 指令查看文件内容

源码路径:https://pan.baidu.com/s/1dGvafol 密码: c89k
收藏 1 评论1 发布时间:2018-9-12 15:24

举报

1个回答
STMCU 回答时间:2018-9-17 15:00:53
谢谢楼主分享

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似分享

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版