针对iar和keil编译器输出内存的分配做说明
" L: @# L) |" a1 S# DIAR
4 [. s* W1 V) D0 x+ L2 U8 }$ J9 d/ v% H
ox5cbniuui364010482930.png
+ `* V$ M1 y! f! S/ N# akeil7 x5 m0 V f: P) K; W' p- j
01xoswzgpra64010483030.png
' M2 I9 B; j$ `! H) J先说IAR1 o8 @" d+ K1 N3 ]1 {; e9 E
readonly code memory 是存储在flash中的! _& P9 F4 Z @( c
readonly data memory 是存储在flash中的(只读常量,如const型)6 c3 G* s2 |# Y/ R- k
readwrite data memory 是存储在RAM中的
5 D' }% F& x. S! L. Y9 _' \+ `2 L$ J2 b" g( d& r @% n) t3 `% U
再说keil
2 a8 a, M; a) ]3 lCode: 存储到flash中的程序代码。
9 ` _5 M8 w5 j/ c* ^RO-data:(Read Only)只读常量的大小,如const型。0 U% P- `% B) g0 F* a8 P+ s
RW-data:(Read Write) 初始化了可读写变量的大小。即已初始化为非零的全局变量。
9 X1 s2 r/ m7 }( U) j" _/ l3 xZI-data:(Zero Initialize) 没有初始化或初始化为0的可读写的变量的大小 |