国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32中棧、堆、全局區(qū)、常量區(qū)、代碼區(qū)、RAM、ROM的分析

這篇具有很好參考價值的文章主要介紹了STM32中棧、堆、全局區(qū)、常量區(qū)、代碼區(qū)、RAM、ROM的分析。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

STM32中棧、堆、全局區(qū)、常量區(qū)、代碼區(qū)、RAM、ROM的分析

1、堆、棧區(qū):

STM32中堆棧是為了存儲不同信息而開辟的空間,具體對應(yīng)于啟動文件中的head和stack所定義的內(nèi)存空間。
STM32中,堆向高地址增長,棧向低地址增長。

堆:是用戶調(diào)用malloc時申請的內(nèi)存空間。
棧:臨時創(chuàng)建的局部變量(一般的局部變量+const修飾的局部變量),函數(shù)入口參數(shù),函數(shù)返回值存放在棧區(qū)。

2、全局區(qū)(靜態(tài)區(qū))

全局區(qū)有.bss、.data段組成,可讀可寫
①.bss段:未初始化的全局變量、初始化為0的全局變量、初始化為0的靜態(tài)變量存放在.bss段。
②.data段:已經(jīng)初始化的全局變量存放在.data段,靜態(tài)變量存放在.data段,const定義的全局變量存放在.rodata段。

3、常量區(qū)

①字符串存放在常量區(qū)
②常量區(qū)的內(nèi)容不可修改

4、代碼區(qū)

程序執(zhí)行的代碼,存放在代碼區(qū)。

那么這些個區(qū)和實際的內(nèi)存之間什么關(guān)系呢?

我們知道,一般選擇STM32會考慮其RAM、ROM(即FLASH),RAM的特點是掉電丟失數(shù)據(jù),僅在上電運行時存儲數(shù)據(jù)。ROM的特點是掉電不丟失數(shù)據(jù),一般用來存儲代碼和常量區(qū)數(shù)據(jù)。
至此我們可知:堆、棧、全局區(qū)(.bss段、.data段)都是存放在RAM中,而代碼區(qū)和常量區(qū)的內(nèi)容編譯后存放在RAM中。
即:
RAM :堆 + 棧 + 全局區(qū)(.bss段、.data段))
ROM:代碼區(qū)+常量區(qū)

我們在KEIL編譯框下面,可以看到,Code、RO-data、RW-data、ZI-data四個部分,分別代表:代碼占用空間、只讀常量占用空間、已初始化的可讀可寫的變量占用空間、未初始化的可讀可寫變量。
此時:
RAM = RW-data + ZI-data
ROM = Code + RO-data + RW-data文章來源地址http://www.zghlxwxcb.cn/news/detail-653650.html

