在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

單片機(jī)的RAM和FLASH認(rèn)識理解

汽車玩家 ? 來源:HACK實驗室 ? 作者:HACK實驗室 ? 2020-05-03 18:17 ? 次閱讀

最近在一個問答社區(qū)回答了一個問題,關(guān)于單片機(jī)存儲器的,于是有了想專門寫一篇關(guān)于單片機(jī)存儲器的想法。作為單片機(jī)內(nèi)部一個重要組成部分,存儲器占有很重要的地位,今天就來聊聊我對于單片機(jī)的內(nèi)部存儲器RAM和FLASH的一些認(rèn)識和理解。

1、先聊聊存儲器

存儲器是單片機(jī)結(jié)構(gòu)的重要組成部分,存儲器是用來存儲編譯好的程序代碼和數(shù)據(jù)的,有了存儲器單片機(jī)系統(tǒng)才具有記憶功能。按照存儲介質(zhì)的特性,可以分“易失性存儲器”和“非易失性存儲器”兩類。易失性存儲器斷電后,里面存儲的內(nèi)容會丟失;非易失性存儲器斷電后,數(shù)據(jù)可以依然保持。

單片機(jī)的RAM和FLASH認(rèn)識理解

存儲器分類

2、單片機(jī)的存儲器

如下圖所示是STM32F103RB系列單片機(jī)所使用的存儲器大小,F(xiàn)lash為128KB,RAM為20KB,這里的RAM是指SRAM。

單片機(jī)的RAM和FLASH認(rèn)識理解

STM32F103RB內(nèi)存大小

這兩個存儲器的寄存器輸入輸出端口被組織在同一個4GB的虛擬線性地址空間內(nèi)。可訪問的存儲器空間被分成8個主要塊,每個塊為512MB。Flash用來存儲編譯好的程序文件,SRAM用來存儲運行程序時所創(chuàng)建的臨時數(shù)據(jù)。所以如果不加入外置存儲器,那么程序里的東西就會出現(xiàn)在這兩個存儲器中。

下圖為STM32F103RB單片機(jī)的內(nèi)存映射圖(部分),可以看到畫紅圈的兩個就是SRAM和Flash存儲器。不知道大家有沒有注意,當(dāng)使用J-Flash軟件給stm32下載bin文件的時候需要填寫起始地址,那個0x08000000其實就是Flash存儲器的起始地址。

單片機(jī)的RAM和FLASH認(rèn)識理解

STM32F103內(nèi)存映射圖

3、關(guān)于編譯器生成的文件

如果你玩過單片機(jī),那你應(yīng)該對Keil這款軟件不會感到陌生,下圖是我的那款OLED時鐘的軟件用Keil編譯后的編譯信息

單片機(jī)的RAM和FLASH認(rèn)識理解

KEIL編譯信息

很多人并不一定知道Program Size的含義,我來給大家解釋一下。

Code:是程序中代碼所占字節(jié)大小;

RO-data:程序只讀的變量,也就是帶const的,和已初始化的字符串等;

RW-data:已初始化的可讀寫全局/靜態(tài)變量;

ZI-data:未初始化的可讀寫全局/靜態(tài)變量;

那么這個程序占用的Flash存儲器的空間大小是多少呢?程序所占Flash空間大小=Code+RO data+RW data=生成的bin文件大小。

那么這個程序占用的SRAM存儲器的空間大小是多少呢?程序固定占用RAM大小=RW data+ZI data。

這些信息除了在編譯器下方的信息欄里面看到,也可以在項目文件里的.map文件的最下面找到,如下圖:

單片機(jī)的RAM和FLASH認(rèn)識理解

.map文件信息

4、數(shù)據(jù)在存儲器上的存儲結(jié)構(gòu)

程序在Flash上的存儲結(jié)構(gòu)如下圖所示,通過閱讀hex文件和MDK下調(diào)試綜合提煉出來的。其中,ZI-data對應(yīng)未初始化數(shù)據(jù)段,RW-data對應(yīng)已初始化數(shù)據(jù)段,Code對應(yīng)代碼段。

單片機(jī)的RAM和FLASH認(rèn)識理解

STM32的Flash存儲結(jié)構(gòu)

數(shù)據(jù)在SRAM上的結(jié)構(gòu),如下圖所示。這部分大家可以參考上面的內(nèi)存映射圖來理解。

單片機(jī)的RAM和FLASH認(rèn)識理解

STM32的SRAM存儲結(jié)構(gòu)

5、總結(jié)

至此我相信大家應(yīng)該對stm32單片機(jī)的內(nèi)部存儲有了更進(jìn)一步的認(rèn)識。其實如果想更深入的了解單片機(jī)的運行軌跡,我建議大家來詳細(xì)研究一下stm32單片機(jī)的上電內(nèi)存讀取過程,如果搞明白了這塊收獲會是非常大的。后面有機(jī)會我也會對這塊進(jìn)行深入的總結(jié),并整理成文章發(fā)出來,與大家一起分享。

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

    關(guān)注

    6043

    文章

    44621

    瀏覽量

    638570
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1642

    瀏覽量

    148677
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1369

    瀏覽量

    115009
