0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SFUD驱动库实战手册:串行SPI Flash开发全流程解析

青山老竹农 ? 来源:jf_82863998 ? 作者:jf_82863998 ? 2025-07-29 13:19 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

针对嵌入式系统中SPI Flash的多样化需求,SFUD库提供了灵活且通用的解决方案。本文将从环境配置、库初始化、基本操作到高级特性,完整展示SFUD库的应用流程,并通过具体示例帮助开发者深入理解其工作原理与实战技巧。

SFUD(Serial Flash Universal Driver)是开源的串行SPI Flash通用驱动库。

旨在解决不同品牌及规格串行Flash的命令差异问题,通过统一接口实现跨硬件兼容,从而降低嵌入式系统的开发复杂度,提高软件的可重用性和可扩展性。

LuatOS为开发者提供了便捷的SFUD核心库API接口:

支持通过SFUD原生接口直接操作Flash存储单元,也支持将Flash设备挂载为SFUD LFS文件系统实现标准化文件管理,简化嵌入式存储管理并提升开发效率;

支持设置文件系统挂载的偏移量和大小,提供更灵活的配置选项,适用于物联网智能设备、工业控制等不同应用场景的需求。

本文将以Air780EHM核心板为例,分享的SFUD应用示例;此示例同样适用于Air780EHV、Air780EGH系列。

一、主要准备工作

Air780EHM核心板套件

SPI Flash模块

注:需要选用支持SFUD标准的SPI Flash模块,本文使用W25Q32演示。

Type-C USB数据线

Win10及其以上PC电脑

wKgZO2iIT4yAZGkuAAw5KTOuV5o425.pngwKgZO2iIT52AKsj9AAD8CrZJppY248.png

Air780EHM核心板通过Type-C USB数据线连接电脑;支持USB口供电,使用时请将USB旁边的开关拨到ON一端。

wKgZPGiIT9yADv1MAAxlu0KZkDk112.png

Air780EHM核心板通过杜邦线和SPI Flash模块连接,对应管脚接线方式如下图表所示:

wKgZO2iIUA2AGceZAAhWPLYrYVk561.pngwKgZPGiIUCqAZjdkAAGljKWOAvk216.png

二、最新源码下载

最新demo已上传源码仓库:https://gitee.com/openLuat/LuatOS/tree/master/module/Air780EHM_Air780EHV_Air780EGH/demo/sfud

sfud_test.lua代码如下图示,完整demo详见源码仓库。

wKgZO2iIUGOAZt24AAU7EFgwx_k940.pngwKgZPGiIUImAVEp8AAY7ai8Ooe4859.pngwKgZO2iIUKaAfvf0AAVa2ihWJKo681.pngwKgZPGiIUMGAMkswAAItLlJz4ZQ871.png

相关注意事项:

在sfud_test.lua中,通过test_sfud_raw和test_sfud_mountl两个变量来控制,是通过SFUD接口去读写Flash,还是挂载为SFUD LFS文件系统,通过文件系统相关接口去操作SFUD LFS文件系统中的文件。

也可以同时使用这两种方式,不过要注意同时使用SFUD直接写入时的地址和挂载SFUD LFS时的偏移量需要设计好(注意偏移量需要是64k的倍数),避免发生冲突。

三、示例运行结果

Air780EHM核心板通过LuaTools烧录内核固件和demo脚本代码。烧录成功后开机运行,通过LuaTools日志查看运行结果。

3.1 通过SFUD原生接口直接操作Flash:

写入字符串:luatos-sfud1234567890123456789012345678901234567890

然后读取前4字节数据。

结果如下图所示:

wKgZPGiIUQiAe5FIAAJu4fI0JGk025.png

3.2 将Flash设备挂载为SFUD LFS文件系统:

我们将Flash设备成功挂载为SFUD LFS文件系统后,通过标准化文件管理接口对文件系统进行了全流程验证。

wKgZPGiIUTGAIA4UAAJ0vwjex4Q962.png

日志输出显示,文件系统挂载过程顺利完成,且测试文件读写、内容追加、文件删除等核心操作均能稳定执行,整个交互过程无异常报错信息,充分验证了SFUD LFS文件系统在嵌入式存储场景下的功能完整性。

