国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

單片機的RAM和FLASH認識理解

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

掃碼添加小助手

加入工程師交流群

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

1、先聊聊存儲器

存儲器是單片機結構的重要組成部分,存儲器是用來存儲編譯好的程序代碼和數據的,有了存儲器單片機系統才具有記憶功能。按照存儲介質的特性,可以分“易失性存儲器”和“非易失性存儲器”兩類。易失性存儲器斷電后,里面存儲的內容會丟失;非易失性存儲器斷電后,數據可以依然保持。

單片機的RAM和FLASH認識理解

存儲器分類

2、單片機的存儲器

如下圖所示是STM32F103RB系列單片機所使用的存儲器大小,Flash為128KB,RAM為20KB,這里的RAM是指SRAM。

單片機的RAM和FLASH認識理解

STM32F103RB內存大小

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

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

單片機的RAM和FLASH認識理解

STM32F103內存映射圖

3、關于編譯器生成的文件

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

單片機的RAM和FLASH認識理解

KEIL編譯信息

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

Code:是程序中代碼所占字節大小;

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

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

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

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

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

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

單片機的RAM和FLASH認識理解

.map文件信息

4、數據在存儲器上的存儲結構

程序在Flash上的存儲結構如下圖所示,通過閱讀hex文件和MDK下調試綜合提煉出來的。其中,ZI-data對應未初始化數據段,RW-data對應已初始化數據段,Code對應代碼段。

單片機的RAM和FLASH認識理解

STM32的Flash存儲結構

數據在SRAM上的結構,如下圖所示。這部分大家可以參考上面的內存映射圖來理解。

單片機的RAM和FLASH認識理解

STM32的SRAM存儲結構

5、總結

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

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

    關注

    6076

    文章

    45495

    瀏覽量

    670299
  • FlaSh
    +關注

    關注

    10

    文章

    1748

    瀏覽量

    155514
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1399

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    單片機中有FLASH為啥還需要EEROM?

    單片機里明明有FLASH,為啥還要再塞個EEPROM?不少剛接觸嵌入式的小伙伴估計都有過這樣的疑惑:FLASH能存程序,容量大,讀取又快,干嘛還要加個讀寫慢、容量小的EEPROM?這不是多此一舉嘛。其實,這倆兄弟各有所長,分工明
    的頭像 發表于 03-05 13:39 ?29次閱讀
    <b class='flag-5'>單片機</b>中有<b class='flag-5'>FLASH</b>為啥還需要EEROM?

    單片機里的程序運行方式

    我們想要理解單片機是如何運行程序的,我們首先需要了解單片機的組成,我們這里以80C51單片機為例來理解程序在
    發表于 01-16 06:57

    單片機Flash是什么類型

    最近看到交流群小伙伴在討論單片機Flash的話題,比如:Flash類型、速度等。 我們平時在單片機開發過程中也會遇到各種各樣的Flash,比
    發表于 01-04 07:10

    Infineon SEMPER NOR Flash與HYPERRAM? 2.0 Gen2 Flash+RAM MCP產品解析

    Infineon SEMPER NOR Flash與HYPERRAM? 2.0 Gen2 Flash+RAM MCP產品解析 引言 在汽車集群和工業HMI應用中,通常會使用NOR Flash來存儲
    的頭像 發表于 12-20 16:20 ?1202次閱讀

    單片機程序的執行

    上是不是只要Flash就可以了呢(直接相當于PC上的DDRRAM)?這樣成本也會比一個RAM,一個Flash低,更節省成本,對于生產商更劃算)。 對于單片機的程序執行時指令和數據的存
    發表于 12-04 06:20

    廣州唯創電子單片機語音芯片:智能設備的聲音靈魂與技術核心

    一、揭開單片機語音芯片的神秘面紗1.從基礎概念認識核心技術在智能化設備普及的今天,單片機語音芯片已成為人機交互的重要橋梁。要理解這一技術,首先需要明確其兩大核心組成部分:
    的頭像 發表于 11-25 09:07 ?798次閱讀
    廣州唯創電子<b class='flag-5'>單片機</b>語音芯片:智能設備的聲音靈魂與技術核心

    請問單片機RAM空間不夠用了怎么辦?

    單片機RAM空間不夠用了怎么辦?
    發表于 11-25 08:09

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

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

    單片機原理及應用詳解

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

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

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

    單片機的儲存優點是什么

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

    怎么測單片機系統頻率

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

    單片機怎么驅動電機?

    在各類自動化設備和智能裝置中,電機是重要的執行部件,而單片機作為控制核心,需要通過特定的方式驅動電機運轉。單片機驅動電機并非直接連接即可,而是要根據電機類型和功率,搭配合適的驅動電路,才能實現穩定
    的頭像 發表于 07-25 09:31 ?897次閱讀

    單片機怎么燒程序

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

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

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