"); //-->
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电脑


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

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


最新demo已上传源码仓库:https://gitee.com/openLuat/LuatOS/tree/master/module/Air780EHM_Air780EHV_Air780EGH/demo/sfud
sfud_test.lua代码如下图示,完整demo详见源码仓库。




相关注意事项:
在sfud_test.lua中,通过test_sfud_raw和test_sfud_mountl两个变量来控制,是通过SFUD接口去读写Flash,还是挂载为SFUD LFS文件系统,通过文件系统相关接口去操作SFUD LFS文件系统中的文件。
也可以同时使用这两种方式,不过要注意同时使用SFUD直接写入时的地址和挂载SFUD LFS时的偏移量需要设计好(注意偏移量需要是64k的倍数),避免发生冲突。
三、示例运行结果
Air780EHM核心板通过LuaTools烧录内核固件和demo脚本代码。烧录成功后开机运行,通过LuaTools日志查看运行结果。
写入字符串:luatos-sfud1234567890123456789012345678901234567890
然后读取前4字节数据。
结果如下图所示:

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

日志输出显示,文件系统挂载过程顺利完成,且测试文件读写、内容追加、文件删除等核心操作均能稳定执行,整个交互过程无异常报错信息,充分验证了SFUD LFS文件系统在嵌入式存储场景下的功能完整性。
今天的内容就分享到这里了~
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
16位语言函数工具库
纳米电力将nPZero集成电路推向超低功耗物联网的量产
用AT89C2051单片机实验合弦乐
Kwikset:超低功耗Wi-Fi解锁无缝体验
长虹R2118A型彩电开关电源(LA单片机)电路
嵌入式系统与物联网
用单片机制作的纯正弦波逆变电源电路
SmartDV展示完整的边缘与连接IP解决方案,以高速和低功耗特性赋能移动、物联网和媒体处理设备创新
被收购后的芯科实验室:物联网与人工智能的未来走向
AVR 单片机专栏,资料下载!
基于物联网的电池组均衡充电与监控系统
利用PIC12C508单片机来实现加密狗技术[转帖]
芯科科技驱动和重塑智能门锁行业格局
单片机语言C51应用实战集锦
边缘计算与人工智能(Edge AI)如何引领新一轮技术革命
创维数码5000系列彩电开关电源(AN单片机)电路
物联网与RFID芯片
[转帖]从Cygnal C8051F看8位单片机发展之路
GD32E230F6V6实用指南:为下一个项目选择合适单片机
倾情奉献:MSP430汇编指令集(中文),详解带实例!
语音合成芯片T6668和单片机8031的接口电路图
TDK 发布 SensorStage 传感器评估平台,大幅加速 IMU 开发进程
超低功率高性能新一代产品MSP430F5xx
MSP430x2xx4xx系列
5V 单片机与5V 耐压单片机有何区别,为什么至关重要
MSP430单片机TIMER_A在产品设计中的应用
《ATmega8原理及应用手册》
AVR 单片机专栏,资料下载!之二
《AVR单片机C语言库》
MSP430 电表解决方案