008 STM32之 keil編譯記憶體大小解析

2022-08-11 09:45:12 字數 1105 閱讀 9406

program size: code=28784 ro-data=6480 rw-data=60 zi-data=3900   的含義

1. code: 程式所占用的flash大小,儲存在flash.

2. ro-data: read-only-data,程式定義的常量,儲存在flash中。

3. rw-data:read-write-data,已經被初始化的變數,儲存在sram中。

4. zi-data:zero-init-data,未被初始化的變數,儲存在sram中。

簡單的說就是在燒寫的時候是flash中的被占用的空間為: 

rom(flash) size = code+ro-data+rw-data;

上面**大小    = 28784 + 6480 + 60 = 35324

= 35324/1024 = 34.5k

程式執行的時候,晶元內部ram使用的空間為:

ram size    = rw-data+zi-data

上面**ram = 60 + 3900  = 3960

= 3960/1024 = 3.9k

從上面的分析之後我們得到了此程式占用的記憶體

rom = 34.5k

ram = 3.9k

rom容量:64kb (64k x 8)

ram容量:20k x 8

STM32在keil下的問題

在 stm32f107vc時出現 jlink warning t bit of xpsr is 0 but should be 1.changed to 1 原因 stm32晶元被鎖住了,執行下jlink安裝目錄下jlinkstm32.exe解鎖工具。更改stm32的啟動方式,改為從flash啟動 ...

STM32編譯錯誤

output test.axf error l6218e undefined symbol systeminit referred from startup stm32f10x hd.o not enough information to list image symbols.此問題錯誤提示已經十分...

stm32在keil5下重定向printf

在微控制器開發中,難免需要用到串列埠進行通訊除錯,對於部分人來講習慣了使用printf進行列印輸出,本文記錄了該實現方法。軟體 keil5 pc端串列埠除錯助手 硬體 usb轉ttl串列埠模組,stm32最小系統 此處只記錄關鍵步驟,其他的請參閱相關資料。1.在工程設定target中勾選use mi...