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

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

    文章

    1662

    瀏覽量

    150964
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1391

    瀏覽量

    116757
  • STM32
    +關注

    關注

    2289

    文章

    11011

    瀏覽量

    362300
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    攜手Nordic推出多合一氣體傳感器

    此前,5月22日至23日,2025藍牙亞洲大會在深圳隆重啟幕。云新品“多合一氣體傳感器”Nordic展位上重磅亮相。產品搭載了Nordic nRF54L系列首款系統級芯片(SoC),兼具超低
    的頭像 發表于 05-27 18:01 ?360次閱讀

    OpenVINO?運行應用程序失敗怎么解決?

    嘗試 OpenVINO? 運行我的推理應用程序失敗,并出現以下錯誤: RuntimeError: Check \'false\' failed at src/core/src/ru
    發表于 03-05 10:29

    文丘效應方程的應用

    本文要點文丘效應方程實際上意味著什么?在哪里可以觀察到文丘效應?如何在CFD更好地實現文丘效應?人們常說,數學是通用語言。這一論斷的依據可能是:物理現象和理論概念可以用符號和方
    的頭像 發表于 02-28 18:08 ?365次閱讀
    文丘<b class='flag-5'>里</b>效應方程的應用

    mcvip源碼,TVP5158_patchDownload這個函數主要是寫什么進VBUS

    mcvip源碼,TVP5158_patchDownload這個函數主要是寫什么進VBUS?VBUS又有什么作用?手冊好像沒說明白
    發表于 02-11 06:52

    什么是RAM內存 RAM內存對電腦性能的影響

    什么是RAM內存? RAM(Random Access Memory,隨機存取存儲器)是電腦中的一種易失性存儲器,它用于存儲電腦運行時的數據和程序。與硬盤等非易失性存儲器不同,
    的頭像 發表于 11-11 09:38 ?5519次閱讀

    rt-thread bspesp32c3編譯出的bin文件燒到esp32的開發板上運行提示chipid不對,為什么?

    rt-thread bspesp32c3編譯出的bin文件燒到esp32的開發板上 運行提示chipid不對,是否有方法修改能支持esp32 系列的開發板
    發表于 09-27 10:01

    keil5怎么往stm32燒錄程序

    相關設置。 編寫代碼 Keil5編寫您的STM32程序。您可以使用C或C++語言編寫代碼。 配置編譯器
    的頭像 發表于 08-22 09:31 ?4567次閱讀

    外部存儲器是ROM還是RAM

    外部存儲器通常指的是計算機系統除了主存(RAM)以外的存儲設備,如硬盤、固態硬盤(SSD)、USB閃存驅動器、光盤等。它們主要用于長期存儲數據和程序,以供計算機需要時讀取和寫入。外
    的頭像 發表于 08-06 09:13 ?2816次閱讀

    請問靜態變量如何放到flash

    比如有有很多的靜態變量,如何防到flash。 我用了const修飾,編譯出來,但是還是rodate段,該段不是80k的
    發表于 07-12 09:26

    cyusb3104RAM中加載程序映像后斷開連接是哪里的問題?

    )后,USB 設備斷開連接,同時留下\"programming succeeded\" 的信息。 可能存在哪些問題? 我們無法 RAM 運行任何
    發表于 07-05 06:20

    esp32運行make flash燒寫hello world遇到的疑問求解

    串口驅動安裝正常,連接正常 demo目錄hello world程序下,運行make all,編譯正常, 然后運行 make
    發表于 06-26 06:25

    VSCode安裝好了插件Espressif IDF,打開一個demo的文件夾,程序總提示頭文件找不到,為什么?

    VSCode安裝好了插件Espressif IDF,打開一個demo的文件夾,程序總提示頭文件找不到,然后終端
    發表于 06-21 06:11

    ESP32 IDF 4.3創建任務使用外部PSRAM分配內存,在任務操作FLASH死機的原因?

    ESP32 IDF 4.3 創建任務使用外部PSRAM分配內存,在任務操作FLASH一定會死機,請問是什么原因或者有這種限制嗎 static StaticTask_t xTaskBuffer
    發表于 06-19 06:10

    請問ESP32如何實現Flashram重映射這種功能呢?

    汽車ECU開發,需要發動機/整車參數在線標定,通常用CCP/XCP協議。 問題:標定參數通常定義flash一片內存,同時會劃分相同大
    發表于 06-14 06:31

    使用Gatt Server實現了與一個NUKI FOB的連接,Terminal老是有報錯和警告,為什么?

    我使用Gatt Server 這個例程, 實現了與一個 NUKI FOB的連接,也正常工作了,但是Terminal 老是有如下的報錯和警告: W (154441) BT_HCI: hcif
    發表于 06-12 07:07