July 27, 2006

H8/3694用のフレームワーク

室内飛行機の自律制御システム秋月電子のH8/3694ボードを利用して作成しているのですが、色々とプログラムができてきたので、ソースを公開してみようと思います。

ところでですが、マイコンで電子工作をする際、シリアルポートからデータを送受信したりだとか、A/D変換をしたりだとか決まりきった動作があると思います。そういったものは別のシステムを作成する際にも後々再利用が可能なので、そういったコードはフレームワーク、つまり枠組みとしてできる限りアプリケーション寄りのコードから切り離しておくと便利だと思いませんか?
今回はそういったコンセプトで再利用可能な部分を切り離してみました。ソースをおいておきます。なおまとめてダウンロードしたい方はtar玉で固めておきました。cygwinなら

wget http://fenrir.naruoka.org/download/embedded/framework/H8_3694/H8_3694_framework.tar.bz2;
tar -jvxf H8_3694_framework.tar.bz2
とすることで全コードを入手できます。

フレームワークの主な内容ですが、シリアル送受信A/D変換インターバルタイマ(タイマAを使用)ウォッチドックタイマをサポートしておりスタートアップルーチンリンカスクリプトも内蔵しています。シリアル送受信とA/D変換にはリングバッファを使用しているので、途切れのないやり取りが可能です。この辺りの事情は『ソフトウェアFIFO』の記事を参考にどうぞ。

このフレームワークを利用する場合はH8用gccやmakeが必要です。開発環境の導入は『h8300-elf Makefile』の記事を参考にどうぞ。開発環境の導入が完了したら、フレームワークを展開したトップディレクトリのmain.cに自分用のアプリケーションコードを書き

make
するだけです。
使い方はフレームワーク自身のソースや、それを利用して作った室内飛行機用のコード、あるいは自動生成のドキュメントを参考にしてください。関数の一覧が一番役に立つかもしれません。

最後にですが、動作検証は秋月のH8/3694でしています。リンカスクリプトを少々修正することで同じTinyシリーズの3664にも対応可能だと思います。

03:35 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | この記事をdel.icio.usでブックマーク | トラックバック
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/504
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。