女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

剖析STM32的FLASH和SRAM的使用情況

FPGA之家 ? 來(lái)源:嵌入式案例Show ? 作者:嵌入式案例Show ? 2021-04-09 17:53 ? 次閱讀

01前言

STM32片上自帶FLASH和SRAM,簡(jiǎn)單講FLASH用來(lái)存儲(chǔ)程序的,SRAM是用來(lái)存儲(chǔ)運(yùn)行程序中的中間變量。本文詳細(xì)分析下如何查看程序中FLASH和SRAM的使用情況。

本文開(kāi)發(fā)工具: keil5

芯片: STM32F105VCT6

02FLASH和SRAM介紹

FLASH存儲(chǔ)器又成為閃存,它與EEPROM都是掉電后數(shù)據(jù)不丟失的存儲(chǔ)器,但是FLASH的存儲(chǔ)容量都普遍的大于EEPROM,在存儲(chǔ)控制上,最主要的區(qū)別是FLASH芯片只能一大片一大片地擦除,而EEPROM可以單個(gè)字節(jié)擦除。

SRAM是靜態(tài)隨機(jī)存取存儲(chǔ)器。它是一種具有靜止存取功能的內(nèi)存,不需要刷新電路即能保存它內(nèi)部存儲(chǔ)的數(shù)據(jù)。STM32F1系列可以通過(guò)FSMC外設(shè)來(lái)拓展SRAM。

注意:SRAM和SDRAM是不相同的,SDRAM是同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,同步是指內(nèi)存工作需要同步時(shí)鐘,內(nèi)部的命令的發(fā)送與數(shù)據(jù)的傳輸都以它為基準(zhǔn);動(dòng)態(tài)是指存儲(chǔ)陣列需要不斷的刷新來(lái)保證數(shù)據(jù)不丟失;隨機(jī)是指數(shù)據(jù)不是線性依次存儲(chǔ),而是自由指定地址進(jìn)行數(shù)據(jù)讀寫(xiě)。STM32的F1系列是不支持SDRAM的。

stm32不同型號(hào)的SRAM和FLASH大小是不相同的,可在datasheet中查看如下圖:

08d40a92-990f-11eb-8b86-12bb97331649.png

08ee58de-990f-11eb-8b86-12bb97331649.png

03編譯結(jié)果分析

在keil中編譯結(jié)果如下圖:

0915ec64-990f-11eb-8b86-12bb97331649.png

打開(kāi)生成的map文件拉到最后可看到如下:

093488e0-990f-11eb-8b86-12bb97331649.png

編譯結(jié)果里面幾個(gè)的含義

Code:代碼空間,本質(zhì)是ARM指令( FLASH)。

RO-data:即 Read Only-data, 表示程序定義的常量,如 const 類型( FLASH)。

RW-data:即 Read Write-data, 非0初始化的全局和靜態(tài)變量占用的RAM大小,同時(shí)還要占用等量的ROM大小用于存放這些非0變量的初值(FLASH+RAM)。

ZI-data:即 Zero Init-data, 0初始化的內(nèi)存區(qū)的大小(該區(qū)域3個(gè)用途:0初始化的全局和靜態(tài)變量+堆區(qū)+棧區(qū))(RAM)。

由上可知:

程序占用FLASH=Code + RO-data + RW-data 即map文件中ROM size

程序占用RAM = RW-data + ZI-data 即map文件中RW size

常見(jiàn)的倆個(gè)疑問(wèn):

1、RW-data為什么會(huì)即占用Flash又占用RAM空間?

由前文知道RAM掉電數(shù)據(jù)會(huì)丟失,RW-data是非0初始化的數(shù)據(jù),已初始化的數(shù)據(jù)需要被存儲(chǔ)在掉電不會(huì)丟失的FLASH中,上電后會(huì)從FLASH搬移到RAM中。

2、為什么燒錄的鏡像文件不包含ZI-data呢?

我們都知道在燒寫(xiě)程序的時(shí)候,需要燒寫(xiě)bin文件或者h(yuǎn)ex文件到STM32的flash中,被燒寫(xiě)的文件稱為鏡像像文件image。image的內(nèi)容包含這三個(gè)Code 、 RO-data 和 RW-data。

通過(guò)第一個(gè)問(wèn)題大家應(yīng)該有所理解,因?yàn)閆I數(shù)據(jù)是0,沒(méi)必要包含,只要在程序運(yùn)行前把ZI數(shù)據(jù)區(qū)域一律清零即可,包含進(jìn)去反而浪費(fèi)Flash存儲(chǔ)空間。

編輯:jq

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

    關(guān)注

    10

    文章

    1663

    瀏覽量

    150981
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7634

    瀏覽量

    166404
  • STM32
    +關(guān)注

    關(guān)注

    2289

    文章

    11011

    瀏覽量

    362363

