4.Helpの確認
telnetが起動したら、OpenOCDへの動作の指示はすべてtelnet経由で行うことができます。
起動を確認後、次のように打ち込んでみます。
help [Enter]
すると以下のようになります。
Open On-Chip Debugger > > help help display this help sleep sleep for milliseconds version show OpenOCD version shutdown shut the server down exit exit telnet session log_output redirect logging to (default: stderr) debug_level adjust debug level <0-3> jtag_speed set jtag speed (if supported) scan_chain print current scan chain configuration endstate finish JTAG operations in jtag_reset toggle reset lines runtest move to Run-Test/Idle, and execute statemove move to current endstate or [tap_state] irscan execute IR scan [dev2] [instr2] ... drscan execute DR scan [dev2] [var2] ... verify_ircapture verify value captured during Capture-IR var allocate, display or delete variable [num_fields|'del'] [size1] ... field display/modify variable field [value|'flip'] script execute commands from xsvf run xsvf targets no help available flash no help available banks - list configured flash banks info - print info about flash bank probe - identify flash bank erase_check - check erase state of sectors in flash bank protect_check - check protection state of sectors in flash bank erase - erase sectors at write - write binary protect - set protection of sectors at nand no help available pld programmable logic device commands arm7_9 arm7/9 specific commands write_xpsr - write program status register write_xpsr_im8 - write program status register <8bit immediate> write_core_reg - write core register sw_bkpts - support for software breakpoints force_hw_bkpts - use hardware breakpoints for all breakpoints (disables sw breakpoint support) dbgrq - use EmbeddedICE dbgrq instead of breakpoint for target halt requests fast_writes - (deprecated, see: arm7_9 fast_memory_access) fast_memory_access - use fast memory accesses instead of slower but potentially unsafe slow accesses dcc_downloads - use DCC downloads for larger memory writes armv4_5 armv4/5 specific commands reg - display ARM core registers core_state - display/change ARM core state disassemble - disassemble instructions ['thumb'] lpc2000 no help available part_id - print part id of lpc2000 flash bank reg no help available poll poll target state wait_halt wait for target halt [time (s)] halt halt target resume resume target [addr] step step one instruction reset reset target [run|halt|init|run_and_halt|run_and_init] soft_reset_halt halt the target and do a soft reset mdw display memory words [count] mdh display memory half-words [count] mdb display memory bytes [count] mww write memory word mwh write memory half-word mwb write memory byte bp set breakpoint [hw] rbp remove breakpoint wp set watchpoint [value] [mask] rwp remove watchpoint load_image load_image ['bin'|'ihex'] dump_image dump_image load_binary [DEPRECATED] load_binary dump_binary [DEPRECATED] dump_binary >
5.プログラムのフラッシュ
だいぶ核心に近づいてきました。最後に、テストプログラムをEZ-ARM miniターゲットボードにフラッシュします。
フラッシュコマンドの投入
次のようにタイプして、フラッシュコマンドを投入します。
arm7_9 dcc_downloads enable wait_halt poll flash probe 0 flash erase 0 0 26 flash write 0 blink.bin 0x0 reset run
blink.binはフルパスで入力するようにしてください。Windowsシステムなどで、スペースが入る場合はダブルクォーテーションで囲んでください。
フラッシュ後、LEDが点滅すれば完成です。
もし、ここまでできて点滅しないようであれば、LEDの不具合が考えられます。LEDの取付け方向や、しっかりハンダ付けされているかどうかを確認してください。
おつかれさまでした。ここまでで、ハードウェア(EZ-ARM miniターゲットボード、アダプタボード、USB2232ボード)と各種のドライバ類のソフトウェアはシステムとして動作していることが確認できました。
次回予告
次回はテストソフトのビルドを行ってみて、クロスコンパイラが適切に動作しているかどうかを確認します。