エミュレータ・実機での実行
コンパイル済のバイナリファイルtarget.ihxをエミュレータや実機上で実行する手順を説明します。
エミュレータでの実行
g800にパスを通しておき
g800 target.ihx
で、target.ihxが読み込まれます。
MON
G100
などで実行できます。(実機のROMイメージを読み込んでない場合はデフォルトで互換の機械語モニタに入っているのでいきなりG100で実行できます)
なお、下記のようにすれば0x100から実行するところまで自動で行われます。
g800 target.ihx 0x100
ただし、プログラムの実行が終わるとエミュレータごと閉じるので、キー待ちの無限ループなどを含まず 実行後に終了するプログラムを実行した場合はいきなりエミュレータが落ちます。
通信スクリプトの導入
pip install pyserial
pip install intelhex
git clone https://github.com/ashitani/g850dev.git
g850dev/tools以下のsend.pyです。
実機での実行
send.pyスクリプト内のメインルーチン頭のdeviceという変数を現在接続中のUSBシリアルのデバイスを指す名称に書き換えます。
windowsの場合は
device='com3'
linux/macOXの場合は
device='/dev/hogehoge'
のようになるでしょう。
通信ケーブルをつないた状態で、PC側で下記スクリプトを実行します。target.ihxは転送したいバイナリです。
python send.py target.ihx
スクリプトが確保すべきユーザ領域と読み込みコマンドを入力するように支持してくるので、 そ指示どおりに実機でコマンドを実行したのちに、PC側でenterを押すと通信が始まります。 9600bps決め打ちなので、うまくいかない場合はポケコン側の通信設定を見直してください。 [TEXT]-[Sio]-[Format]でボーレート等を変更できます。