到了這里,關(guān)于STM32中棧、堆、全局區(qū)、常量區(qū)、代碼區(qū)、RAM、ROM的分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 程序分區(qū):全局區(qū)、常量區(qū)、棧區(qū)、堆區(qū)、代碼區(qū)

    程序分區(qū):全局區(qū)、常量區(qū)、棧區(qū)、堆區(qū)、代碼區(qū)

    ? 可以看出棧的地址是從高地址到地址的。

    2024年02月09日
    瀏覽(16)
  • RAM和ROM

    1、RAM ?RAM又稱為隨機訪問存儲器(Random-Access Memory),其主要分為靜態(tài)和動態(tài)兩種。靜態(tài)的RAM簡寫為SRAM,動態(tài)的RAM簡寫為DRAM。SRAM的訪問速度比DRAM要快得多,因此價格也要貴得多,在應(yīng)用上,SRAM主要用作高速緩存存儲器,也就是CPU和主存之間的L1、L2高速緩存,DRAM一般作為計算

    2024年02月08日
    瀏覽(22)
  • RAM與ROM的區(qū)別

    I.MX6U-ALPHA 開發(fā)板上帶有一個 256MB/512MB 的 DDR3 內(nèi)存芯片,一般 Cortex-A 芯 片自帶的 RAM 很小,比如 I.MX6U 只有 128KB 的 OCRAM 。如果要運行 Linux 的話完全不夠 用的,所以必須要外接一片 RAM 芯片。 對于 Cortex-A 系列芯片而言, uboot,Linux內(nèi)核 等是在 DDR 上運行的。 例如之前所有的裸

    2024年02月06日
    瀏覽(25)
  • Unity獲取Android手機的RAM和剩余RAM和ROM

    Unity獲取Android手機的RAM和剩余RAM和ROM

    項目工作需要,在游戲APP運行時,獲取當前手機的剩余運行內(nèi)存RAM和ROM。并且要適用于不同的項目,思來想去。最終想到這樣的辦法,具體的獲取的方法在Android工程中實現(xiàn),然后生成aar ,在Unity中調(diào)用。 用AndroidStudio創(chuàng)建一個新項目。創(chuàng)建一個com.pub.mylibrary包名。然后創(chuàng)建一

    2024年02月16日
    瀏覽(26)
  • 內(nèi)存RAM和ROM之間的區(qū)別

    ROM和RAM都是一種存儲技術(shù),只是兩者原理不同,RAM為隨機存儲,掉電不會保存數(shù)據(jù),而ROM可以在掉電的情況下,依然保存原有的數(shù)據(jù)。ROM和RAM指的都是半導體存儲器。本來的含義是:ROM是Read Only Memory的意思,也就是說這種存儲器只能讀,不能寫。而RAM是Random Access Memory的縮寫

    2023年04月08日
    瀏覽(20)
  • 【C語言】-- 一篇帶你了解C語言內(nèi)存五大區(qū)——棧區(qū),堆區(qū),全局區(qū),常量區(qū),代碼區(qū)

    【C語言】-- 一篇帶你了解C語言內(nèi)存五大區(qū)——棧區(qū),堆區(qū),全局區(qū),常量區(qū),代碼區(qū)

    目錄 1 C語言的內(nèi)存分區(qū) 1.1 內(nèi)存五大分區(qū) 1.2 內(nèi)存分區(qū)簡介 1.2.1 棧區(qū)(stack) 1.2.2 堆區(qū)(heap) 1.2.3 (全局)靜態(tài)區(qū) 1.2.4 常量區(qū) 1.2.5 代碼區(qū) 創(chuàng)作不易,如果本篇博客對您有一定的幫助,大家記得留言+點贊哦。 C語言已經(jīng)持續(xù)學習一段時間了,今天特此總結(jié)一下關(guān)于C語言內(nèi)存的五大區(qū)

    2024年02月16日
    瀏覽(24)
  • 簡語RAM、ROM、flash、eMMC(通俗易懂)

    先來看RAM與ROM RAM: Random-Access Memory的縮寫,意思為“隨機存取存儲器” ROM:Read-Only Memory的縮寫,意思為“只讀存儲器” 總體來看:都是存儲器 最大區(qū)別:ROM可以在停止供電的時候仍然保存著數(shù)據(jù);RAM在停止供電的時候數(shù)據(jù)丟失 RAM分兩大類: ????????第一類 稱為靜態(tài)

    2023年04月21日
    瀏覽(19)
  • 【物聯(lián)網(wǎng)】ROM、RAM和FLASH的區(qū)別

    【物聯(lián)網(wǎng)】ROM、RAM和FLASH的區(qū)別

    在計算機領(lǐng)域,我們經(jīng)常聽到ROM、FLASH和RAM這些術(shù)語,它們是計算機中不同類型的存儲器。雖然它們都用于存儲數(shù)據(jù),但它們之間有著明顯的區(qū)別。本文將詳細介紹ROM、FLASH和RAM的區(qū)別,并給出具體的例子和解釋。 前些天發(fā)現(xiàn)了一個巨牛的人工智能學習網(wǎng)站,通俗易懂,風趣

    2024年02月08日
    瀏覽(16)
  • Verilog RAM/ROM的數(shù)據(jù)初始化

    Verilog RAM/ROM的數(shù)據(jù)初始化

    FPGA設(shè)計中RAM和ROM作為存儲器用來存儲可變或不可變類型的數(shù)據(jù)。 ROM初始化一般是加載固定數(shù)據(jù),RAM聲明時默認為不定態(tài)數(shù)據(jù),初始化時可以讓數(shù)據(jù)為全1或者全0。 復位時按地址寫入初值 使用initial 和 for循環(huán)來初始化 用于初始化為有規(guī)律的數(shù)據(jù), RAM初始化常使用這種方式。

    2024年02月04日
    瀏覽(21)
  • 固態(tài)硬盤、機械硬盤、RAM、ROM的區(qū)別和聯(lián)系

    固態(tài)硬盤、機械硬盤、RAM、ROM的區(qū)別和聯(lián)系

    很多人都知道RAM與ROM的區(qū)別和固態(tài)硬盤與機械硬盤的區(qū)別,但可能還是會有人問:機械硬盤和固態(tài)硬盤分別屬于RAM還是ROM?所以,本篇文章就來解釋一下這四者的關(guān)系。 要搞清楚這四者的關(guān)系,得先了解存儲介質(zhì)的類型。存儲介質(zhì)有半導體、磁性物和光盤等類型,這里主要說

    2024年02月12日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包