日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀] 概述flash作為stm32中的存儲物質,使用非常廣泛。關于flash的概念什么的網(wǎng)上已經(jīng)有很多介紹,筆者便不再贅述,分享一篇stm32的閃存中文編程手冊。相對于很多操作寄存器的例子,筆者這篇著重于用庫函數(shù)處

概述
  • flash作為stm32中的存儲物質,使用非常廣泛。關于flash的概念什么的網(wǎng)上已經(jīng)有很多介紹,筆者便不再贅述,分享一篇stm32的閃存中文編程手冊。

  • 相對于很多操作寄存器的例子,筆者這篇著重于用庫函數(shù)處理。

代碼設計寫入

編寫代碼的時候實際上非常簡單。只需要幾個步驟就可以完成寫入。

  • 解鎖
    FLASH_Unlock();
    這一步非常簡單。只需要調用上面的解鎖函數(shù)即可。雖然簡單,但是不能省略~

  • 清除相應的標志位
    FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_BSY | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);
    筆者于頭文件中找到了這幾個標志位于是全部清除。同樣也是不能省略。

  • 擦除扇區(qū)

    • 這一步是整個寫入過程中最為讓人不解的。但是只要搞懂了原理。其實也不是那么難懂。

      flash中有一個叫扇區(qū)的概念,有的教材也稱為頁。按照不同容量,flash存儲器組織成32個1K字節(jié)/頁(小容量)、 128個1K字節(jié)/頁(中容量)、 256個2K字節(jié)/頁(大容量)的主存儲器塊和一個信息塊。

    • st公司提供的擦除flash扇區(qū)庫函數(shù),一次至少要擦除一個扇區(qū)。
      FLASH_Status FLASH_ErasePage(uint32_t Page_Address)
      其中Page_Address是要擦除扇區(qū)的地址,若傳入的不是首地址也會對齊到首地址擦除相應的一個扇區(qū)。也就是說我們存在這個扇區(qū)上的所有東西都會被清除。

    • 如果不清除該扇區(qū),我們是沒有辦法在該扇區(qū)上寫東西的。據(jù)說這樣是因為硬件設計的原因(筆者不是很確定)。

    • 這里就涉及到了一個可擦除范圍的問題。flash的地址范圍那么大,會不會有什么地方是不能擦除的呢。答案是有的。經(jīng)過筆者的實驗,筆者的stm32f107vct6的地址范圍是0x08032000~0x0803FFC4。至于為什么不是從flash的起始地址0x08000000開始呢。根據(jù)筆者的查詢,是因為避開rom開始的位置,不能把正在運行的程序給擦除了,至于為什么是在0x0803FFC4結束,這個筆者就不是特別明白了,但是總的來說不影響我們的使用。

  • 寫入數(shù)據(jù)

    這也是最關鍵的一步,前面說了半天,都是為這個做鋪墊。

    先介紹一個字和半字的概念

  • 字(Word): 32位長的數(shù)據(jù)或指令

    半字(Half Word): 16位長的數(shù)據(jù)或指令

    flash的寫入是分字和半字的。

    FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data)

    FLASH_Status FLASH_ProgramWord(uint32_t Address, uint32_t Data)

    根據(jù)所指定的地址,一次只能寫進一個數(shù)據(jù)。

  • 上鎖

    最后一步,重新鎖定

    FLASH_Lock();

  • 流程圖

解鎖清楚標志位擦除寫入上鎖

讀取

讀取就更為簡單了,只需要根據(jù)地址轉為指針在轉為數(shù)據(jù)即可
pBuf[i] = *((u16*)startAddr + i);


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

中國北京(2025年9月10日)—— 業(yè)界領先的半導體器件供應商兆易創(chuàng)新GigaDevice(股票代碼 603986)亮相于深圳國際會展中心舉辦的第26屆中國國際光電博覽會(展位號:12C12),全面展示GD25 SPI...

關鍵字: 光通信 MCU Flash

在嵌入式系統(tǒng)中,F(xiàn)lash存儲器因其非易失性、高密度和低成本特性,成為代碼存儲和關鍵數(shù)據(jù)保存的核心組件。然而,MCU驅動Flash讀寫時,開發(fā)者常因對硬件特性理解不足或操作流程疏忽,陷入性能下降、數(shù)據(jù)損壞甚至硬件損壞的陷...

關鍵字: MCU驅動 Flash

深圳2025年4月24日 /美通社/ -- 4月23日,2025上海國際車展盛大啟幕,全球汽車產(chǎn)業(yè)的目光聚焦于這場科技與創(chuàng)新的盛宴。在眾多展示亮點中,汽車AI+應用無疑是最大的熱點之一,“駕控超級大腦”技術概念、車機交互...

關鍵字: GB EMMC Flash PS

在自動駕駛、機器人與工業(yè)檢測領域,激光雷達作為環(huán)境感知的核心傳感器,其技術路線正從機械式向固態(tài)化演進。MEMS、OPA與Flash作為固態(tài)激光雷達的三大主流架構,分別通過微機電系統(tǒng)、光學相控陣與泛光面陣技術實現(xiàn)掃描與探測...

關鍵字: MEMS OPA Flash

在嵌入式系統(tǒng)開發(fā)中,外部存儲介質的選擇和管理至關重要。SPI Flash以其高容量、低功耗、高速率等特點,成為眾多嵌入式設備的首選存儲方案。然而,如何高效管理SPI Flash存儲,避免數(shù)據(jù)丟失、提高讀寫性能,是開發(fā)者必...

關鍵字: 嵌入式SPI Flash LittleFS

STM32單片機作為一種高性能、低功耗的嵌入式微控制器,廣泛應用于各種電子設備中。在實際應用中,為了擴展存儲空間或實現(xiàn)數(shù)據(jù)的持久化存儲,經(jīng)常需要使用外部FLASH存儲器。本文將詳細介紹STM32單片機如何讀寫外部FLAS...

關鍵字: STM32 Flash

在嵌入式系統(tǒng)和存儲設備領域,F(xiàn)lash和EEPROM(電可擦可編程只讀存儲器)因其非易失性存儲特性而被廣泛應用。這些存儲設備能夠在斷電后保持數(shù)據(jù),對于需要長期保存配置參數(shù)、程序代碼或用戶數(shù)據(jù)的應用來說至關重要。然而,關于...

關鍵字: Flash EEPROM
關閉