STM32でUARTをやってみる5(MicroShell

こんかいもUARTのネタです

中村さん作のMicroShellの話でございます。

実を言うと中村さんには一度SignalBottomでお会いしたことがあります。
その時は中村さんの作品を一つしか使ったことなかったので次回お会いできる機会があれば聞いて見たいことをいっぱい聞いて見たいと思います。

本人blogは以下のリンクから

shinta-main-jp.blogspot.jp

本題

簡単に説明すると組み込み用Shellです。

導入はLPCのサンプルプロジェクトが入ってるのでEclipseプロジェクトでの導入は楽だろう
しいて言えば

  • uart_getc
  • uart_putc
  • uart_puts

APIがSTMにないのでラッピングして作るのが結構めんどかったりする。

とりあえずlibファイル一式インポートして
f:id:gsmcustomeffects:20170324025400p:plain

指示通りAPIをパースする。

f:id:gsmcustomeffects:20170324025656p:plain

main.cの無限ループ内で以下の記述をする

f:id:gsmcustomeffects:20170324025938p:plain

あとは好きにコマンドなりをサンプルと同じように追加していく

f:id:gsmcustomeffects:20170324030112p:plain

Teratermで確認

適当にコマンド追加してLEDトグルしてみた

f:id:gsmcustomeffects:20170324030243p:plain

タスクの追加方法

上部でタスクを定義

f:id:gsmcustomeffects:20170417200057p:plain

コマンドテーブルに追加

f:id:gsmcustomeffects:20170417200203p:plain

実際の処理部分を追加

f:id:gsmcustomeffects:20170417200345p:plain

まとめ

いやぁ凄いの一言

ここまで簡単に使えてコードサイズが10KB程度って凄すぎでしょ・・・・・・・・
F030で普通に使えるし

コマンド追加も結構楽

あとはデバッグ途中関数ポインタを使った簡単なプログラムでつまずいてリアルテック氏にご教授いただいたのでもっと勉強します。
ポインタできないと彼女できないらしいので・・・・・