色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

ARM STM32中的程序是在RAM里還是在FLASH里運行?

冬至子 ? 來源:老羊快跑 與 深度學習 ? 作者:老羊快跑 ? 2023-10-27 14:06 ? 次閱讀

STM32有兩個存儲空間,一個是片上的FLASH,一個是片上的RAM。RAM相當于內存,FLASH相當于硬盤。(以下英文大小寫不分)

圖片

Keil下,工程編譯完成總會出現上面的信息,這些信息都代表什么呢?代表程序占用的空間。

Code表示程序代碼部分

RO-data 表示程序定義的常量(如:intconst x等);

RW-data 表示已初始化的全局變量

ZI-data 表示未初始化的全局變量,以及初始化為0的變量

下面給出三個值:

RO Size= Code + ROData (程序占用FLASH空間的大小)

RW Size=RW Data + ZIData (運行時程序占用RAM空間的大小)

ROM Size=Code + RO Data + RWData (燒寫時程序占用FLASH空間的大小)

我們都知道,在燒寫程序的時候,需要燒寫bin文件或者hex文件到STM32的flash當中,被燒寫的文件稱為映像文件image。Image的內容包含三部分:code,RO-data 和RW-data。

為什么Image不包含ZI數據呢,是因為ZI數據都是0,沒必要包含,只要程序運行之前將ZI數據所在的區域(這一區域在RAM中)一律清零即可。包含進去反而浪費flash存儲空間。

STM32上電啟動以后,cpu根據boot0和boot1的硬件引腳決定從flash還是ram中啟動,默認是從flash中啟動;啟動之后會搬運rw-data到ram,但是不會搬運code;也就是說cpu執行的代碼是在flash中讀取的,而不是在ram中。當然這個flash是nor型的.

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

    關注

    10

    文章

    1642

    瀏覽量

    148594
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1369

    瀏覽量

    114960
  • STM32
    +關注

    關注

    2272

    文章

    10923

    瀏覽量

    357402
收藏 人收藏

    評論

    相關推薦

    cyt4bb7cebq0代碼放在flash執行會導致異常的原因?

    切換的代碼都放在RAM運行么? 因為是要對flash進行操作的,代碼也放在flash執行會導
    發表于 05-27 08:21

    ram還是flash快?

    ] ...... /****************************************************/ 結論就是: 1. 跑ram還是
    發表于 05-17 15:49

    用STM8S103K3來做IAP自升級功能,燒寫Flash程序運行RAM,到了某一個固定的位置就會寫錯為什么?

    大家好,我目前用STM8S103K3來做IAP自升級功能。 目前,我是用ARM來轉128個字節過來給STM8,然后,讓燒寫Flash程序運行RA
    發表于 05-16 06:45

    STM32F4 Keil程序RAM調試運行的問題求解

    用Keil,設置好向量表ram,然后修改程序位置,調試載入時設置pc,sp等,能正常調試。我的程序僅僅就是進入main后,初始化串口,開
    發表于 05-13 06:51

    STM32F103XX系統的mcuFLASH_OBR寄存器中有個USER【User option bytes】字段,這是什么意思?

    STM32F103XX系統的mcuFLASH_OBR寄存器中有個USER【User option bytes】字段,請問這個是什么意思?用于什么作用的?必須得配置
    發表于 05-10 06:13

    STM8RAM運行遇到的疑問求解

    系統函數,而這個系統函數flash里面。這個時候我把flash 已經關了。程序就執行不動了。 RAM的地址域是from 0x0000 t
    發表于 05-07 07:32

    為什么將延時程序搬到RAM運行反而變慢了?

    原先delay()主循環中演示閃燈的,后來搬到RAM運行,發現閃燈變慢了,怎么會在RAM
    發表于 05-07 06:32

    關于STM32G473程序運行FlashRam速度的疑問求解

    關于STM32G473程序運行FlashRam速度問題,向大家請教一下。之前用的是F4系列的程序
    發表于 04-12 07:18

    STM32F103斷服務程序設置斷點沒有停下來是什么原因引起的?

    STM32F103程序,調試時定時器中斷服務程序設置了斷點,但是沒有停下來,程序能正常
    發表于 04-07 08:02

    使用外部QSPIKEIL調試老是不對,為什么?

    我打算程序QSPI 運行,但是要實現在KEIL調試,我首先將STM32H750 W25Q6
    發表于 04-01 07:21

    STM32HIAR如何實現從FLASH加載到SRAM運行程序

    如題,STM32H IAR如何實現從FLASH加載到SRAM運行程序 有沒有相關的例程可供
    發表于 03-28 07:46

    STM32CubeIDE用STLINK調試下載程序老是出錯的原因?

    哪位大神知道STM32CubeIDE用STLINK調試下載程序老是出錯,顯示啟動GDB服務器失敗!要么找不到STLINK序列號!反正用STLINK下載不了
    發表于 03-11 07:27

    怎么才能實現eclipse+jlinkRAM調試代碼?

    使用eclipse+jlink下載到flash調試stm32g0已經可以,現在想把代碼放到RAM調試,改了3個地方,但失敗了,請問有研究
    發表于 03-08 07:20

    TC265如何將特定函數挪至RAM運行

    目前在做TCC265的bootloader,需要把操作flash的代碼挪至RAM運行。目前根據資料嘗試過初始化階段通過memcopy函數
    發表于 02-19 08:33

    Falsh和RAM運行同一段代碼,執行效率相同嗎?

    Flash運行程序和在RAM運行程序,同一段代
    發表于 02-19 07:10
    主站蜘蛛池模板: 色久久一个亚洲综合网 | 伊人久久青草青青综合 | 尤物99久久久合集一区区 | 亚洲男人天堂网 | 国产主播福利一区二区 | 草草久久久无码国产专区全集观看 | 97超碰在线视频人人av | 永久免费看bbb | 粉嫩AV国产一区二区福利姬 | 超碰人人澡人人胔 | 欧美freesex黑人又粗又 | 人人插人人射 | 耽美肉文 高h失禁 | 欧美日韩另类在线观看视频 | 在教室伦流澡到高潮H免费视频 | 入禽太深在线观看免费高清 | 伊人久久电影网 | 直插下身完整的欧美版 | 国产精品久久久久久亚洲影视 | 国产精品系列在线观看 | 国产成人在线播放 | 中文字幕在线视频观看 | 成人亚洲精品 | 国产成人在线小视频 | 久久热在线视频精品1 | 恋夜秀场1234手机视频在线观看 | 免费视频亚洲 | 公和我做好爽添厨房中文字幕 | 午夜在线视频国产极品片 | 国产GV天堂亚洲国产GV刚刚碰 | 武侠古典久久亚洲精品 | 久久视热频国产这里只有精品23 | 极品美女久久久久久久久久久 | 一个人看的www视频动漫版 | 中文字幕成人免费高清在线 | 大胸美女脱内衣黄网站 | 亚洲国产在线综合018 | 亚洲午夜精品A片久久WWW软件 | 2018久久视频在线视频观看 | 伊人yinren6综合网色狠狠 | 国产人妻人伦精品无码.麻豆 |