日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

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

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-06 14:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

1寫在前面

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

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

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

2

Flash閃存接口

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

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

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

3

STM32片上Flash容量

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

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

4

Flash閃存模塊的組織

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

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

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

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

5

非對其寫操作

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

寫Flash過程:

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

1.位帶別名區(qū)最低有效位

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

6

寫操作不響應代碼或數(shù)據(jù)讀取

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

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

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

因為比較耗時,所以,在寫數(shù)據(jù)時,CPU不會執(zhí)行其他操作。

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

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

提示:

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

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

    關注

    147

    文章

    19160

    瀏覽量

    404834
  • FlaSh
    +關注

    關注

    10

    文章

    1761

    瀏覽量

    155956
  • STM32
    +關注

    關注

    2313

    文章

    11195

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深入剖析STM32W108C8:高性能IEEE 802.15.4無線系統(tǒng)

    深入剖析STM32W108C8:高性能IEEE 802.15.4無線系統(tǒng) 在當今的電子設計領域,無線通信技術的發(fā)展日新月異。對于工程師而言,選擇款合適的無線
    的頭像 發(fā)表于 04-17 15:25 ?205次閱讀

    集成式RFID讀寫器與非集成RFID讀寫

    集成RFID讀寫器將典型的固定RFID讀寫器和RFID天線集成為體,無需外部天線。如果需要額外的天線,一些集成讀寫器會有
    的頭像 發(fā)表于 03-16 15:46 ?251次閱讀
    集成式RFID<b class='flag-5'>讀寫</b>器與非集成RFID<b class='flag-5'>讀寫</b>器

    NOR Flash和NAND flash有什么區(qū)別

    在嵌入式系統(tǒng)、移動設備與存儲領域,NOR Flash和NAND Flash是兩種最常見的非易失性存儲技術。盡管它們都屬于閃存(Flash EEPROM)家族,但在內部結構、接口方式、讀寫
    的頭像 發(fā)表于 03-11 15:08 ?661次閱讀
    NOR <b class='flag-5'>Flash</b>和NAND <b class='flag-5'>flash</b>有什么區(qū)別

    CW32F030FLASH閃存存儲器物理區(qū)域的劃分

    FLASH 閃存由兩部分物理區(qū)域組成:主 FLASH 存儲器和啟動程序存儲器。 1、主 FLASH 存儲器,共 64KB,地址空間為
    發(fā)表于 12-23 08:28

    貼片電容精度J±5%的一些詳細知識

    貼片電容精度J±5%表示電容的實際值與標稱值之間的偏差范圍在±5%以內 ,以下是關于貼片電容精度J±5%的一些詳細知識、精度等級含義 J±5% :字母“J”在貼片電容的標識中通常表示標稱精度
    的頭像 發(fā)表于 11-20 14:38 ?1020次閱讀
    貼片電容精度J±5%的<b class='flag-5'>一些</b>詳細<b class='flag-5'>知識</b>

    PI加熱知識FAQ

    加熱最大功率是多少?常規(guī)功率密度是3w/cm2,要看加熱貼合的基材散熱怎么樣,散熱不好的話,功率可以小點,散熱好的話,功率可以適當增加一些。加熱
    的頭像 發(fā)表于 09-26 16:12 ?945次閱讀
    PI加熱<b class='flag-5'>片</b><b class='flag-5'>知識</b>FAQ

    STM32C011開發(fā)(3)----Flash操作

    STM32C011 系列微控制器內置 Flash 存儲器,支持程序存儲與數(shù)據(jù)保存,具備頁面擦除、雙字寫入、讀寫保護等功能。本文將簡要介紹 STM32C011 的
    的頭像 發(fā)表于 09-18 16:48 ?5328次閱讀
    <b class='flag-5'>STM32</b>C011開發(fā)(3)----<b class='flag-5'>Flash</b>操作

    【RA4M2-SENSOR】讀寫Code Flash

    先看下RA4M2系類MCU的flash分布,這里分為兩種塊,種塊大小為8Kb,另種為32Kb RA4M2-SENSOR 開發(fā)板的MCU型號是 R7FA4M2AD3CFL 在數(shù)據(jù)
    發(fā)表于 09-14 10:39

    當不同的數(shù)據(jù)放在同Flash頁面上時,請問如何在不影響其他數(shù)據(jù)的情況下更改一些單獨的數(shù)據(jù)?

    當不同的數(shù)據(jù)放在同Flash頁面上時,如何在不影響其他數(shù)據(jù)的情況下更改一些單獨的數(shù)據(jù)?
    發(fā)表于 08-22 06:25

    SPI NOR FLASH是什么,與SPI NAND Flash的區(qū)別

    存儲位數(shù)據(jù) (0或1) ,可以直接尋址,尋址速度非常快。SPI NOR FLASH支持全雙工、單工以及半雙工傳輸方式,被廣泛應用于嵌入式系統(tǒng)中,如Bootloader、操作系統(tǒng)內核等程序的存儲。由于它的讀寫速度和尋址方式類似于
    的頭像 發(fā)表于 08-21 09:26 ?1908次閱讀

    求助,關于STM32F407的flash讀寫問題求解

    目前flash模擬EEPROM是參考的官方的flash讀寫代碼,但C語言中attribute ((at())絕對定位的應用 網上的段代碼如下 1、定位到
    發(fā)表于 07-18 07:14

    第二十九章 讀寫內部FLASH

    本文介紹了W55MH32內部FLASH,其含主存儲、系統(tǒng)存儲等,可存儲代碼及掉電保存數(shù)據(jù)。讀寫需解鎖、擦除頁等步驟,標準庫提供相關函數(shù)。還展示了擦除編程測試及模擬EEPROM讀寫的實驗。
    的頭像 發(fā)表于 06-20 14:09 ?1396次閱讀
    第二十九章 <b class='flag-5'>讀寫</b>內部<b class='flag-5'>FLASH</b>

    關于芯片設計的一些基本知識

    芯片的設計理念眾所周知,芯片擁有極為復雜的結構。以英偉達的B200芯片為例,在巴掌大的面積,塞入了2080億個晶體管。里面的布局,堪稱個異次元空間級的迷宮。英偉達B200芯片如此復雜的架構
    的頭像 發(fā)表于 06-11 12:16 ?1548次閱讀
    關于芯片設計的<b class='flag-5'>一些</b>基本<b class='flag-5'>知識</b>

    Debian和Ubuntu哪個好一些?

    兼容性對比Debian和Ubuntu哪個好一些,并為您揭示如何通過RAKsmart服務器釋放Linux系統(tǒng)的最大潛能。
    的頭像 發(fā)表于 05-07 10:58 ?1447次閱讀

    MCUFlash

    ? ? MCUFlash是微控制器內部集成的非易失性存儲器,主要用于存儲程序代碼、常量數(shù)據(jù)及系統(tǒng)配置信息。其核心特性與功能如下: 、定義與類型?
    的頭像 發(fā)表于 05-06 14:26 ?1597次閱讀
    横峰县| 大冶市| 张北县| 四川省| 南城县| 南华县| 莎车县| 宝鸡市| 麻栗坡县| 连云港市| 乃东县| 嘉禾县| 长宁县| 祁阳县| 常州市| 望江县| 韶关市| 曲靖市| 苍梧县| 曲沃县| 建瓯市| 梁河县| 武邑县| 东辽县| 银川市| 平乡县| 宜川县| 麻栗坡县| 安远县| 弋阳县| 顺平县| 团风县| 卢湾区| 云和县| 师宗县| 涟源市| 松滋市| 彭泽县| 密山市| 淄博市| 元谋县|