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

【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.
http://www.xdnf.cn/news/5286.html

相关文章:

  • “睿思 BI” 系统介绍
  • 2025年大模型RAG技术的实践总结
  • 2025-05-10-渗透测试:MS14-068漏洞利用、复现黄金票据(随笔)
  • 如何修改进程优先级?
  • 【漫话机器学习系列】250.异或函数(XOR Function)
  • Java游戏服务器开发流水账(4)游戏的数据持久化
  • Google Earth Pro(谷歌地球)2025大陆版安装教程
  • C# WinForm DataGridView 非常频繁地更新或重新绘制慢问题及解决
  • Docker、Docker-compose、K8s、Docker swarm之间的区别
  • 渠道销售简历模板范文
  • 【金仓数据库征文】从生产车间到数据中枢:金仓数据库助力MES系统国产化升级之路
  • ev_loop_fork函数
  • TGRS | FSVLM: 用于遥感农田分割的视觉语言模型
  • bash shell中readarray和mapfile的用法
  • json格式不合法情况下,如何尽量保证数据可用性
  • 用tree.js渲染立方体 关闭msedge同时关闭node进程 compounds同时关闭
  • 企业安全 - 理论基础
  • [ctfshow web入门] web69
  • 湖南(源点咨询)市场调研 商业综合体定位调研分享(下篇)
  • Godot4.3类星露谷游戏开发之【时钟UI】
  • 5大B2B数字营销社群营销标杆案例TOB企业数字化营销内容营销AI营销培训讲师培训师专家顾问唐兴通分享
  • JavaScript基础-局部作用域
  • FHE与后量子密码学
  • 昇腾NPU容器内 apt 换源
  • hot100-子串-JS
  • torch.nn.init.uniform_
  • C 语言数据结构基石:一维数组的定义、访问与使用详解
  • MYSQL中的RR隔离级别实现原理,它是如何解决不可重复读
  • [sklearn机器学习概述]机器学习-part3
  • Dify使用总结