针对iar和keil编译器输出内存的分配做说明8 V2 }! J" b1 t" g& @1 ^5 ]. E
IAR
8 m e7 \4 e3 T& V: w
ox5cbniuui364010482930.png
/ j0 o; z( n$ N& H8 f. C& ^2 Gkeil
1 P+ K9 }% X" |7 G0 q
01xoswzgpra64010483030.png
5 r; x, z& u2 C- |7 e: W
先说IAR
) m1 Z6 T) y2 ]3 Y( e3 Rreadonly code memory 是存储在flash中的
# @( s N, ?* hreadonly data memory 是存储在flash中的(只读常量,如const型)
5 Z) t$ `, R0 X: oreadwrite data memory 是存储在RAM中的5 C3 g: k+ A4 h; c
' j! s4 ~5 N9 c# j7 Z7 S
再说keil) x0 X$ p7 F6 ^ J# B( y5 Z' P
Code: 存储到flash中的程序代码。3 m1 v2 X" Z n1 L# Y/ B+ i, F
RO-data:(Read Only)只读常量的大小,如const型。, |/ \( u- ]1 ^ }0 y, _6 U
RW-data:(Read Write) 初始化了可读写变量的大小。即已初始化为非零的全局变量。" y5 Y1 s1 n9 m/ z- l
ZI-data:(Zero Initialize) 没有初始化或初始化为0的可读写的变量的大小 |