The story so far:
-
Got Olimex ARM-USB-OCD working with OPENOCD under Linux.
-
Developed PWM / Led blink code for LPC2119.
-
Successfully managed to erase and download to flash using OPENOCD.
-
Got debugging with Eclipse/gdb working a treat.
-
Ported RTOS code + example to LPC2119.
-
Tried downloading RTOS to flash using existing (successful) methods; failed with Openocd server reporting :
Error: armv4_5.c:591 armv4_5_run_algorithm(): timeout waiting for algorithm to complete, trying to halt target
Same error occurs when erasing flash.
-
Tried hacking flash bank xtal frequencies to reflect xtal rather than pll freq’s. Tried every combination of power offs, resets/inits I could think of. No good.
-
Went back to original PWM / Led blink code; now got same erase/write timeout errors with Openocd.
-
Erased flash, and downloaded original PWM code to flash successfully using Philips LPC2000 serial utility. Runs fine.
-
Tried debugging: Cannot access memory at address 0xfffffffb (this might be a red herring though).
-
Stuck!
What is this “timeout waiting for algorithm to complete” business?
Any thoughts gratefully received!
[Edit] It’s necessary to do one or more hardware resets (reset run_and_halt) before several openocd commands (mdw, flash erase, flash write, lpc2000 part_id etc.) work correctly; they may seem to work but without the reset the results are incorrect and no warning is given via a telnet session or gdb.[/Edit]