Stmチップについては、キールコンパイル後に出力される情報について、プログラムが占めるフラッシュとRAMの容量を確認してください。

 

 

 

 

キールコンパイルによって出力された情報によると

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つずつ実行します。羊

 

 

 

おすすめ

転載: blog.csdn.net/weixin_42174355/article/details/86541684