STM32でNUTTXを使ってみる
psコマンド freeコマンド
前回に続いてnshネタです。
nshには謎が沢山有ります。
ボードにより、nshの組み込みコマンドが違います。
これは以下のメニューで変更することができます。



stm32f103-minimum/nshを使ってビルドした時は、freeもhelpもDisableになっています。
これを変更するとfreeとhelpが使えるようになります。

上記のメニューでfreeとpsを有効にしても、freeとpsが使えるボードと使えないボードが有ります。
これらのコマンドは、コンフィグファイル(.config)に以下の変数を追加することで使えるようになります。
CONFIG_FS_PROCFS=y
CONFIG_FS_PROCFS_MAX_TASKS=128
CONFIG_FS_PROCFS_EXCLUDE_ENVIRON=y
CONFIG_NSH_PROC_MOUNTPOINT="/proc"
私は面倒だったので直接、コンフィグファイル(.config)を修正してしまいました。
本当はメニューで変更するのでしょうが....
これがstm32f103-minimum/nshを使ってビルドした時のnshです。
helpもpsもfreeも有りません。

これが先ほどの変数を追加してビルドした時のnshです。

これはSTM32F103VETボードにfreeコマンドを組み込んだ時の表示です。
SRAMサイズが大きくなっていることが分かります。

psコマンドを実行したときにタスク名が<noname>と表示される場合が有ります。

コンフィグファイル(.config)に以下の変数を追加(あるいは値を変更)することで、タスク名が正しく表示されるようになります。
CONFIG_TASK_NAME_SIZE=31
但し、SRAMを少しだけ消費します。

どの変数と、どのコマンドが関連しているのか...
nshのビルトインコマンドは謎だらけです....
ファームの書き込み方法と、nshへの接続方法はこちらに紹介しています。
STM32F4 Discovery
STM32F3 Discovery
STM32F103RB Nucleo
STM32F103 BluePill/BlackPill
STM32F103 VEボード
STM32F407 VGボード
続く....