(4)FTDI社のFT2232Dを使用したJTAGアダプターを用意する。http://micom.hamazo.tv/e1822876.htmlhttp://www.joernonline.de/(5)これ以外の何らかのJTAGアダプターを用意する。一応PCのパラレルポートで簡単に自作出来ます。CPUの足上げが必要になります。シリアルブートモードにするためには、R15(100kΩ)にてプルダウンされているBOOT0端子を10kΩ程度でプルアップすれば可能かもしれません。(未確認)下記のファームウェアを書き込みます。stm8s_blaster/firmware/main-2000.hex書き込みツールには、armon/armbootに含まれているarmbootを使用します。stm8s_blaster/firmware/main-2000.hexそのまえに、armon/armbootのファームウェアを書き込んでおいてください。JTAGが使用できる適当なARM基板を以下のような対応でJTAG接続しておきます。結線は、STM8S-DiscoveryのJTAG書き込み端子をそのまま流用します。nTRSTは未接続にしてください。これ以外のnTRSTピンなどはまだサポートしていません。(USB-Blasterと同様)また、上記結線は直結ではなく100Ω程度の抵抗を介して接続するようにしてください。起動して、openocd.exeの吐き出すメッセージを確認することが出来ます。番に接続して、OpenOCDコマンドを実行してみてください。PIC24Fライターご注意:tools/armon/armon.exeはこのファームの接続確認専用です。通常はarmon/armbootの配布ファイルに含まれているほうのarmon.exeを使用してください。makeしてください。openocd.exe本体を再ビルドする方法は、ここを参照してください。ディレクトリに置いています。Linux上でのビルドオプションは、こんな感じです。起動時に呼び出します。現状の問題点HIDデバイスなので遅いです。Flashの書き込みがやや遅いです。そちらに接続されてしまい誤動作するので変更しました。OpenOCDの配布ライセンスに準じます。ファイルを(自力で)差し替えるだけで、これ以外のJTAG自作書き込み器をサポートすることが可能になります。OpenOCD本体ソースに変更を加えることなく、自由にドライバー作成できるようになります。OpenOCD本体ソースには殆ど手をつけていませんので、今後のOpenOCDの変更点に追従する手間はほとんど要りません。**qのqには、openocd本体のjtag_command_queueというグローバル変数のアドレスを渡します。ドライバー記述構造体のアドレスになります。WindowsXP,MinGW用ソース、実行ファイル、AVR側ファームウェア、openocd本体改造パッチ数日おきに更新していますので、古いと思ったら最新を取得してみてください。多くのATMEL製AVRチップとMicrochip製PIC18Fシリーズ、そして一部のPIC24Fシリーズへの書き込み機能を備えています。今のところまだ用意できていません。MINIからは100Ω程度の抵抗を介して接続するようにしてください。PIC18Fは低電圧書き込みのみをサポートします。デバイスによって異なります)書き込みは出来ません。2↑STM8S-Discovery以外の基板への移植について。MINIの4機種の基板については全てarmon/armbootを移植済みです。armblasterの移植も簡単に出来ると思います。MINIではPB8〜PB11)をそれぞれの基板の都合の良い位置に割り付ける作業は、おそらく定義ファイルを書き換えるだけで済みます。(ポートの制御はArduino風にdigitalRead(pin)とdigitalWrite(pin,level)で行なっていますので、pinの定義が変わるだけで対応可能です)Makefileにはすでに基板の種別定義が含まれていますので基板名のdefineを書き換えるだけですみます。読み書き.が追加されてます。+---+---+---+---+---+---+---+---+BITBANGデータの1回分は、TCK=LOWのサンプルとTCK=HIGHのサンプルをパックしたデータ。+---+---+---+---+---+---+---+---+TCKを変化させたくないときは、両方のTCKビットを同じ値にします。読み書き.を実行するときは、HidReportの下りストリーム(PC->AVR)を単純な形式(1コマンドのみ)にします。|+------+------+-------------------+------+jcmdがBitBangモードのときは、返答データはありません。JTAG(TDI列)のときのみ(TDO列)を返します。JTAGストリームが長い場合(56bit以上のTDIを送ってTDOを受け取る)は、56bit単位に分割転送します。その場合、最後のストリームの最終bitのみ、TMSを1にする処理が入ります。起動したらまず、localhost:4444番ポートにtelnetで(TeraTermなどを使って)繋いでください。TeraTermから、以下のようなコマンドをタイプすると、結果が表示されます。接続されているTAPのリストを見る。manual回路図はマニュアルに記載されていました。奥の手として、versaloonのファームウェアを載せることによりSTM8Sへの書き込みだけは出来るようにすることが出来るかもしれません。blasterで検索。続きはWebで!?書き込みソフトはOpenOCDがあればOKです。