女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

STM32片上Flash讀寫一些重要知識

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-06 14:54 ? 次閱讀

關于STM32片上Flash讀寫操作,之前很多朋友遇到過坑,也問過很多相關的問題,這里再簡單總結一下。

1寫在前面

STM32片上Flash除了存儲我們的代碼,多余的空間還可以供我自己編程(讀寫)。比如,存儲標志位、字庫等。

如果對片上Flash讀寫操作不當,將會導致不可挽回的結局。比如:修改了應用程序代碼導致程序跑飛,非對其操作導致異常中斷等。

因此,我們對片上Flash讀寫操作時,一定要避免一些錯誤的做法。下面將講述一些關于STM32片上Flash的知識,讓大家掌握更多相關知識。

2

Flash閃存接口

STM32片上Flash閃存接口是在AHB協議上實現了對指令和數據的訪問,它通過對存儲器的預取緩存,加快了存儲器的訪問;

閃存接口還實現了在所有工作電壓下對閃存編程和擦除所需的邏輯電路,這里還包括訪問和寫入保護以及選項字節的控制。

內置閃存模塊可以在通用地址空間直接尋址,任何32位數據的讀操作都能訪問閃存模塊的內容并得到相應的數據。

3

STM32片上Flash容量

STM32片上Flash容量大小與芯片的型號有關,具體大小可以參看命名規則:

而我們也可以通過讀取Flash容量寄存器,或通過STM32 ST-LINK Utility工具獲取芯片容量。具體可以參看我的另一篇文章《關于STM32的這幾個寄存器》

4

Flash閃存模塊的組織

STM32的Flash,有的是分頁,而有的卻是分塊,具體可以查閱“參考手冊”。

比如:STM32F0、 F1、 F3、 L1等就是按Page頁來劃分的,如下圖:

而像STM32F2、F4等就是按Sector扇區來劃分,如下圖:

所以,如果移植代碼,從Page頁移植到Sector扇區,或者從Sector扇區移植到Page頁,這部分底層代碼必須要修改才行。

5

非對其寫操作

STM32為32位的MCU,即4個字節。如果不是按照4個字節的寫Flash,將導致Faults異常。

寫Flash過程:

這里大家可以參看我之前分享的文章:

1.位帶別名區最低有效位

2.談談STM32(CM3)的Faults異常

6

寫操作不響應代碼或數據讀取

對STM32內部FLash的寫操作,相對于執行指令是比較耗時的。從數據手冊可以得出16位數據編程時間再40 --- 70us。

從STM32編程手冊中,可以知道:在進行寫或擦除操作時,不能進行代碼或數據的讀取操作。

比如:你在寫Flash期間有接收串口數據,很有可能會丟串口數據。

因為比較耗時,所以,在寫數據時,CPU不會執行其他操作。

簡單說:在寫Flash時,CPU 不能取指令,導致中斷得不到及時響應,從而發生接收到的數據未及時讀走而被覆蓋的現象。

遇到這種情況,解決的辦法:使用DMA。DMA不需要CPU干預,一旦 USART 有數據接收到,由 DMA 負責將其傳輸至循環緩沖區中。軟件定期檢測循環緩沖區中是否有接收到的數據,如果有則加以處理。

提示:

