当前位置: 首页 > news >正文

【RT-Thread Studio】nor flash配置Fal分区

前置条件:【RT-Thread Studio】W25Q128配置


添加 FAL软件包
配置SFUD驱动程序,使用FAL的设备为W25Q128

将fal_cfg.h和fal_flash_sfud_port.c提取出来,放到自己创建的fal_porting目录。

修改
fal_flash_sfud_port.c

struct fal_flash_dev nor_flash0 =
{.name       = FAL_USING_NOR_FLASH_DEV_NAME,.addr       = 0,.len        = 16 * 1024 * 1024,.blk_size   = 4096,.ops        = {init, read, write, erase},.write_gran = 1
};

fal_cfg.h

#define NOR_FLASH_DEV_NAME             FAL_USING_NOR_FLASH_DEV_NAME/* ===================== Flash device Configuration ========================= */
extern struct fal_flash_dev nor_flash0;/* flash device table */
#define FAL_FLASH_DEV_TABLE                                          \
{                                                                    \&nor_flash0,                                                     \
}
/* ====================== Partition Configuration ========================== */
#ifdef FAL_PART_HAS_TABLE_CFG
/* partition table */
#define FAL_PART_TABLE                                                                  \
{                                                                                       \{FAL_PART_MAGIC_WORD,   "filesystem",   NOR_FLASH_DEV_NAME, 0,  16*1024*1024,   0}, \
}
#endif /* FAL_PART_HAS_TABLE_CFG */

测试应用

#include <app_fs/w25qxx.h>
#include <fal.h>static void app_fs_init(void)
{dev_spi_flash_init();fal_init();
}static int component_app_fs_init(void)
{app_fs_init();return RT_EOK;
}INIT_COMPONENT_EXPORT(component_app_fs_init);

开机日志:

[16] I/SFUD: Find a Winbond flash chip. Size is 16777216 bytes.
[24] I/SFUD: W25Q128 flash device is initialize success.
[30] I/SFUD: Probe SPI flash W25Q128 by SPI device spi10 success.
read w25q ID is:17ef
[D/FAL] (fal_flash_init:49) Flash device |                  W25Q128 | 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] | filesystem | W25Q128   | 0x00000000 | 0x01000000 |
[I/FAL] =============================================================
[I/FAL] RT-Thread Flash Abstraction Layer (V1.0.0) initialize success.

相关文章:

  • Windows:Powershell的使用
  • 程序代码篇---esp32视频流处理
  • Taro 编译不平不同平台小程序
  • 《类和对象(中)》
  • 分布式事务快速入门
  • Ubuntu 与 Windows 双系统环境下 NTFS 分区挂载教程
  • Autoware message_filters::Synchronizer链接错误问题
  • 如何删除网上下载的资源后面的文字
  • 数字孪生实战笔记(1)数字孪生的含义、应用及技术体系
  • zdir3个人网盘dockerfile打包
  • 深入解析:如何基于开源p-net快速开发Profinet从站服务
  • C# WinForm DataGridView 非常频繁地更新或重新绘制慢问题及解决
  • WPF 性能 UI 虚拟化 软件开发人员的思考
  • gvm安装go报错ERROR: Failed to use installed version
  • C++GO语言微服务之用户信息处理
  • 深圳SMT贴片加工厂制造流程解析
  • 4.分布式锁
  • Pale Moon:速度优化的Firefox定制浏览器
  • vue访问后端接口,实现用户注册
  • 【金仓数据库征文】_金仓数据库在金融行业的两地三中心容灾架构实践
  • 巴基斯坦空袭印度多地空军基地,巴战机进入印领空
  • 伤员回归新援融入,海港逆转海牛重回争冠集团
  • 图忆|红场阅兵:俄罗斯30年来的卫国战争胜利日阅兵式
  • 人民日报整版调查:中小学春秋假,如何放得好推得开?
  • 两部门发布山洪灾害气象预警:北京西部、河北西部等局地山洪可能性较大
  • 如此城市|上海老邬:《爱情神话》就是我生活的一部分