キールコンパイルによって出力された情報によると
code:プログラムコード部分を表します
RO_data:プログラムによって定義された定数を表します(const ...で変更された変数など)
RW_data:初期化されたグローバル変数を表します(初期化されたグローバル変数と初期化されていないグローバル変数は異なるスペースに格納されます)
ZI_data:初期化されていないかゼロに初期化されていないグローバル変数を表します
プログラムが占めるフラッシュサイズ:code + RO_data
Runは、プログラムが占有するRAMサイズです:RW_data + ZI_data
プログラミングプログラムが占める偽のサイズ:code + RO_data + RW_data
stm32に書き込まれたbinファイルまたはhexファイルはイメージファイルイメージと呼ばれ、ZI_dataのデータが0であるため、コード、RO_data、RW_dataの3つの部分が含まれ、ZIに対応する領域(RAM内)をクリアするだけで済みます。ゼロで十分
stm32の電源がオンになると、cpuはBOOT0とBOOT1に従ってフラッシュから起動するかRAMから起動するかを決定します。デフォルトのフラッシュブート。起動後、RW_dataはRAMに転送されますが、コードは転送されません。CPUは、フラッシュから読み取ったコードを1つずつ実行します。羊