-- H8 writer program for H8S/2144A junk board --
Multi-platform H8 writer. (req. python-2.2 or higher and pySerial)

-- write control program for H8S/2144A junk(1) --
Write control program for H8S/2144A junk(1)
	-- source code --
	Write control program source
	Write control program crt0 source
	Write control program source(header)
	link&loader script for write control program

-- write control program for H8S/2144A junk(2) --
Write control program for H8S/2144 junk(2)
	-- source code --
	Write control program source
	Write control program crt0 source
	Write control program source(header)
	link&loader script for write control program

-- special thanks --
yamasan's H8 writer and more(H8ライター + H8工作 + PIC工作)

--
●H8Sジャンクの関連リンク
[H8Sジャンク掲示板]  秋月のH8S搭載ジャンク基板の話題はこちらにどうぞ
[秋月H8Sジャンク(その1)]
[秋月H8Sジャンク(その2)]
[超ミニBASIC for H8S/2144]
[H8S簡易モニタ]
[AtmelAVRを使った何か]
--

Pythonによるマルチプラットフォーム版H8ライタ

[特徴について] ・pythonで記述されているので,後述する動作条件の環境下であれば動作すると思います。 ・レガシーフリーPCでも,ネットワーク接続可能な環境とシリアルIFを持ったPCがあれば  書込みすることも可能(H8S書込み限定のシリアルポートリダイレクタとお考え下さい)。 ・yamasan氏の配布されている制御プログラムを使用すれば,H8Sジャンク以外にも書込み  することができるかもしれません(未テスト)。 [動作の前提条件] ・python-2.2以降の動作する環境(python公式サイト) ・pyserialパッケージの動作する環境(pySerialサイト) [使用条件] GPLv2ライセンスにて配布します。 [インストール方法] (0) Windows環境で,以下のインストールが面倒な場合には,py2exeで作成した実行形式   を置いておきますので,適当なディレクトリに展開してご利用ください。h8wrt.zip (1) pythonをインストールする。python公式サイトには,WindowsおよびMacOSXなどの   一般的なプラットフォーム用のインストールイメージが置かれています。それを利用   してください。cygwin環境であれば,setup.exeを使用して追加インストールするのが   簡単です。   主なLinuxディストリビューションであればパッケージで導入するのが簡便でしょう。   インストールするバージョンは,2.2以降であればよいと思われますが,2.6以降の   場合には,pythonV3に対するコンパチビリティの警告がでるかもしれません。   BSD環境であれば,portsかsrcによるインストールになるかと思います。 ※コマンドラインからpythonと入力して,pythonインタープリタが起動する環境を動作環境  として前提にしています。 (2) pySerialをインストールする。ディストリビューションのパッケージやportsにあれ   ば,そちらを使用してインストールするのが簡単です。   ソースからインストールする場合には,pySerialサイトからソースアーカイブを取得し,   以下のログを参考にインストールしてください。
$ tar zxf pyserial-2.4.tar.gz $ cd pyserial-2.4 $ python setup.py install standart distutils running install running build running build_py creating build creating build/lib creating build/lib/serial copying serial/serialcli.py -> build/lib/serial copying serial/serialjava.py -> build/lib/serial copying serial/serialposix.py -> build/lib/serial copying serial/serialutil.py -> build/lib/serial copying serial/serialwin32.py -> build/lib/serial copying serial/sermsdos.py -> build/lib/serial copying serial/__init__.py -> build/lib/serial running install_lib creating /usr/lib/python2.5/site-packages/serial copying build/lib/serial/serialcli.py -> /usr/lib/python2.5/site-packages/serial copying build/lib/serial/serialjava.py -> /usr/lib/python2.5/site-packages/serial copying build/lib/serial/serialposix.py -> /usr/lib/python2.5/site-packages/serial copying build/lib/serial/serialutil.py -> /usr/lib/python2.5/site-packages/serial copying build/lib/serial/serialwin32.py -> /usr/lib/python2.5/site-packages/serial copying build/lib/serial/sermsdos.py -> /usr/lib/python2.5/site-packages/serial copying build/lib/serial/__init__.py -> /usr/lib/python2.5/site-packages/serial byte-compiling /usr/lib/python2.5/site-packages/serial/serialcli.py to serialcli.pyc byte-compiling /usr/lib/python2.5/site-packages/serial/serialjava.py to serialjava.pyc byte-compiling /usr/lib/python2.5/site-packages/serial/serialposix.py to serialposix.pyc byte-compiling /usr/lib/python2.5/site-packages/serial/serialutil.py to serialutil.pyc byte-compiling /usr/lib/python2.5/site-packages/serial/serialwin32.py to serialwin32.pyc byte-compiling /usr/lib/python2.5/site-packages/serial/sermsdos.py to sermsdos.pyc byte-compiling /usr/lib/python2.5/site-packages/serial/__init__.py to __init__.pyc running install_egg_info Writing /usr/lib/python2.5/site-packages/pyserial-2.4-py2.5.egg-info $
(3) H8ライタプログラム h8wrt.pyを適当な場所にインストールする。 [使用方法] ・スタンドアロンモードでの使い方 h8wrt.py [-b ブート通信速度] [-p 書き込み時の通信速度] [-d シリアルデバイス名] [-n] [-A] 書き込み制御motファイル ROMに書込むmotファイル ・ネットワークモードでの使い方(サーバモード) h8wrt.py -s ポート番号 [-b ブート通信速度] [-p 書き込み時の通信速度] [-d シリアルデバイス] ・ネットワークモードでの使い方(クライアントモード) h8wrt.py -c ポート番号 -a サーバIP [-n] [-A] 制御.mot ユーザ.mot ※実行形式版の場合には,h8wrt.pyをh8wrt.exeとしてください。 [オプション説明] -b ブート通信速度 ブート制御プログラム転送時の通信速度(デフォルト9600) -p 書き込み時の通信速度 書き込み制御プログラム転送時の通信速度(デフォルト9600) -d シリアルデバイス名 シリアルデバイス名 (unix系なら/dev/ttyS0など, Win/DOS系ならCOM1:など接続ポートを指定する) -n motファイルのチェックサムを無視する。 (秋月の開発環境で作成したMOTファイルなどのチェックサムが誤っている場合に有用) -A プロトコルAと呼ばれる書き込み制御プログラムを使用する場合に指定する。 (書き込みブロックが32バイト単位となる。AサフィックスでないH8S/2144や2128など) -v ブロック書込み毎にベリファイを行います。 以下, ネットワークモード指定オプション -s ポート番号 サーバモード指定でTCPポート番号を指定する。 (スタンドアロンモード&クライアントモードとは排他) -c ポート番号 クライアントモード指定で接続先のTCPポート番号を指定する。 (スタンドアロンモード&サーバモードとは排他) -a サーバIP クライアントモードで接続先のIPアドレスを指定する。
cygwinでCOM2を使った場合の実行例は,こんな感じです。 $ chmod a+x ./h8wrt.py $ ./h8wrt.py -d /dev/ttyS1 ~/H8W/CTRL_MOT/2144A_F20M_P384.MOT ~/temp/H8Smon/mon2144.mot ./h8wrt.py: -b = 19200 -p = 38400 -d = /dev/ttyS1 BootFile=~/H8W/CTRL_MOT/2144A_F20M_P384.MO UserFile=~/temp/H8Smon/mon2144.mot Boot program length=1296 User program length=22732 booting start. /dev/ttyS1 open. 0x0000 bytes loaded. (途中略) 0x0500 bytes loaded. done. loaded booting = 1296 chip erase start chip erase done. /dev/ttyS1 closed. booting done. user program remapping(blksize=128). user program remapped(0x00000000 - 0x000058ff). write user program on flash. /dev/ttyS1 open. ADDR: 0x00000000 wrote. ADDR: 0x00000080 wrote. (途中略) ADDR: 0x00005800 wrote. ADDR: 0x00005880 wrote. /dev/ttyS1 closed. wrote user program. 178 blocks (blksize=128) $
●謝辞H8ライター + H8工作 + PIC工作 H8ライターと複数のH8書き込み制御プログラムを公開されていて,それをもとに2144A 対応の書き込み制御プログラムを作ることができました(ほとんどH8S/2636用のを流用してます) リンクまで貼っていただきYamasanに感謝!! [ご注意] ・このページの記載事項については,一切無保証です。