收藏 人收藏

    評論

    相關(guān)推薦

    單片機(jī)怎么寫入程序

    單片機(jī)(Microcontroller Unit,MCU)是一種集成電路芯片,它將計算機(jī)的CPU、存儲器、輸入/輸出接口等功能集成在一個芯片上。單片機(jī)廣泛應(yīng)用于嵌入式系統(tǒng)和物聯(lián)網(wǎng)設(shè)備中。編寫單片機(jī)
    的頭像 發(fā)表于 10-21 11:21 ?932次閱讀

    51單片機(jī)的主要邏輯功能部件是什么

    部件的操作。它包括算術(shù)邏輯單元(ALU),用于執(zhí)行算術(shù)和邏輯運算。 2. 存儲器 程序存儲器(ROM):用于存儲程序代碼,通常是不可更改的內(nèi)存,如EPROM或閃存。 數(shù)據(jù)存儲器(RAM):用于存儲運行時數(shù)據(jù),比如變量和臨時數(shù)據(jù)。51單片機(jī)的內(nèi)置
    的頭像 發(fā)表于 10-18 12:49 ?549次閱讀

    單片機(jī)不工作的原因

    單片機(jī)不工作是一個復(fù)雜的問題,可能涉及多個方面的因素。以下是對單片機(jī)不工作原因的詳細(xì)分析,旨在幫助技術(shù)人員或愛好者更好地理解和解決這一問題。
    的頭像 發(fā)表于 10-17 18:11 ?1665次閱讀

    單片機(jī)的中斷機(jī)制

    單片機(jī)的中斷機(jī)制是一種重要的處理方式,它允許單片機(jī)在執(zhí)行主程序的過程中,能夠暫停當(dāng)前任務(wù),轉(zhuǎn)而處理外部或內(nèi)部緊急事件。這種機(jī)制極大地提高了系統(tǒng)的響應(yīng)速度和處理能力,使得單片機(jī)在各種應(yīng)用領(lǐng)域中得到廣泛應(yīng)用。以下是對
    的頭像 發(fā)表于 10-17 18:03 ?966次閱讀

    單片機(jī)燒錄程序的線比單片機(jī)上的少還能燒錄嗎

    的存儲器通常分為兩類:ROM(只讀存儲器)和RAM(隨機(jī)存取存儲器)。ROM用于存儲程序代碼,而RAM用于存儲程序運行過程中的數(shù)據(jù)。燒錄過程就是將程序代碼寫入ROM中。 單片機(jī)燒錄方法 單片機(jī)
    的頭像 發(fā)表于 09-02 09:54 ?612次閱讀

    單片機(jī)燒錄程序的基本步驟是什么

    單片機(jī)燒錄程序是單片機(jī)開發(fā)過程中非常重要的一步,它涉及到將編寫好的程序代碼通過一定的方式傳輸?shù)?b class='flag-5'>單片機(jī)內(nèi)部的存儲器中,使單片機(jī)能夠按照預(yù)定的邏輯執(zhí)行任務(wù)。 一、硬件準(zhǔn)備
    的頭像 發(fā)表于 09-02 09:47 ?1438次閱讀

    提高M(jìn)SP430G系列單片機(jī)Flash擦寫壽命的方法

    電子發(fā)燒友網(wǎng)站提供《提高M(jìn)SP430G系列單片機(jī)Flash擦寫壽命的方法.pdf》資料免費下載
    發(fā)表于 08-28 11:51 ?0次下載
    提高M(jìn)SP430G系列<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>Flash</b>擦寫壽命的方法

    單片機(jī)boot0和boot1怎么設(shè)置

    單片機(jī)的啟動模式通常包括從內(nèi)部ROM啟動、從外部ROM啟動、從外部Flash啟動等。 不同的啟動模式對應(yīng)不同的Boot0和Boot1設(shè)置。 Boot0和Boot1的設(shè)置方法 Boot0和Boot1通常通過
    的頭像 發(fā)表于 08-22 09:50 ?3050次閱讀

    理解嵌入式和單片機(jī)的區(qū)別

    從上世紀(jì)80年代,由當(dāng)時的4位、8位單片機(jī),發(fā)展到現(xiàn)在的300M的高速單片機(jī)。比如經(jīng)典的51系列單片機(jī),外觀只是一塊一個拇指大小的長方體芯片,共40個引腳,里面包含了邏輯運算單元。實際上也就是一個cpu。
    發(fā)表于 05-03 10:30 ?4656次閱讀

    電器設(shè)備為何普遍采用單片機(jī)

    單芯片單片機(jī)是指:將CPU,ROM,RAM,振蕩電路,定時器和串行I/F等集成于一個LSI的微處理器。單芯片單片機(jī)的基礎(chǔ)上再配置一些系統(tǒng)的主要外圍電路,而形成的大規(guī)模集成電路稱為系統(tǒng)LSI。
    發(fā)表于 04-28 15:11 ?492次閱讀
    電器設(shè)備為何普遍采用<b class='flag-5'>單片機(jī)</b>?

    如何系統(tǒng)、科學(xué)地自學(xué)單片機(jī)

    的自學(xué)單片機(jī)呢?自學(xué)單片機(jī)需要一定的計劃和方法,以下是具體的步驟和建議。如何系統(tǒng)、科學(xué)地自學(xué)單片機(jī)?學(xué)習(xí)電子基礎(chǔ)知識:理解電路原理、數(shù)字電子技術(shù)、模擬電子技術(shù)等基礎(chǔ)
    的頭像 發(fā)表于 03-28 08:03 ?1196次閱讀
    如何系統(tǒng)、科學(xué)地自學(xué)<b class='flag-5'>單片機(jī)</b>?

    單片機(jī)是什么?單片機(jī)編程如何入門?

    單片機(jī)其實是一種很早的叫法了,最開始我們的前輩叫單板機(jī)或者叫單片機(jī),因為那個時候單片機(jī)的處理能力還沒有很強,現(xiàn)在我們所用的基本都是微型處理單元,也叫為控制器也稱之為MCU
    的頭像 發(fā)表于 03-28 08:03 ?2224次閱讀
    <b class='flag-5'>單片機(jī)</b>是什么?<b class='flag-5'>單片機(jī)</b>編程如何入門?

    8-Bit 觸控式 Flash 單片機(jī)中文資料

    而又有效的實現(xiàn)方法。 觸摸按鍵功能完全集成于單片機(jī)內(nèi),使用較少的外部元件便可實現(xiàn)觸摸按鍵的 應(yīng)用。該系列單片機(jī)除了 Flash 程序存儲器,還包括 RAM 數(shù)據(jù)存儲器和用于存 儲串列數(shù)
    發(fā)表于 02-28 10:01 ?4次下載

    51單片機(jī)流水燈制作

    ?流水燈是學(xué)習(xí)51單片機(jī)的一個基本項目,是我們對單片機(jī)IO口輸出認(rèn)識的基本項目。當(dāng)然學(xué)會了花樣流水燈也很好玩。 下面就分享一種51單片機(jī)流水燈制作的方法。 一、流水燈原理圖 二、相關(guān)知
    的頭像 發(fā)表于 02-26 10:06 ?1706次閱讀
    51<b class='flag-5'>單片機(jī)</b>流水燈制作

    什么是單片機(jī)及其特性與應(yīng)用領(lǐng)域

    單片機(jī)除具有計算機(jī)基本邏輯與數(shù)據(jù)處理功能之外,還自帶RAM、ROM、I/O口以及定時器等外設(shè),并由芯片制造商提供完備的軟件和硬件開發(fā)工具及文檔支持,極大地方便了工程師們的開發(fā)工作。此外,單片機(jī)在實時光運行過程中,能夠通過程序改變
    發(fā)表于 02-15 15:04 ?696次閱讀
    主站蜘蛛池模板: 久久riav国产精品 | 久久精品免看国产 | 大又大粗又爽又黄少妇毛片 | 色老二精品视频在线观看 | 亚洲福利一区二区三区 | 性欧美videofree视频另类 | 午夜一级毛片不卡 | 人人揉揉香蕉大免费不卡 | 天天干天天色天天干 | 亚洲成a人片在线观看尤物 亚洲成a人片在线观看中 | 狠狠操操 | 色综合综合色综合色综合 | 婷婷丁香六月天 | 天天干天天天天 | 色福利在线 | 毛片福利 | 深点再深一点好爽好多水 | 97涩涩涩| 四虎成人精品在永久在线观看 | 天堂网最新版www | 看黄网站在线看 | 四只虎免费永久观看 | 国产精品免费久久久久影院 | 美女露出扒开尿口让男人桶 | 1024国产欧美日韩精品 | 377p亚洲欧洲日本大胆色噜噜 | 最新国产你懂的在线网址 | 亚洲黄色三级网站 | 一区二区三区四区欧美 | 夜色福利视频 | 欧美一级片在线视频 | 国产色秀视频 | 奇米影视777狠狠狠888不卡 | 日韩三级视频在线观看 | 1314酒色网 | 色婷婷精品综合久久狠狠 | 午夜神马福利 | 一级特黄性生活大片免费观看 | 久久国产香蕉一区精品 | 四虎院影永久在线观看 | 久久99热久久精品99 |