Troubleshooting

The flash boot loader code is executed every time the CPU is powered or reset. The loader can execute the ISP command handler or the user application code. P0.14 is sensed on a rising edge on the RST (CPU reset) pin. If a low level is detected, ISP command handler starts and takes over control of the CPU after reset. If there is no request for the ISP command handler execution (a high-level detected), a search is made for a valid user program. If a valid user program is found then the execution control is transferred to it. Refer to CPU User Manual for more details on CPU startup mode.

Normally, jumper J25 is set for ‘User mode’ by default. Boot-loader mode should be normally selected only for troubleshooting or when the user explicitly wants to use Boot-loader mode. J16 must be removed when Boot- loader mode is selected (see J16 description for more details).

There was a case, where the code was programmed in the flash, which disabled the JTAG debug port shortly after reset. Due to the Philips implementation, the debugger cannot take over control over the CPU immediately after reset, but a part of code is executed before the CPU can be stopped by the debugger. In this particular case, the application disabled JTAG port before the debugger took control over the CPU and the debugger could not connect to the CPU at all. Thereby, note that if the debugger cannot connect to the CPU (winIDEA reports “Cannot stop CPU”), it may be due to bad program in the flash. In this case, Boot-loader mode has to be selected (in order for the CPU to start executing ISP command handler), in which the debugger can always stop the program and take over control over the CPU. Then a new valid program can be programmed in the flash or flash erased. Then the User mode can be used again.

© iSYSTEM, December 2005

14/16

Page 14
Image 14
Philips LPC2138 dimensions Troubleshooting