Hi,
Amit Goradia schrieb:

> I am trying to use a USB JTAG dongle (NGX ARM JTAG) compatible with oocdlink
> for flash programming a LPC1768 processor.
> [...]
> 
> upon executing reset init, the output is as follows:
> 
> 
>> reset init
> JTAG tap: lpc1768.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part:
> 0xba00, ve
> r: 0x4)
> target state: halted
> target halted due to debug-request, current mode: Thread
> xPSR: 0x01000000 pc: 0x1fff0080 msp: 0x10001ffc
> 
> I think on a reset init, the pc should be ideally pointed to 0x00000000. 

Look into the manual again. Chapter 32: "The flash boot loader code is
executed every time the part is powered on or reset." And its reset
vector is 1ff0080.

> But
> here it is pointing to boot rom. (probably to the instruction where it waits
> for the flash boot loader to sample the set bootloader mode pin low). My
> rudimentary understanding is that on boot, the PC should be 0x00000000 after
> which a jump is programmed to the bootloader location.

NAK. On Address 0000000 is the Vector table. It only contains
_addresses_ and not instructions, as older ARM processor cores have.

> I have attached my configuration file below. Hopefully someone can shed some
> light on this for me.
> 
> lpc1768.cfg [...]

Looks good so far.
My changes to reset init sequence here:
--- snip ---
# REVISIT is there any good reason to have this reset-init event handler??
# Normally they should set up (board-specific) clocking then probe the
flash...
$_TARGETNAME configure -event reset-init {
# Disable Bootloader
#do not remap 0x0000-0x0020 to anything but the flash
mwb 0x400FC040 0x01
}
--- snip --


-- J. Fischer

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to