天ノ岩戸

趣味のマイコンやDSPを使った電子工作実験の記録です。たまにソフトのことも。日本神話とは一切関係ありません。

Natural Tiny Shell (NT-Shell) を実装してみた

2011-11-25 11:22:43 | 作成物

Shinichiro Nakamuraさんが開発されたNatural Tiny ShellをBlackfinに実装してみました。Duinofin(BF504F Arduinoピン互換基板)のブートローダに使おうかと思っています。

http://sourceforge.jp/projects/ntshell/

ソース一式をダウンロードして、ドキュメントとサンプルコードを確認しながら、UART部分を実装して実行。この間約1時間ぐらい。

あっさりとシェルが動きました。



きちんと制御シーケンスも認識し、History機能も動いています。
ビルド時にsize_tの定義でエラーが出ましたが、それ以外はWarningもでず、よく出来ています。

VT100の実装は何度かしたことがありますが、結構面倒なんですよね。特にHistoryなんて、めんどくさくて実装見送りとか。


ビルド後のフットプリントがこちら。NT-Shellのソースはオリジナルのままですが、Blackfinの初期化コードやドライバも含んでいるので、参考程度に。

コードサイズ :7728 bytes
スタックサイズ:76 bytes
データサイズ :4260 bytes

データサイズがやけにでかいなと思ったら、vtparse_table.cのSTATE_TABLEが犯人のようです。Blackfinはコードとデータは別扱いなので、コード領域にconstデータを置けないのですが、コード領域にconstデータが配置できるプロセッサなら、使用RAMサイズはかなり小さくなるかと。この程度なら、何の問題ありません。

あとはELFパーサとFLASHアクセスまわりを整備すれば、専用ブートローダの出来上がり。
ジャンル:
ウェブログ
キーワード
ブートローダ フットプリント
コメント (0) |  トラックバック (0) |  この記事についてブログを書く
Messenger この記事をはてなブックマークに追加 mixiチェック シェア
« TOPPERS/JSP for ... | トップ | 電卓買いました »

コメント

コメントはありません。

コメントを投稿


コメント利用規約に同意の上コメント投稿を行ってください。
※文字化け等の原因になりますので、顔文字の利用はお控えください。
下記数字4桁を入力し、投稿ボタンを押してください。この数字を読み取っていただくことで自動化されたプログラムによる投稿でないことを確認させていただいております。
数字4桁

トラックバック

この記事のトラックバック  Ping-URL
  • 30日以上前の記事に対するトラックバックは受け取らないよう設定されております。
  • 送信元の記事内容が半角英数のみのトラックバックは受け取らないよう設定されております。
  • このブログへのリンクがない記事からのトラックバックは受け取らないよう設定されております。
  • ※ブログ管理者のみ、編集画面で設定の変更が可能です。

あわせて読む