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 I am happy if I have you contribute it when you liked this software. 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 is Boot monitor for OLIMEX OKI-H5003. it is simple and is easily usable. This monitor does not need JTAG-I/F. Program transfer is possible via USB-I/F. You can build development environment freely. Protect life of built-in ROM. *How to use 1) Write in 'ARMoni.hex' at built-in ROM of OKI-H5003. 2) Run OKI-H5003. 3) Start 'ARMoni.exe' software in the PC side. 4) Write in a program at built-in RAM and an external RAM area of OKI-H5003 with a file of Intel Hex format. 5) Execute program enter 'G' Go command. * ARMoni can use even normal terminal software. A communication parameter is 750000bps,even,8bit,stop1. * If you want to use any other cpu/mpu(other makers ARM,Renases SH,etc..). Please refer by an email to Y.Sakamoto in detail. *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