如果你的代碼會反復讀Flash,建議使用外部Flash。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17824

    瀏覽量

    360236
  • FlaSh
    +關注

    關注

    10

    文章

    1662

    瀏覽量

    150964
  • STM32
    +關注

    關注

    2289

    文章

    11011

    瀏覽量

    362300
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    MCUFlash

    ? ? MCUFlash是微控制器內部集成的非易失性存儲器,主要用于存儲程序代碼、常量數據及系統配置信息。其核心特性與功能如下: 、定義與類型?
    的頭像 發表于 05-06 14:26 ?173次閱讀

    STM32L476 Flash擦除失敗的原因?

    開發板MCU型號:STM32L476RG 同樣的固件在開發板中flash讀寫擦除操作都沒問題,但在產品中擦除函數返回成功,但flash中的數據其實并沒有擦除。 這兩款MCU在
    發表于 04-23 08:26

    S32K311如何在Flash測試ECC?

    我有一些與目標 S32K311 Flash ECC 相關的問題 - ERM 是否負責 Code Flash 和 Data Flash
    發表于 04-14 08:47

    STM32C031F4 FLASH存儲器讀寫例程各位高能不能提供個?

    STM32C031F4FLASH存儲器 讀寫例程 各位高能不能提供個謝謝大家
    發表于 03-13 07:37

    使用DLP3479+DLP4710+DLPA3005開發光機遇到一些疑問求解

    目前在使用DLP3479+DLP4710+DLPA3005開發光機。遇到一些疑問如下: 1.DLPC3479 目前是通過SPI加載flash圖片數據,是否可以通過外掛內存(RAM)的模式加載圖片
    發表于 02-20 08:02

    【半導體存儲】關于NAND Flash一些知識

      前言   作為名電子專業的學生,半導體存儲顯然是繞不過去的個坎,今天聊聊關于Nand Flash一些
    發表于 12-17 17:34

    關于NAND Flash一些知識

    前言 作為名電子專業的學生,半導體存儲顯然是繞不過去的個坎,今天聊聊關于Nand Flash一些
    的頭像 發表于 12-17 17:33 ?645次閱讀

    一些常見的動態電路

    無論是模電還是數電,理論知識相對來說還是比較枯燥,各種電路原理理解清楚不算容易,換種生動形象的方式或許會增加一些趣味性,也更容易理解這些知識。下面整理了
    的頭像 發表于 11-16 09:26 ?943次閱讀
    <b class='flag-5'>一些</b>常見的動態電路

    EEPROM輕量級的簡易類文件的數據讀寫庫:EEPROMFS

    雖然 EEPROM 相對 Flash 讀寫速度更慢,但 EEPROM 一些獨有特性是 Flash 無法實現的,比如字節讀寫操作。 所以,EE
    的頭像 發表于 11-15 16:31 ?1030次閱讀
    EEPROM輕量級的簡易類文件的數據<b class='flag-5'>讀寫</b>庫:EEPROMFS

    分享一些常見的電路

    理解模電和數電的電路原理對于初學者來說可能比較困難,但通過一些生動的教學方法和資源,可以有效地提高學習興趣和理解能力。 下面整理了一些常見的電路,以動態圖形的方式展示。 整流電路 單相橋式整流
    的頭像 發表于 11-13 09:28 ?703次閱讀
    分享<b class='flag-5'>一些</b>常見的電路

    閃存隨機讀寫與連續讀寫哪個重要

    閃存隨機讀寫與連續讀寫各有其重要性,具體取決于應用場景和需求。 隨機讀寫重要性 延遲小,響應快 : 閃存(尤其是SSD)的隨機
    的頭像 發表于 10-12 11:44 ?947次閱讀

    如何在STM32運行AI應用

    一些基本使用案例的應用程序示例。X-LINUX-AI中提供的示例包括系列用于圖像分類、對象檢測、語義分割和人體姿勢估計的優化模型。X-LINUX-AI中作為預構建
    的頭像 發表于 09-30 08:00 ?3193次閱讀
    如何在<b class='flag-5'>STM32</b><b class='flag-5'>上</b>運行AI應用

    LED驅動器應用的一些指南和技巧

    電子發燒友網站提供《LED驅動器應用的一些指南和技巧.pdf》資料免費下載
    發表于 09-25 11:35 ?0次下載
    LED驅動器應用的<b class='flag-5'>一些</b>指南和技巧

    STM32CUBEMX(10)--Flash讀寫

    概述 本例程主要講解如何對芯片自帶Flash進行讀寫,用芯片內部Flash可以對一些需要斷電保存的數據進行保存,無需加外部得存儲芯片,本例程采用的是
    發表于 09-10 15:36

    MK米客方德SD NAND:STM32平臺的存儲方案

    STM32平臺,SD卡的重要性不言而喻,它為嵌入式系統提供了必要的數據存儲和讀寫能力。MK米客方德SD作為市場上的種選擇,因其耐用性、
    的頭像 發表于 08-26 10:23 ?1026次閱讀
    MK米客方德SD NAND:<b class='flag-5'>STM32</b>平臺<b class='flag-5'>上</b>的存儲方案