HIDmon88


HIDmonとは

  • HIDasp側のメモリーを読み書きするツールです。
  • 但し、HIDasp側のRAMといってもほんの10バイトくらいしか余っていませんので、読み書きしたところでどうなるものでもありません。
  • 実際には、汎用IOのようにポートをホストPC側から触って遊ぶツールとなります。
  • 不幸にもUSBの接続ポートのDDRレジスタなどを触ってしまうと通信が途絶します。
  • LEDを手動で点灯させたり、PWMを設定して(繋いだ)スピーカーから音を出して遊ぶとかそんな感じになります。
  • 詳細については AVR_Monit の項目をお読みください。
  • サンプルスクリプトで1MHzのCW(電信)電波を出すものを入れておきました。
  • PB2に短いアンテナを繋げて、AMラジオで受信してください。
  • graphコマンドを追加しました。

/ATMEL_AVR/upload/b.png

AVR> graph pind のようにして使います。
  • 省略すると pinb をグラフ表示します。
  • ESCキーで終了してください。
  • サンプリングレートは今のところ全力のままです。

ATtiny2313用HIDmon

MIRROR DOWNLOAD

HIDasp旧回路用での注意

  • HIDasp旧回路用のファームhidspx-1005-pb01.zipに付きましては、
    • USBのD+がPB1,PD2の両方に接続。
    • USBのD−がPB0に接続。
  • という配線になっていますので、PB1、PD2の両方を出力モードにして、各pinの出力レベルが異なってしまう場合に大電流が流れてチップを損傷する可能性があります。
  • ですので、HIDmonの使用はできるだけ避けるようにお願いいたします。
    • HIDaspのデバッグ用途でピンやポート状態を探るという用途に限定すれば使えますが。

ATmega88用HIDmon

  • おまけのおまけ:HIDmon88を作成しました。
  • これはATmega88に移植したHIDmonです。
  • 先にモニタだけ移植して、AVRライターとしてはまだ機能しません。
  • ATmega88側のメモリーを読み書きするツールです。
  • ATmega88側のRAMは1Kバイトもありますが、それを読み書きしたところでどうなるものでもありません。
  • 実際には、汎用IOのようにポートをホストPC側から触って遊ぶツールとなります。
  • 不幸にもUSBの接続ポートのDDRレジスタなどを触ってしまうと通信が途絶します。
  • LEDを手動で点灯させたり、PWMを設定して(繋いだ)スピーカーから音を出して遊ぶとか、アナログポートを読み取ってグラフにするとか、そんな感じになります。

bootmon for ATmega88

  • bootloadHIDとhidmon88の機能を合成しました。
  • 何が出来るようになるかというと、
    • bootloaderとしては、bootloadHIDとまったく同じにそのまま使える。
    • hidmonとしても使える。
  • 使い道としては、
    • 適当なアプリケーションを書いて、bootloaderで転送して実行させる。
    • 実行前にPCからデータを流し込んで、それをアプリケーションが使う。
    • 実行結果をRAMに残して、それを後で読み取って使う。

たとえば、

  • PS2キーボードのデータ取得ルーチンを書いたけど、早速試したい。
    • 実行結果をRAMに残して、あとで読み取って確認する。
    • もちろん、取得結果を直接USBで受信するとか、シリアルに流すということを普通は行いますが、
    • 割り込み処理の関係上USBと並列動作させにくい場合もあります。
    • シリアル変換を繋いだり、シリアルのルーチンを書くのが面倒くさいという場合もあります。
  • 高速なロジアナもどきを作ったが、取得結果をUSBで拾いたい。
    • つまり、一定時間USBの割り込みOFFで動きたいという場合です。
    • USBドライバーを一定時間停止させる処理とか書くの面倒じゃないですか。
    • だったら、アプリケーションだけ単独で動かして、結果だけhidmonが拾います。

キーボードまにあ Part3

ATmega88にPS/2キーボードを接続して、入力スイッチのかわりに使おうという プロジェクトです。

  • とりあえず、仮作成したソースをUPします。

ChangeLog

  • 2008/11/27 - 千秋ゼミさんからbootmon-1127.zipをミラーしました。
  • 2008/11/13 - test/ディレクトリに応用領域用のfirmを用意しました。
  • 2008/11/06 - 未初期化変数により動作不安定バグがあったのを修正しました。メモリー削減を実施しました。
  • 2008/11/03 - poll graphコマンドでfirmwareのPOLL機能を使用するようにして高速化しました。
  • 2008/11/02 - kuga様のアドバイスによりWORKRAMを480番地に移動、また、bootloader書き込み後のcodeエリア読み込みできない問題を解決しました。