色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32片上Flash讀寫一些重要知識(shí)

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

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

1寫在前面

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

如果對(duì)片上Flash讀寫操作不當(dāng),將會(huì)導(dǎo)致不可挽回的結(jié)局。比如:修改了應(yīng)用程序代碼導(dǎo)致程序跑飛,非對(duì)其操作導(dǎo)致異常中斷等。

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

2

Flash閃存接口

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

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

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

3

STM32片上Flash容量

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

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

4

Flash閃存模塊的組織

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

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

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

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

5

非對(duì)其寫操作

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

寫Flash過程:

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

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

2.談?wù)凷TM32(CM3)的Faults異常

6

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

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

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

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

因?yàn)楸容^耗時(shí),所以,在寫數(shù)據(jù)時(shí),CPU不會(huì)執(zhí)行其他操作。

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

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

提示:

如果你的代碼會(huì)反復(fù)讀Flash,建議使用外部Flash。

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

    關(guān)注

    146

    文章

    17458

    瀏覽量

    354449
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1649

    瀏覽量

    149489
  • STM32
    +關(guān)注

    關(guān)注

    2276

    文章

    10947

    瀏覽量

    359158
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【半導(dǎo)體存儲(chǔ)】關(guān)于NAND Flash一些知識(shí)

      前言   作為名電子專業(yè)的學(xué)生,半導(dǎo)體存儲(chǔ)顯然是繞不過去的個(gè)坎,今天聊聊關(guān)于Nand Flash一些
    發(fā)表于 12-17 17:34

    關(guān)于NAND Flash一些知識(shí)

    前言 作為名電子專業(yè)的學(xué)生,半導(dǎo)體存儲(chǔ)顯然是繞不過去的個(gè)坎,今天聊聊關(guān)于Nand Flash一些
    的頭像 發(fā)表于 12-17 17:33 ?324次閱讀

    一些常見的動(dòng)態(tài)電路

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

    EEPROM輕量級(jí)的簡(jiǎn)易類文件的數(shù)據(jù)讀寫庫:EEPROMFS

    雖然 EEPROM 相對(duì) Flash 讀寫速度更慢,但 EEPROM 一些獨(dú)有特性是 Flash 無法實(shí)現(xiàn)的,比如字節(jié)讀寫操作。 所以,EE
    的頭像 發(fā)表于 11-15 16:31 ?729次閱讀
    EEPROM輕量級(jí)的簡(jiǎn)易類文件的數(shù)據(jù)<b class='flag-5'>讀寫</b>庫:EEPROMFS

    閃存隨機(jī)讀寫與連續(xù)讀寫哪個(gè)重要

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

    STM32CUBEMX(10)--Flash讀寫

    概述 本例程主要講解如何對(duì)芯片自帶Flash進(jìn)行讀寫,用芯片內(nèi)部Flash可以對(duì)一些需要斷電保存的數(shù)據(jù)進(jìn)行保存,無需加外部得存儲(chǔ)芯片,本例程采用的是
    發(fā)表于 09-10 15:36

    如何使用SPI的DMA模式讀寫FLASH

    出來。 因?yàn)槲蚁?b class='flag-5'>一步想做個(gè)監(jiān)測(cè)系統(tǒng),想提高flash讀寫效率,使用DMA模式 MCU直在監(jiān)測(cè),不斷往數(shù)組中寫入數(shù)據(jù),
    發(fā)表于 04-16 07:59

    STM32flash能否讀取正在運(yùn)行的代碼段內(nèi)容?

    如題 小弟想請(qǐng)教下大家 STM32flash的讀取問題。舉個(gè)例子: 函數(shù)的功能是 讀取
    發(fā)表于 04-16 07:22

    細(xì)談SolidWorks教育版的一些基礎(chǔ)知識(shí)

    SolidWorks教育版是款廣泛應(yīng)用于工程設(shè)計(jì)和教育領(lǐng)域的三維建模軟件。它具備直觀易用的操作界面和強(qiáng)大的設(shè)計(jì)功能,為學(xué)生提供了個(gè)學(xué)習(xí)和實(shí)踐的平臺(tái)。在本文中,我們將詳細(xì)探討SolidWorks教育版的一些基礎(chǔ)
    的頭像 發(fā)表于 04-01 14:35 ?457次閱讀

    系統(tǒng)soc芯片的類型與應(yīng)用領(lǐng)域

    系統(tǒng)(SoC)芯片是種高度集成的半導(dǎo)體產(chǎn)品,它將傳統(tǒng)的微處理器、內(nèi)存、輸入/輸出端口以及其他必要的電子系統(tǒng)組件集成在單芯片。SoC
    的頭像 發(fā)表于 03-28 15:26 ?1687次閱讀

    可編程系統(tǒng)的優(yōu)缺點(diǎn)

    可編程系統(tǒng)(PSoC)作為種靈活、高效的解決方案,具有顯著的優(yōu)點(diǎn)和一些潛在的缺點(diǎn)。
    的頭像 發(fā)表于 03-28 15:13 ?756次閱讀

    STM32H750 QSPI flash重映射模式下有方法能實(shí)現(xiàn)讀寫操作嗎?

    STM32H750 QSPI flash重映射模式下有方法能實(shí)現(xiàn)讀寫操作嗎
    發(fā)表于 03-25 08:06

    通用bootloader選“支持spi flash”,無論設(shè)定download為內(nèi)還是flash啟動(dòng)都找不到at45db161,為什么?

    通用bootloader不選“支持spi flash”,download放于內(nèi)flash,正常啟動(dòng),ota正常,app驅(qū)動(dòng)at45db161讀寫正常。通用bootloader選“支持
    發(fā)表于 03-22 07:45

    STM32G474RCT6超出FLASH之外的地址,依然可以正常讀寫,這正常嗎?

    有大佬碰到過超出FLASH之外的內(nèi)存,也可以正常讀寫的情況嗎?我用的芯片是STM32G474RCT6,FLASH為 256kB的,但是我對(duì) Page64頁、Page65頁或者后面幾頁
    發(fā)表于 03-15 08:17

    STM32L476利用雙bank的方式進(jìn)行升級(jí),在flash中設(shè)置的一些flag讀不到是什么問題?

    STM32L476利用雙bank的方式進(jìn)行升級(jí),這個(gè)是通過Syscfg_Memrmp中的FB_Mode來做的,我試了下,可以快速切換到另外個(gè)bank,但是在flash中設(shè)置的一些fl
    發(fā)表于 03-12 07:43
    主站蜘蛛池模板: 美女挑战50厘米长的黑人 | 爱情岛论坛网亚洲品质 | 久久久久亚洲 | 99久久就热视频精品草 | 国产ZZJJZZJJ视频全免费 | 久久亚洲人成国产精品 | 国产偷窥盗摄一区二区 | 国内外成人免费在线视频 | 韩国女人高潮嗷嗷叫视频 | 亚洲精品无码葡京AV天堂 | 国产精品第十页 | 亚洲午夜精品A片久久WWW软件 | 伦 乱真实故事 | 在镜头里被CAO翻了H | 亚洲精品www久久久久久 | 99久久国产综合色 | 亚洲 欧洲 国产 日产 综合 | 无限资源好看片2019免费观看 | 日本无吗高清 | 国产福利视频第一导航 | 欧美一区二区三区免费播放 | 亚洲中字幕永久在线观看 | 女人和男人插曲视频大全 | 国产偷抇久久精品A片蜜臀A | 欧美尤物射精集锦 | av亚洲2017色天堂 | 国产伦精品一区二区三区免费 | 国产亚洲AV无码成人网站 | 亚州AV人片一区二区三区99久 | 亚洲麻豆精品成人A在线观看 | 久久成人亚洲 | 起碰免费公开97在线视频 | 1788vv视频 | 国产精品1卡二卡三卡四卡乱码 | 久久极品视频 | 精品无码国产污污污免费网站2 | 天天躁日日躁狠狠躁中文字幕老牛 | 网友自拍偷拍 | 琪琪伦伦影院理论片 | xxww69| 久久黄色精品视频 |