今天的内容就分享到这里了~

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1683

    浏览量

    152190
  • 驱动库
    +关注

    关注

    0

    文章

    10

    浏览量

    7268
  • SFUD
    +关注

    关注

    0

    文章

    6

    浏览量

    1180
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞萨RA8D1 MCU的OSPI Flash适配指南

    OSPI Flash(Octal SPI Flash)是一种基于SPI串行外设接口)扩展的高速串行
    的头像 发表于 07-17 11:24 ?1683次阅读
    瑞萨RA8D1 MCU的OSPI <b class='flag-5'>Flash</b>适配指南

    开发进阶指南:LuatOS-log从入门到实战

    本文将带你深入探索LuatOS系统中log的核心原理与实战技巧,通过代码示例解析日志管理、错误追踪及性能优化的最佳实践,助力栈工程师构建更稳健的物联网应用。 今天,我们一起来认识L
    的头像 发表于 05-15 16:12 ?2357次阅读
    <b class='flag-5'>全</b>栈<b class='flag-5'>开发</b>进阶指南:LuatOS-log<b class='flag-5'>库</b>从入门到<b class='flag-5'>实战</b>!

    芯知识|广州唯创电子语音芯片开发流程解析:从选型到量产的实践指南

    三大核心展开。通过模块化设计与完善的开发支持体系,开发者可在30天内完成从概念验证到批量生产的流程。二、系统化开发
    的头像 发表于 05-13 08:19 ?226次阅读
    芯知识|广州唯创电子语音芯片<b class='flag-5'>开发</b><b class='flag-5'>全</b><b class='flag-5'>流程</b><b class='flag-5'>解析</b>:从选型到量产的实践指南

    解锁LuatOS-log栈工程师的日志管理实战课!

    针对开发者设计的实战教程,本文聚焦LuatOS平台log的高效使用,从基础配置到高级调试策略,手把手教你搭建可扩展的日志系统,提升项目维护效率。 今天,我们一起来认识LuatOS
    的头像 发表于 05-12 15:23 ?901次阅读
    解锁LuatOS-log<b class='flag-5'>库</b>:<b class='flag-5'>全</b>栈工程师的日志管理<b class='flag-5'>实战</b>课!

    锡膏使用避坑指南:50 个实战问答帮你解决 99% 的焊接难题(流程解析

    傲牛科技工程师围绕锡膏使用流程,精心梳理 50 个核心问题,涵盖存储准备、印刷工艺、焊接后处理、特殊场景应用、设备调试及材料选型六大维度,为广大客户和从业者深度解析锡膏使用中遇到的问题,每个
    的头像 发表于 04-14 09:45 ?615次阅读
    锡膏使用避坑指南:50 个<b class='flag-5'>实战</b>问答帮你解决 99% 的焊接难题(<b class='flag-5'>全</b><b class='flag-5'>流程</b><b class='flag-5'>解析</b>)

    CAN报文流程解析

    CAN报文流程解析,直流充电桩上的CAN通讯解析过程
    发表于 03-24 14:03 ?1次下载

    《手把手教你做PC-KaihongOS笔记本电脑开发实战》课件汇总

    实战》,该课程分为四个章节(共19课时),内容全面且深入,旨在通过产品案例教学,引领学员在体验笔记本电脑开发流程的同时,逐步掌握KaihongOS系统
    发表于 03-18 10:25

    对于一款新的BSP如何添加SPI驱动

    ;开发板上集成了两路SPI总线,本次实验将重点介绍RT-Thread系统中SPIBSP驱动的移植过程,以NXPMCXA153为例。移植流程SPI
    的头像 发表于 02-26 19:00 ?550次阅读
    对于一款新的BSP如何添加<b class='flag-5'>SPI</b><b class='flag-5'>驱动</b>

    DLPC410使用官方推荐SPI-FLASH引脚冲突怎么解决?

    由于XCF16PF停产,使用官方手册中推荐的SPI---FLASH,官方手册中写明正确使用SPI FLASH外设时需要正确配置FS[2:0
    发表于 02-19 07:36

    迅为RK3568开发驱动指南Linux中通用SPI设备驱动

    迅为RK3568开发驱动指南Linux中通用SPI设备驱动
    的头像 发表于 01-23 11:02 ?2930次阅读
    迅为RK3568<b class='flag-5'>开发</b>板<b class='flag-5'>驱动</b>指南Linux中通用<b class='flag-5'>SPI</b>设备<b class='flag-5'>驱动</b>

    KeyStone架构串行外设接口(SPI)手册

    SPI(Serial Peripheral Interface)是一种高速、全双工、同步的串行通信协议,它允许微控制器与一个或多个外围设备进行通信。SPI通信通常使用四根线:SCK(时钟线
    发表于 12-16 10:33 ?0次下载

    【S32K146 RT-Thread】之 使用SFUD组件驱动spi flash

    【S32K146 RT-Thread】之 使用SFUD组件驱动spi flash
    的头像 发表于 11-21 01:05 ?1193次阅读
    【S32K146 RT-Thread】之 使用<b class='flag-5'>SFUD</b>组件<b class='flag-5'>驱动</b><b class='flag-5'>spi</b> <b class='flag-5'>flash</b>

    物联网行业存储方案详解_SPI NOR Flash

    物联网系统中为什么要使用SPI NOR FLASH 物联网系统中使用SPI NOR FLASH的原因主要基于其独特的性能特点和在嵌入式系统中的广泛应用。以下是详细的分析: 1、高可靠性
    的头像 发表于 09-24 14:39 ?1187次阅读
    物联网行业存储方案详解_<b class='flag-5'>SPI</b> NOR <b class='flag-5'>Flash</b>

    PCBA加工流程解析:电子制造的关键环节

    一站式PCBA智造厂家今天为大家讲讲PCBA加工流程的关键环节有那些?PCBA加工电子制造的关键环节流程解析。在电子制造行业中,PCBA加工作为核心环节之一,承担着将电子元器件焊接到
    的头像 发表于 09-18 09:51 ?1332次阅读

    摆脱自建的繁琐,EDA元件转cadence原理图封装实战技巧

    摆脱自建的繁琐,EDA元件转cadence原理图封装实战技巧
    的头像 发表于 08-24 12:29 ?7082次阅读
    摆脱自建<b class='flag-5'>库</b>的繁琐,EDA元件<b class='flag-5'>库</b>转cadence原理图封装<b class='flag-5'>库</b><b class='flag-5'>实战</b>技巧