Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - nxpdave

#1
ARM Cortex / Starting application code from ISP
March 05, 2012, 09:43:04 AM
I have a project with an LPC1759 where I'd really like to start the application from the ISP after loading is finished, but I can't make it work.  Yes, I know a hardware reset will do it but I hate to add the cost of additional parts on the board to use one of the RS232 handshakes for reset.

The reset vector is at memory address 4.  I was thinking that I could read the contents of memory address 4 and use it with the ISP Go command.

The address at location 4 has the LSB set because it's a Thumb-2 instruction (that's my understanding anyway).  If I use the ISP Go command with the address from location 4, I get an error message because the address is not on a word boundary.  If I clear the LSB of the address and use it with the Go command, I get positive acknowledgement but the application does not start.

I know that the clock is going to be set for 14.XX MHz from the internal RC clock/PLL when ISP exits via the Go command, but I can't see why that would keep my application from starting up.  After that my startup code would reset the clock to the desired value before using any clock-critical code executes.

Is there some other technique to invoke the application from ISP without a hardware reset?  Can it be done via the Go command and I'm just doing something wrong and can't see the forest for the trees?

Thanks,
Dave