日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32H743+CubeMX-QSPI+DMA读取外部FLASH(W25Q128JVSQ)

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32H743+CubeMX-QSPI+DMA读取外部FLASH(W25Q128JVSQ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、前言
  • 二、硬件電路
  • 三、CubeMX
    • 3.1、Parameter Setting
    • 3.2、GPIO Settings
    • 3.3、MDMA Settings(重點)
    • 3.4、CubeMX生成項目代碼
  • 四、例程
    • 4.1、添加代碼到工程
    • 4.2、main.c
    • 4.3、DEBUG

相關筆記:
STM32H743+CubeMX-QSPI讀寫外部FLASH(W25Q128FV)

一、前言

實際項目上,禁止使用串行方式讀寫外部FLASH,必須使用DMA(并行)方式讀寫外部FLASH。讀寫外部FLASH屬于數據的搬運,這種簡單又枯燥的工作屬于DMA,CPU必須集中全力干其他有意義的事情。如果使用CPU去搬運大量又連續的數據的話,會有一定程度地影響CPU對外設的響應速度。

例程bsp代碼下載地址:
鏈接:https://pan.baidu.com/s/1ClLHTuJk0T3WA_zMpr9t3Q 提取碼:y78s

二、硬件電路

三、CubeMX

3.1、Parameter Setting

3.2、GPIO Settings

3.3、MDMA Settings(重點)

MDMA的設置如下,按照圖片設置就好。想了解MDMA的細節,需要去官方下載《STM32H7x3編程參考手冊》- 第14章 MDMA控制器。

Cube生成的MDMA的代碼如下:

3.4、CubeMX生成項目代碼


四、例程

移植例程代碼時,需要先確認現有的工程是否已經具備“重定向printf"的功能,因為bsp.h與bsp.c需要使用到printf。bsp_qspi_w25q128.h與bsp_qspi_w25q128.c又需要調用bsp.h。
云盤里有4個bsp文件,分別是:

  • bsp_qspi_w25q128.h
  • bsp_qspi_w25q128.c
  • bsp.h
  • bsp.c
  • 4.1、添加代碼到工程

    4.2、main.c

    首先,在main.c 包含頭文件 bsp_qspi_w25q128.h。

    程序的流程如下:
    第一步:通過函數QSPI_W25Qx_ReadID_DMA讀取外部FLASH的ID號碼,保存在變量test_Flash_ID里。(后面通過DEBUG模式看看變量test_Flash_ID里存了什么。)
    第二步:擦除外部FLASH的第一個扇區的數據。(擦除后,里面變成全是0xFF。)
    第三步:讀取外部FLASH的第一個扇區的8個數據,放到數組test_Read_Buf里。(看看在第一個扇區的位置前面8個數據是不是都是0xFF。)
    第四步:往外部FLASH的第一個扇區寫入數組test_buf里的8個數據。(用于后續確認是不是真的把數據寫進去了。)
    第五步:再讀取外部FLASH的第一個扇區的8個數據,繼續放到數組test_Read_Buf里。(看看往外部FLASH里寫數組是否真的成功了。)
    實際上,程序的目的就兩個:

  • 讀取外部FLASH ID。
  • 擦除FLASH后,寫入數組test_buf,再從FLASH讀出來,放入數組test_Read_Buf里。
  • 4.3、DEBUG

    經過查看單片機內存,變量test_Flash_ID = 0xef4018。表示成功讀取外部FLASH的ID。
    數組test_buf 成功寫入FLASH,再從FLASH里讀取出來,放入數組test_Read_Buf里。經過監控單片機內存看到數組test_Read_Buf 等于 數組test_buf。
    QSPI+DMA讀取外部FLASH成功!

    總結

    以上是生活随笔為你收集整理的STM32H743+CubeMX-QSPI+DMA读取外部FLASH(W25Q128JVSQ)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。