LCP111x Board Not Working without Crystal

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LCP111x Board Not Working without Crystal

200 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by kralux on Tue Jul 06 11:49:28 MST 2010
We made our own LPC1111 target board without a crystal connected because we want to use the internal RC oscillator.
Unfortunately, when we connect it to the LPC Xpresso board LPC Link (or the red probe), it gets stuck somewhere in the bootloader code before reaching our entry point.

The specific line is line 421 of system_LPC11xx.c (by stopping execution with the debugger):
while (!(LPC_SYSCON->SYSPLLCLKUEN & 0x01));     /* Wait Until Updated       */

Apparently, it is waiting infinitely for the PLL.

According to our understanding, the LPC1111 should be able to run "out of the box" without a crystal attached.

In addition to this, we experimented on the LPCXpresso development board to rule out any issue with our board.
We simply unsoldered the crystal from that board and the same behavior was observed: the LPC would hang on the same line as shown in the debugger.
When we put the crystal back on the LPCXpresso board, it works as expected. When we take it out, the debugger hangs around the line mention above.

What should we do to run without a crystal? Do we need to modify the bootloader code? (though the documentation says it is made to run without a crystal).

Thank you for your help!
0 Kudos
Reply
1 Reply

176 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by kralux on Tue Jul 06 13:21:05 MST 2010
Ok, I solved my problem by changing this line:
#define SYSPLLCLKSEL_Val      0x00000001
into:
#define SYSPLLCLKSEL_Val      0x00000000  // 1

I tried it before several times but unfortunately, the IDE was never using the new source code (with value set to 0) for some strange reason. I have found that you need to manually delete all the compiled files and recompile everything to get updates propagated. It is useful to double check that with the disassembled output.
0 Kudos
Reply