OLIMEX OKI-H5003 Simple boot monitor 'ARMoni' Version 0.0 Copyright (C)2005 Y.Sakamoto http://www.neko.ne.jp/~freewing/ Donationware, http://www.neko.ne.jp/~freewing/donation.htm 本ソフトウェアが気に入った場合は寄付をして頂ければ幸いです。 OKI ML67Q5002/ML67Q5003 http://www2.okisemi.com/site/press/productphotography/PR-ML675001.html/ OLIMEX OKI-H5003 http://www.olimex.com/dev/oki-h5003.html *Introduction ARMoniはシンプルで且つ簡単に使えるOLIMEX OKI-H5003用のBoot monitorです。 本monitorは大掛かりなJTAG-I/Fを必要とせず、手軽に開発を行ないたい開発者に最適です。 USB-I/Fを経由してプログラム転送が可能です。 専用のターミナルソフトを用意しており効率的な開発が可能です。 また、一般的な通信ソフトを用いる事も可能ですので、JTAGデバッガの様にベンダーに縛られる事なく開発環境を自由に構築可能です。 RAMに転送してデバグ出来るのでROMの書き換え回数を気にする事が無く、ROMの寿命を保護出来ます。 *How to use 1) OKI-H5003の内蔵ROMに'ARMoni.hex'を書き込みます。 2) OKI-H5003を通常起動します。 3) パソコン側で'ARMoni.exe'ソフトウェアを起動します。 4) OKI-H5003の内蔵RAMや外付けRAMエリアに Intel Hex formatのファイルを用いて プログラムを書込みます。 5) 'G' Goコマンドで転送したプログラムを実行します。 * ARMoniは通常のターミナルソフトでも使用出来ます。 通信パラメータは 750000bps,even,8bit,stop1です。 *その他のメーカのARMチップやマイコンチップ(Renases SH等)に対応を御希望の方は評価ボードを提供して頂ければ対応致します。 詳しくはY.Sakamotoまでメールでお問い合わせください。 *ARMoni Simple boot monitor Commands D [adrs] ... Dump Memory I ... Input Data/Read Memory O ... Output Data/Write Memory G [adrs] ... Execute Program ... Receive Intel Hex format . ... Execute Last Command *ARMoni Simple terminal Commands '*' to Upload 'test.hex' '@' to Close ComPort 'ESC'/'!' to Exit *ARMoni use resource Internal ROM : 0x00000000-0x00002000 Program area Internal RAM : 0x50000000-0x50001000 Work area : 0x50007C00-0x50007EFF Stack area : 0x50007F00-0x50007FFF Vector area *ARMoni Vector area map (please see sample program.) org 0x50007F00 HandleReset: .skip 4 HandleUndef: .skip 4 HandleSWI: .skip 4 HandlePabort: .skip 4 HandleDabort: .skip 4 HandleReserved: .skip 4 HandleIRQ: .skip 4 HandleFIQ: .skip 4 IntVectorTable: _HandleSysTimer: .skip 4 @[0] 0001 _HandleWatchDog: .skip 4 @ 0002 _HandleWatchInt: .skip 4 @ 0004 _HandlenIr3: .skip 4 @@ 0008 _HandleGpioA: .skip 4 @ 0010 _HandleGpioB: .skip 4 @ 0020 _HandleGpioC: .skip 4 @ 0040 _HandleGpioDE: .skip 4 @ 0080 _HandleSoftWare: .skip 4 @[8] 0100 _HandleUart: .skip 4 @ 0200 _HandleSio: .skip 4 @ 0400 _HandleAd: .skip 4 @ 0800 _HandlePwm0: .skip 4 @ 1000 _HandlePwm1: .skip 4 @ 2000 _HandleSsio: .skip 4 @ 4000 _HandleI2C: .skip 4 @ 8000 _HandleTimer0: .skip 4 @[16] 0001 _HandleTimer1: .skip 4 @ 0002 _HandleTimer2: .skip 4 @ 0004 _HandleTimer3: .skip 4 @ 0008 _HandleTimer4: .skip 4 @ 0010 _HandleTimer5: .skip 4 @ 0020 _HandleExtInt0: .skip 4 @ 0040 _HandlenIr23: .skip 4 @@ 0080 _HandleDma0: .skip 4 @[24] 0100 _HandleDma1: .skip 4 @ 0200 _HandleExtInt1: .skip 4 @ 0400 _HandlenIr27: .skip 4 @@ 0800 _HandleExtInt2: .skip 4 @ 1000 _HandlenIr29: .skip 4 @@ 2000 _HandlenIr30: .skip 4 @@ 4000 _HandleExtInt3: .skip 4 @ 8000 _HandleUnused: .skip 4 @@InvalidateStopper