chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

單片機的RAM和FLASH認識理解

汽車玩家 ? 來源:HACK實驗室 ? 作者:HACK實驗室 ? 2020-05-03 18:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

1、先聊聊存儲器

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

單片機的RAM和FLASH認識理解

存儲器分類

2、單片機的存儲器

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

單片機的RAM和FLASH認識理解

STM32F103RB內(nèi)存大小

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

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

單片機的RAM和FLASH認識理解

STM32F103內(nèi)存映射圖

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

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

單片機的RAM和FLASH認識理解

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文件的最下面找到,如下圖:

單片機的RAM和FLASH認識理解

.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)代碼段。

單片機的RAM和FLASH認識理解

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

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

單片機的RAM和FLASH認識理解

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

5、總結(jié)

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

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

    關(guān)注

    6071

    文章

    45259

    瀏覽量

    660209
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1701

    瀏覽量

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

    關(guān)注

    8

    文章

    1396

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    單片機燒錄原理是怎樣的?輝芒微單片機燒錄程序詳細步驟講解

    燒錄(Programming)就是把 .hex/.bin 文件里的機器碼搬運進單片機片內(nèi) Flash 的過程。輝芒微(FMD)單片機內(nèi)部有一塊 自舉 BootROM,上電時會先跑這段程序;如果檢測
    的頭像 發(fā)表于 09-17 16:14 ?534次閱讀
    <b class='flag-5'>單片機</b>燒錄原理是怎樣的?輝芒微<b class='flag-5'>單片機</b>燒錄程序詳細步驟講解

    單片機原理及應(yīng)用詳解

    單片機(Microcontroller Unit, MCC) ?是一種集成計算機核心功能(CPU、存儲器、I/O接口等)的微型芯片,廣泛應(yīng)用于嵌入式系統(tǒng)中。以下是其原理及應(yīng)用的詳細介紹: 一、單片機
    的頭像 發(fā)表于 08-11 13:57 ?920次閱讀

    嵌入式系統(tǒng)中,FLASH 中的程序代碼必須搬到 RAM 中運行嗎?

    嵌入式系統(tǒng)里,FLASH 中的程序代碼并非必須搬到 RAM 中運行,這得由硬件配置、實際性能需求和應(yīng)用場景共同決定。就像很多低端單片機,無論是依賴片內(nèi) Flash 還是外掛的 SPI
    的頭像 發(fā)表于 08-06 10:19 ?999次閱讀
    嵌入式系統(tǒng)中,<b class='flag-5'>FLASH</b> 中的程序代碼必須搬到 <b class='flag-5'>RAM</b> 中運行嗎?

    什么單片機比較耐用

    ? ? ? ? 在工業(yè)控制、戶外設(shè)備、醫(yī)療儀器等場景中,單片機的耐用性直接決定了設(shè)備的穩(wěn)定運行與維護成本。耐用的單片機通常具備寬溫工作范圍、強抗干擾能力、穩(wěn)定的電源適應(yīng)性和長壽命的硬件設(shè)計。深圳市安
    的頭像 發(fā)表于 07-31 13:48 ?461次閱讀

    單片機的儲存優(yōu)點是什么

    場景。深圳市安凱星科技有限公司在單片機應(yīng)用開發(fā)中,充分利用這些儲存優(yōu)點,為拓邦、朗科、安徽龍多等客戶打造了高效穩(wěn)定的解決方案。 1.集成度高,節(jié)省硬件空間 單片機將程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)與 CPU、I/O 接
    的頭像 發(fā)表于 07-31 10:09 ?389次閱讀

    怎么測單片機系統(tǒng)頻率

    單片機系統(tǒng)頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統(tǒng)頻率對單片機應(yīng)用開發(fā)、程序調(diào)試和性能優(yōu)化具有重要意義。測量
    的頭像 發(fā)表于 07-25 11:39 ?285次閱讀

    單片機怎么驅(qū)動電機?

    在各類自動化設(shè)備和智能裝置中,電機是重要的執(zhí)行部件,而單片機作為控制核心,需要通過特定的方式驅(qū)動電機運轉(zhuǎn)。單片機驅(qū)動電機并非直接連接即可,而是要根據(jù)電機類型和功率,搭配合適的驅(qū)動電路,才能實現(xiàn)穩(wěn)定
    的頭像 發(fā)表于 07-25 09:31 ?288次閱讀

    單片機怎么燒程序

    單片機燒程序是將編寫好的程序代碼寫入單片機內(nèi)部存儲單元,讓單片機按照預(yù)設(shè)邏輯工作的過程,是單片機應(yīng)用開發(fā)中不可或缺的環(huán)節(jié)。無論是簡單的燈光控制程序,還是復(fù)雜的工業(yè)控制算法,都需要通過燒
    的頭像 發(fā)表于 07-23 11:47 ?466次閱讀

    扒一扒單片機與存儲器的那些事

    單片機與存儲器的關(guān)系像什么?單片機里的存儲都是一樣的嗎?為什么有的單片機既有EEPROM又有Flash?
    的頭像 發(fā)表于 04-10 10:06 ?1186次閱讀
    扒一扒<b class='flag-5'>單片機</b>與存儲器的那些事

    PLC和單片機到底有什么區(qū)別?

    在自動化和嵌入式開發(fā)領(lǐng)域,PLC和單片機是兩種常見的控制系統(tǒng)。雖然它們有許多相似之處,但它們的功能、應(yīng)用范圍、開發(fā)成本等方面也存在顯著差異。本文將從多個角度詳細探討這兩者的不同之處,幫助大家更好地理解
    的頭像 發(fā)表于 04-07 11:58 ?3877次閱讀
    PLC和<b class='flag-5'>單片機</b>到底有什么區(qū)別?

    普冉PY32MD320單片機介紹

    PY32MD320單片機采用了32 位 ARM Cortex-M0+內(nèi)核,最高工作頻率 48 MHz,帶64 KB Flash和8 KB SRAM存儲器。PY32MD320 單片機的工作溫度范圍為
    的頭像 發(fā)表于 03-13 16:02 ?1141次閱讀
    普冉PY32MD320<b class='flag-5'>單片機</b>介紹

    單片機Debug工具性能對比 單片機調(diào)試常用命令

    單片機(Microcontroller Unit, MCU)調(diào)試是嵌入式開發(fā)中的一個重要環(huán)節(jié),它幫助開發(fā)者發(fā)現(xiàn)和修復(fù)代碼中的錯誤,優(yōu)化程序性能。不同的單片機和開發(fā)環(huán)境可能使用不同的調(diào)試工具和命令
    的頭像 發(fā)表于 12-19 09:56 ?1935次閱讀

    單片機編程語言有哪些選擇

    單片機(Microcontroller Unit,MCU)編程是指為單片機編寫程序的過程,這些程序控制單片機的行為和功能。單片機廣泛應(yīng)用于嵌入式系統(tǒng),如家用電器、汽車電子、工業(yè)控制等領(lǐng)
    的頭像 發(fā)表于 11-01 14:13 ?3313次閱讀

    單片機怎么寫入程序

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

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

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