国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

串行SPI Flash通用驅動庫SFUD:從理論到實踐的完整示例

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2025-08-06 17:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

理解并應用SPI Flash驅動庫是嵌入式開發中的重要技能。SFUD庫通過模塊化設計,將復雜的SPI Flash操作簡化為標準接口調用。本文將通過理論與實踐結合的方式,詳細講解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

    文章

    1748

    瀏覽量

    155529
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1885

    瀏覽量

    101259
  • SFUD
    +關注

    關注

    0

    文章

    7

    瀏覽量

    1286
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深入解析Rockchip SFC驅動SPI Flash傳輸流程與問題排查指南

    Controller)驅動spi-rockchip-sfc.c),用于高效管理SPI Flash的讀寫傳輸。本文基于Linux內核驅動
    的頭像 發表于 02-04 07:13 ?426次閱讀
    深入解析Rockchip SFC<b class='flag-5'>驅動</b>:<b class='flag-5'>SPI</b> <b class='flag-5'>Flash</b>傳輸流程與問題排查指南

    SPI NOR FlashSPI NAND Flash存儲芯片的區別

    SPI NOR FlashSPI NAND Flash并非相互替代,而是互補關系。SPI NOR勝在讀取速度快、使用簡單、可靠性高,是代碼
    的頭像 發表于 01-29 16:58 ?470次閱讀
    <b class='flag-5'>SPI</b> NOR <b class='flag-5'>Flash</b>和<b class='flag-5'>SPI</b> NAND <b class='flag-5'>Flash</b>存儲芯片的區別

    射頻測試線纜選型指南:理論到實踐

    射頻測試線纜選型需關注頻段覆蓋、衰減、相位穩定性和VSWR,以確保測量精度與系統可靠性。
    的頭像 發表于 12-11 11:01 ?572次閱讀

    FPGA實現基于SPI協議的Flash驅動控制芯片擦除

    本篇博客具體包括SPI協議的基本原理、模式選擇以及時序邏輯要求,采用FPGA(EPCE4),通過SPI通信協議,對flash(W25Q16BV)存儲的固化程序進行芯片擦除操作。
    的頭像 發表于 12-02 10:00 ?2579次閱讀
    FPGA實現基于<b class='flag-5'>SPI</b>協議的<b class='flag-5'>Flash</b><b class='flag-5'>驅動</b>控制芯片擦除

    高性能SPI NOR FLASH芯片ZB25VQ系列推薦

    在嵌入式系統、物聯網設備及各類存儲應用中,SPI NOR FLASH芯片因其接口簡單、功耗低、讀寫速度快等特點,成為代碼存儲與數據緩存的常見選擇。SPI NOR FLASH是一種基于
    的頭像 發表于 12-01 14:52 ?628次閱讀

    ECU刷寫完全指南:理論到實踐

    ECU刷寫是現代汽車電子開發中的核心環節,基于UDS診斷協議實現控制器軟件的更新與維護。本文將以USBCANFD-400U接口卡為例,詳細介紹CANFD總線環境下ECU刷寫的標準流程與實操要點。ECU刷寫ECU(電子控制單元)是汽車的核心控制部件,相當于車輛的"行車電腦",負責發動機管理、變速箱控制、車身穩定等關鍵功能。隨著汽車智能化程度不斷提升,單個車型搭
    的頭像 發表于 11-12 11:37 ?1119次閱讀
    ECU刷寫完全指南:<b class='flag-5'>從</b><b class='flag-5'>理論到</b><b class='flag-5'>實踐</b>

    通用bootloader無法使用45db161flash怎么解決?

    通用bootloader不選“支持spi flash”,download放于片內flash,正常啟動,ota正常,app驅動at45db16
    發表于 09-18 08:23

    RT-Thread 5.1.0版本中調用rt_sfud_flash_probe()函數報錯的原因?

    使用RT-Thread Studio編譯器,RT-Thread版本5.1.0 三、配置過程 1、啟用SPISFUD 2、修改sfud_cfg.h文件 3、修改sfud_flash
    發表于 09-18 06:08

    SPI NOR FLASH是什么,與SPI NAND Flash的區別

    SPI NOR FLASH是什么? ? SPI NOR FLASH是一種非易失性存儲器,它通過串行接口進行數據傳輸,具有讀寫速度快、可靠性高
    的頭像 發表于 08-21 09:26 ?1588次閱讀

    SFUD驅動實戰手冊:串行SPI Flash開發全流程解析

    針對嵌入式系統中SPI Flash的多樣化需求,SFUD提供了靈活且通用的解決方案。本文將從環境配置、
    的頭像 發表于 07-29 13:19 ?732次閱讀
    <b class='flag-5'>SFUD</b><b class='flag-5'>驅動</b><b class='flag-5'>庫</b>實戰手冊:<b class='flag-5'>串行</b><b class='flag-5'>SPI</b> <b class='flag-5'>Flash</b>開發全流程解析

    瑞薩RA8D1 MCU的OSPI Flash適配指南

    OSPI Flash(Octal SPI Flash)是一種基于SPI串行外設接口)擴展的高速串行
    的頭像 發表于 07-17 11:24 ?3043次閱讀
    瑞薩RA8D1 MCU的OSPI <b class='flag-5'>Flash</b>適配指南

    多個i.MXRT共享一顆Flash啟動的方法與實踐(下)

    在 《多個i.MXRT共享一顆Flash啟動的方法與實踐(上)》 一文里痞子衡給大家理論上介紹一種多 i.MXRT 共享 Flash 啟動
    的頭像 發表于 06-05 10:04 ?1181次閱讀
    多個i.MXRT共享一顆<b class='flag-5'>Flash</b>啟動的方法與<b class='flag-5'>實踐</b>(下)

    基于LuatOS核心的實時操作系統開發:理論到實踐~

    實時系統的開發挑戰在于平衡響應時間與系統開銷。LuatOS核心通過時間片輪轉與優先級混合調度策略,既保證了高實時性任務的即時執行,又為低優先級任務提供了公平調度機會。其事件驅動架構還支持異步處理
    的頭像 發表于 05-16 13:56 ?554次閱讀
    基于LuatOS核心<b class='flag-5'>庫</b>的實時操作系統開發:<b class='flag-5'>從</b><b class='flag-5'>理論到</b><b class='flag-5'>實踐</b>~

    UC3854 功率因數校正設計全攻略:理論到實戰

    【限時下載】UC3854 功率因數校正(PFC)設計全攻略:理論到實戰,工程師必備技術手冊 *附件:《UC3854 功率因數校正設計全攻略:理論到實戰》.pdf 為什么工程師必須掌
    的頭像 發表于 04-09 15:35 ?1515次閱讀
    UC3854 功率因數校正設計全攻略:<b class='flag-5'>從</b><b class='flag-5'>理論到</b>實戰

    串行通信接口SPI與QSPI的區別

    在嵌入式系統的世界里,選擇正確的通信技術可以對項目的性能和可擴展性產生重大影響。讓我們比較兩個流行的串行通信接口:SPI串行外設接口)和QSPI(四路SPI)。
    的頭像 發表于 04-09 15:24 ?3275次閱讀
    <b class='flag-5'>串行</b>通信接口<b class='flag-5'>SPI</b>與QSPI的區別