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

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

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

3天內不再提示

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

FPGA之家 ? 來源:嵌入式案例Show ? 作者:嵌入式案例Show ? 2021-04-09 17:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01前言

STM32片上自帶FLASH和SRAM,簡單講FLASH用來存儲程序的,SRAM是用來存儲運行程序中的中間變量。本文詳細分析下如何查看程序中FLASH和SRAM的使用情況。

本文開發工具: keil5

芯片: STM32F105VCT6

02FLASH和SRAM介紹

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

SRAM是靜態隨機存取存儲器。它是一種具有靜止存取功能的內存,不需要刷新電路即能保存它內部存儲的數據。STM32F1系列可以通過FSMC外設來拓展SRAM。

注意:SRAM和SDRAM是不相同的,SDRAM是同步動態隨機存儲器,同步是指內存工作需要同步時鐘,內部的命令的發送與數據的傳輸都以它為基準;動態是指存儲陣列需要不斷的刷新來保證數據不丟失;隨機是指數據不是線性依次存儲,而是自由指定地址進行數據讀寫。STM32的F1系列是不支持SDRAM的。

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

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

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

03編譯結果分析

在keil中編譯結果如下圖:

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

打開生成的map文件拉到最后可看到如下:

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

編譯結果里面幾個的含義

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

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

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

ZI-data:即 Zero Init-data, 0初始化的內存區的大?。ㄔ搮^域3個用途:0初始化的全局和靜態變量+堆區+棧區)(RAM)。

由上可知:

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

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

常見的倆個疑問:

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

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

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

我們都知道在燒寫程序的時候,需要燒寫bin文件或者hex文件到STM32的flash中,被燒寫的文件稱為鏡像像文件image。image的內容包含這三個Code 、 RO-data 和 RW-data。

通過第一個問題大家應該有所理解,因為ZI數據是0,沒必要包含,只要在程序運行前把ZI數據區域一律清零即可,包含進去反而浪費Flash存儲空間。

編輯:jq

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

    關注

    10

    文章

    1748

    瀏覽量

    155527
  • 存儲器
    +關注

    關注

    39

    文章

    7739

    瀏覽量

    171674
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373448

原文標題:STM32的FLASH和SRAM的使用情況分析

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Atmel SAM3S系列32位Flash微控制器深度剖析

    Atmel SAM3S系列32位Flash微控制器深度剖析 在當今的電子世界中,高性能、低功耗的微控制器是眾多電子設備的核心。Atmel的SAM3S系列32位Flash微控制器,憑借其卓越的性能和豐
    的頭像 發表于 02-25 11:40 ?186次閱讀

    AT32F系列 使用DMA將數據從FLASH傳輸到SRAM

    使用DMA將數據從FLASH傳輸到SRAM 下載示例 演示AT32F系列使用DMA將數據從FLASH傳輸到SRAM的使用方法。 注:本例程對應的代碼是基于雅特力提供的V2.x.x
    發表于 12-03 16:26

    客戶使用profinet轉devicenet協議網關的使用情況分享

    Profinet
    jf_69310483
    發布于 :2025年12月03日 14:28:31

    如何檢查EZ-USB? CX3 上的 SRAM 使用情況(JTAG 不可用)?

    型的調試工具來實時監控內存使用情況。 是否有其他方法(例如構建報告、SDK 功能或EZ-USB? Suite 內的工具)可以讓我檢查固件使用了多少 SRAM?
    發表于 11-11 06:33

    如何在應用程序調試期間分析棧和堆使用情況

    隨著 AMD Vitis 統一軟件平臺 2021.2 的發布,Vitis 引入了一個 Tcl 腳本,用于在應用程序運行的特定時間點協助查找棧和堆的內存使用情況。該腳本已延續到后續的 Vitis 版本
    的頭像 發表于 10-24 16:54 ?891次閱讀
    如何在應用程序調試期間分析棧和堆<b class='flag-5'>使用情況</b>

    手機無線充電發熱量

    無線充電發熱源于能量損耗,受材質、環境溫度及使用情況影響,需注意散熱以保護手機。
    的頭像 發表于 10-13 08:14 ?1191次閱讀
    手機無線充電發熱量

    STM32C011開發(3)----Flash操作

    STM32C011 系列微控制器內置 Flash 存儲器,支持程序存儲與數據保存,具備頁面擦除、雙字寫入、讀寫保護等功能。本文將簡要介紹 STM32C011 的 Flash 結構與特性
    的頭像 發表于 09-18 16:48 ?4909次閱讀
    <b class='flag-5'>STM32</b>C011開發(3)----<b class='flag-5'>Flash</b>操作

    NAND Flash的基本原理和結構

    NAND Flash是什么?NAND Flash(閃存)是一種非易失性存儲器技術,主要用于數據存儲。與傳統的DRAM或SRAM不同,NAND Flash在斷電后仍能保存數據。它通過電荷
    的頭像 發表于 09-08 09:51 ?7034次閱讀
    NAND <b class='flag-5'>Flash</b>的基本原理和結構

    請問如何在Keil開發環境中查看代碼大小和SRAM使用情況?

    如何在Keil開發環境中查看代碼大小和SRAM使用情況
    發表于 08-20 06:38

    請問如何僅使用軟件和 TC375 精簡板來測量函數調用的堆棧使用情況?

    我想測量 AURIX TriCore? TC3xx 項目的函數調用的堆棧使用情況。 我不知道該怎么做。 我知道事實上作為硬件我只有一個 TC375 lite 開發板,沒有 BlueBox 或任何
    發表于 08-08 07:28

    如何將Flash刷寫程序放到SRAM中運行?

    客戶要求Flash driver不能存儲在Flash中,需要在升級的時候,由CAN FBL發送到SRAM中,再運行SRAM中的Flash d
    發表于 07-15 07:22

    OBC/DC-DC/BMS/熱管理/智能座艙磁性元件使用情況與要求

    理/智能座艙等功能模塊中磁性元件使的用情況與性能要求,《磁性元件與電源》采訪了敦源電子研發總監汪洪偉,為我們一一揭秘。 OBC/DC-DC/BMS/熱管理/智能座艙磁性元件使用情況 隨著新能源汽車向高集成化、智能化方向加速發展,磁性元件作為電子系統的“隱
    的頭像 發表于 07-08 14:05 ?954次閱讀
    OBC/DC-DC/BMS/熱管理/智能座艙磁性元件<b class='flag-5'>使用情況</b>與要求

    請問如何優化OpenVINO?工具套件中的內存使用?

    運行OpenVINO?推斷時找不到優化內存使用情況的方法。
    發表于 06-25 06:56

    S32G3有沒有辦法從.map文件確定SRAM使用情況?

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

    請問STM32訪問FPGA內部SRAM部分區域為何只能讀不能寫?

    采用STM32F427+FPGA+Flash。 STM32通過FMC總線訪問FPGA內部SRAM,起始地址為0x60000000; Flash中存儲FPGA的配置數據,
    發表于 03-12 07:59