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ボード

続く....