Control Program for H8/3664

概要

 CP/3664は、資源の少ないH8/3664で動く、マルチタスクをサポートする管理プログラムです。OSとしての最小限の機能、MONITOR等を用意し、簡単な装置制御への応用を目標にしています。

機能

 CP/3664自体は、タスク制御機能の提供します。タスク制御機能は、タスクの起動・停止、優先度による実行間隔の制御をサポートです。基本的には、プログラムは全てROM上にあることを想定しているため、メモリ管理機能はありません。

機器制御(R/Cサーボを想定している)のための制御コードを含んでいます。これにより、3〜4度単位の角度で8個のサーボを制御できます。(ただし、この機能は、テスト環境がないため、テストを行っていません。)

MONITORは、TASK0に常駐します。メモリ内容の表示・書き換え、タスク情報の表示等が可能です。これにより、プログラムのデバッグ等が可能です。

著作権等

 CP/3664は、フリーソフトウェアです。自由に利用、改造、修正、再配布できます。ただし、直接間接を問わずいかなる損害が出た場合においても一切の責任は、負えません。

対象ハードウェア

 秋月電子通商のAE-3664(プロセッサは、H8/3664F)、AE-3664FPを対象にしています。16MHzのクロック、32kHzのサブクロックを含む、同様なハードウェアであれば、少しの変更で動作します。I2Cインタフェースは利用していません。H8/3694でも改造なしで動くはずです。サンプルでは、PORT1を入力,PORT8を出力しています。PORT1は、R/Cサーボ用の制御信号(受信機から)の入力、PORT8は、R/Cサーボへの制御信号出力に使用します。H8 Tiny I/O BOARDを使用する場合、SW1は、切り離すか、5V側にしておいてください。

再構築方法

 cp/3664は、Tiny,SLP(Super Low Power)無償版コンパイラ でコンパイル、動作確認を行っています。ソースをダウンロード後、MAKEファイルを利用し、Cソースのコンパイル、アセンブラソースのアセンブル、全てのリンク後、メモリー割り当て(RAM領域がI/O領域に入っていないかなど)を確認してください。

インストール

 再構築したCP/3664を書き込みソフトでH8/3664に書き込みます。サンプルでは、通信速度を38400BPSにしてあります。通信ソフトを起動、H8/3664をリセットすると、起動メッセージとプロンプトが表示されます。

Control Program for H8/3664 Ver1.4
Monitor Ver1.4
>

応用

 TASK#0は、MONITORが占有します。TASK#1及び2は、I/Oポートに接続したセンサーからの情報取得及び、能動装置への指示信号出力等、単純な機能をサポートするプログラムをアセンブラで記述することを想定しています。TASK#3は、各タスクからの情報に従い、高度な処理を行うプログラムをC言語で記述することを想定しています。

既知のバグ

 シリアルポート関係のバグがあります。速い速度でのデータ通信を行うと、MONITORは、反応しなくなります。

 奇数番地へ実行を移すと、CPUが停止するようです。cp/3664では、ウォッチドグタイマーが働き再起動します。


->INDEX