原文標(biāo)題:STM32的FLASH和SRAM的使用情況分析

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

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

    S32G3有沒(méi)有辦法從.map文件確定SRAM使用情況

    我有 NXP S32G3 板。我有 .map 文件。有沒(méi)有辦法從 .map 文件確定 SRAM 使用情況。 非常感謝幫助。
    發(fā)表于 04-08 06:00

    請(qǐng)問(wèn)STM32訪問(wèn)FPGA內(nèi)部SRAM部分區(qū)域?yàn)楹沃荒茏x不能寫(xiě)?

    采用STM32F427+FPGA+FlashSTM32通過(guò)FMC總線訪問(wèn)FPGA內(nèi)部SRAM,起始地址為0x60000000; Flash中存儲(chǔ)FPGA的配置數(shù)據(jù),
    發(fā)表于 03-12 07:59

    在實(shí)際網(wǎng)絡(luò)中五類水晶頭和六類水晶頭的應(yīng)用情況

    在實(shí)際網(wǎng)絡(luò)中,五類水晶頭和六類水晶頭都有廣泛的應(yīng)用,但它們的應(yīng)用場(chǎng)景和性能特點(diǎn)有所不同。 五類水晶頭 五類水晶頭(Category 5)遵循CAT5標(biāo)準(zhǔn),專為五類網(wǎng)絡(luò)線纜的連接而設(shè)計(jì)。其特點(diǎn)和應(yīng)用情況
    的頭像 發(fā)表于 02-06 09:57 ?539次閱讀

    激光在Micro LED顯示技術(shù)的應(yīng)用情況

    探索激光技術(shù)的多元應(yīng)用與前沿進(jìn)展 今天研習(xí)激光在微加工領(lǐng)域的應(yīng)用,核心內(nèi)容為激光在Micro LED顯示技術(shù)的應(yīng)用情況。《Recent progress of laser processing
    的頭像 發(fā)表于 12-07 11:16 ?1301次閱讀
    激光在Micro LED顯示技術(shù)的應(yīng)<b class='flag-5'>用情況</b>

    Linux下如何管理虛擬內(nèi)存 使用虛擬內(nèi)存時(shí)的常見(jiàn)問(wèn)題

    查看虛擬內(nèi)存使用情況 : 使用 free 命令可以查看當(dāng)前的虛擬內(nèi)存使用情況,包括物理內(nèi)存、交換空間等的使用情況。 調(diào)整交換空間大小 : 如果需要調(diào)整交換空間的大小,可以使用 swapoff 命令關(guān)閉現(xiàn)有的交換空間,然后使用
    的頭像 發(fā)表于 12-04 09:19 ?1234次閱讀

    如何獲取入口函數(shù)不是__iar_program_start的Program entry的stack使用情況

    問(wèn)題 IAR中默認(rèn)的入口函數(shù)是__iar_program_start,使能stack usage analysis之后: 生成的map文件中STACK USAGE章節(jié)里面會(huì)包含Program entry的stack使用相關(guān)信息: 如果對(duì)應(yīng)啟動(dòng)代碼沒(méi)有使用默認(rèn)的入口函數(shù)__iar_program_start,需要使用--entry鏈接器選項(xiàng)指定對(duì)應(yīng)的入口函數(shù)(以使用入口函數(shù)Reset_Handler為例): 但是使能stack usage analysis之后,生成的map文件中STACK USAGE章節(jié)里面沒(méi)有包含Program entry的stack使用相關(guān)信息: ? 原因 正常來(lái)說(shuō),編譯器可以生成每個(gè)函數(shù)的調(diào)用和stack使用
    的頭像 發(fā)表于 11-25 16:23 ?899次閱讀
    如何獲取入口函數(shù)不是__iar_program_start的Program entry的stack<b class='flag-5'>使用情況</b>

    LMX2592正常使用情況下溫度大概有多少?

    你好,LMX2592如果將 OUTA_PD = 1;OUTB_PD = 1;為什么芯片還是很燙,正常使用情況下溫度大概有多少,對(duì)于溫度的變化可以提供一下參考嗎
    發(fā)表于 11-08 08:32

    TMS320C64x在高性能DSP應(yīng)用中的高速緩存使用情況

    電子發(fā)燒友網(wǎng)站提供《TMS320C64x在高性能DSP應(yīng)用中的高速緩存使用情況.pdf》資料免費(fèi)下載
    發(fā)表于 10-21 09:43 ?0次下載
    TMS320C64x在高性能DSP應(yīng)用中的高速緩存<b class='flag-5'>使用情況</b>

    藍(lán)牙人員定位有哪些亮點(diǎn)功能?

    。進(jìn)出廠統(tǒng)計(jì)根據(jù)人員定位情況詳細(xì)記錄外來(lái)人員進(jìn)出廠時(shí)間和停留時(shí)長(zhǎng),實(shí)時(shí)統(tǒng)計(jì)各外來(lái)單位人員進(jìn)出廠情況及數(shù)量。 標(biāo)簽使用情況統(tǒng)計(jì)系統(tǒng)后臺(tái)會(huì)對(duì)標(biāo)簽使用情況進(jìn)行統(tǒng)計(jì),對(duì)于外委人員長(zhǎng)時(shí)間(時(shí)間可
    的頭像 發(fā)表于 09-13 11:05 ?418次閱讀
    藍(lán)牙人員定位有哪些亮點(diǎn)功能?

    利用IEC104協(xié)議遠(yuǎn)程IO模塊實(shí)時(shí)監(jiān)測(cè)能源使用情況

    隨著城市化進(jìn)程的加速,軌道交通作為高效、便捷的公共交通工具,其安全性和穩(wěn)定性日益受到重視。為了保障軌道交通設(shè)施的安全運(yùn)行,軌道交通遠(yuǎn)程能源監(jiān)測(cè)自動(dòng)化系統(tǒng)應(yīng)運(yùn)而生,其中,IEC104協(xié)議模塊BE190以其穩(wěn)定的性能和靈活性,成為該系統(tǒng)中的關(guān)鍵組件。 一、IEC104協(xié)議遠(yuǎn)程IO模塊BE190概述 BE190是一款專為工業(yè)自動(dòng)化設(shè)計(jì)的IEC104遠(yuǎn)程I/O模塊,由鋇錸技術(shù)精心打造。該模塊不僅支持IEC104協(xié)議,還兼容Modbus TCP通信協(xié)議,為軌道交通遠(yuǎn)程能源監(jiān)測(cè)自動(dòng)化
    的頭像 發(fā)表于 08-27 14:41 ?643次閱讀

    stm32讀取boot引腳狀態(tài)

    微控制器,其BOOT0引腳用于在內(nèi)部Flash、系統(tǒng)存儲(chǔ)器或SRAM之間選擇啟動(dòng)源,而B(niǎo)OOT1引腳在某些系列中用于啟用從內(nèi)置SRAM啟動(dòng)的選項(xiàng)(但請(qǐng)注意,不是所有STM32系列都支持
    的頭像 發(fā)表于 08-22 09:48 ?2484次閱讀

    如何使用SystemView的堆監(jiān)控功能

    SystemView能夠監(jiān)視應(yīng)用程序如何使用動(dòng)態(tài)存儲(chǔ)。這意味著,如果應(yīng)用程序中使用了C或C++堆、自定義堆或RTOS提供的內(nèi)存池對(duì)象,我們可以跟蹤這些對(duì)象的使用情況。SystemView可以在一個(gè)
    的頭像 發(fā)表于 08-09 18:07 ?1200次閱讀
    如何使用SystemView的堆監(jiān)控功能

    嵌入式設(shè)備在遠(yuǎn)端運(yùn)行,會(huì)有偶發(fā)性代碼跑飛的情況,無(wú)法到現(xiàn)場(chǎng)調(diào)試的情況下如何檢查出問(wèn)題?

    運(yùn)行日志: 1、線程的優(yōu)先級(jí); 2、線程當(dāng)前的狀態(tài); 3、線程當(dāng)前的棧位置; 4、線程的棧大小; 5、線程歷史中使用的最大棧位置; 6、線程剩余的運(yùn)行節(jié)拍數(shù); 設(shè)備內(nèi)存使用日志: 1、堆棧使用情況(最大剩余
    發(fā)表于 07-22 15:05

    Banana Pi BPI-M7 RK3588開(kāi)發(fā)板在 Linux 上檢查 Rockchip NPU 使用情況

    如下介紹如何監(jiān)控 Rockchip 設(shè)備的 NPU 使用情況。 如今,新型設(shè)備開(kāi)始配備內(nèi)置 AI 芯片。“AI 芯片”的正確技術(shù)術(shù)語(yǔ)是 NPU,即神經(jīng)處理單元。 如果您有板載 NPU
    的頭像 發(fā)表于 07-11 16:47 ?749次閱讀
    Banana Pi BPI-M7 RK3588開(kāi)發(fā)板在 Linux 上檢查 Rockchip NPU <b class='flag-5'>使用情況</b>

    鴻蒙開(kāi)發(fā)系統(tǒng)基礎(chǔ)能力:ohos.hidebug Debug調(diào)試

    使用hidebug,可以獲取應(yīng)用內(nèi)存的使用情況,包括應(yīng)用進(jìn)程的靜態(tài)堆內(nèi)存(native heap)信息、應(yīng)用進(jìn)程內(nèi)存占用PSS(Proportional Set Size)信息等;可以完成虛擬機(jī)內(nèi)存切片導(dǎo)出,虛擬機(jī)CPU Profiling采集等操作。
    的頭像 發(fā)表于 06-24 17:35 ?978次閱讀
    鴻蒙開(kāi)發(fā)系統(tǒng)基礎(chǔ)能力:ohos.hidebug Debug調(diào)試