RT-Thread中使用SPI操作FLASH(W25Q128),並在W25Q128上掛載文件系統


  • 開發板
    • 正點原子的STM32F407探索者
  • IDE
    • RT-Thread Studio
  • FLASH
    • W25Q128
  • FATFS
  • 參考RTThread官方文檔

步驟一:創建基礎工程

點擊完成。修改main.c中對應LED0燈的引腳

步驟二:點擊RT-Thread setting在圖形界面配置需要的組件和驅動

 W25Q128是16M spi flash,一共有256個block ,每個Block 64KB。

  一個Block可以分割為16個扇區(small sector),每個扇區4096字節(4KB),所以我們需要修改fatfs的扇區大小為4096

步驟三:根據RTT官網文檔對SPI驅動進行修改,右擊SPI 圖標-->選擇開發文檔-->驅動開發文檔

SPI 設備驅動的開發可總結為如下:
*** 新建 RT-Thread 完整版項目**
*** 打開 SPI 設備驅動框架**
*** 定義 SPI 總線相關的宏**
*** 打開 HAL 庫函數對 SPI 總線的支持**
*** 復制 SPI 引腳初始化函數到工程**



在rtthread源碼中
rt-thread/ bsp / stm32 / stm32f407-atk-explorer / board / CubeMX_Config / Src目錄下有stm32f4xx_hal_msp.c
文件中有CubeMX針對SPI的初始化函數將其拷貝到drv_spi.c的文末。

編譯,下載到板子。結果如圖

步驟四:添加SPI從設備,也就是W25Q128設備

添加文件和代碼

下載到開發板

步驟五:將W25Q128抽象為塊設備供rtt使用,后續掛載文件系統

步驟六:掛載文件系統

結果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM