Project_OKI’s diary

エンジニアの勉強ブログ

STM32マイコン33(CubeIDEの使い方:空きメモリ容量の確認)

STM32(CubeIDE:空きメモリ容量の確認)

1.本日の内容

 (1) CubeIDEで空きメモリ容量(RAMとFLASH)の確認を行う。

  (どの程度使っているかの確認)

 

  使用マイコン

 

・目次

 

2.内容

(1) メモリとは

 ・メモリは大きくROM(Read Only Memory)とRAM(Random Access Memory)に分類される。

 ・ROMの特徴

  (a) 読み出し専用のメモリ

  (b) 電源の状態に関係なく、消えることはない。(非発揮性)

 

 ・Flashメモリ

  (a) ROMの一つ、その中でもブロック単位でデータを消去して書き換えることが出来る。

  (b) データの永続的な保存が可能な為、ここに、プログラムコードやデータの保存に使用される。


 ・RAMの特徴

  (a) ランダムに読み書きが自由に出来る。

  (b) 電源を切ると、消去される。(発揮性)

 

メモリの詳細に関しては下記書籍など、基本情報技術者の知識を参照。


 

 

 

(2) STM32マイコンのメモリ

 ・STM32マイコンには、RAMとFLASHがあり、下記の様にマイコンによって異なる。

 ・プログラムの規模によって必要なFLASHやRAMの容量を決定する。

 ・Nucleof401REの場合は、STM32F401RET6が付いている為、

  FLASHは512KB、RAMは96KBある。

  規模が大きくなる場合、この値を気にする必要が出る。

STM32サイト:STM32F4 | STM32, STM8ファミリはSTの32bit/8bit汎用マイクロコントローラ製品

(3) 実際に作成したプログラムの容量、空き容量を確認する。

 通常プログラムをビルドすると、下記のように表示される。

 

 ・このtext、data、bssというのが現在使用しているメモリ容量になる。

  (実際には、下記以外の項目がある)

  Flash側:

   (a) text:プログラム(コード)の保存領域

  RAM側:

   (b) data:初期値がを持つ変数の初期値を格納している領域

   (c) bss:初期値を持たない(0で初期化される)変数の領域

 

(4) RAMとFlashの表示設定

 上記内容だと、実際にRAMとFlashがどの程度使われているのか分かりにくい。 

 CubeIDEのリンカの設定を変更し、RAMとFlashの使用容量を表示する。

 

 (a) 確認するプロジェクトの上で右クリック

 (b) プロパティをクリックして開く

 (c) C/C++ BuilderのSettingタブを開く。

 (d) Tool Settingsを選択し、MUC GCC LinkerのCommand欄を選択する。

 (e) Command欄には、gccと記載されている。

 (f) gccの後ろに、-Wl,--print-memory-usageを入力する。

    (gcc -Wl,--print-memory-usage とする)

 (g) 適用を行い、再度ビルドする。

 


 (h) ビルドすると、下記のような形で、

  ・RAMとFlashの使用量(Used Size)

  ・RAMとFlashのメモリ容量(Region Size)

  ・使用率(%age Used) 

  が表示されるようになる。

 
 

3.関連記事

関連記事一覧:
 
組み込みC言語