Date : 28/02/2008
To Keil Suport and LPC2103/MCB2103 user:
Im a user that use the MCU of LPC2103, test with MCB2103 Evaluation Board, developed with Keil Software, communicate with ULINK USB-JTAG Adapter. For now occur that "JTAG Communication Failure" matter.
Confirm that MCB2103 have power from PC USB Port, jumper J9 for JTAG comfirm have on, J1 for ISP have off.
Besides it, I found that when I open the window that Project - Options - Debug - ULINK ARM Debugger Settings, also cannot automatic detect the LPC2103 device. Just appear that "JTAG Communication Failure" in JTAG Device Chain windonw.
I already follow the FAQ from dear compamy website (http://www.keil.com/support/docs/2935.htm), follow the instrution that
===================================================== -- The power supply of the ULINK driver might be incorrect. Open ULINK and set the jumper VCC to 3.3V. For more information refer to the Getting Started User's Guide, JTAG Debugging - ULINK: Interface Schematic.
->I try already, fail..
=====================================================
-- The ARM device may execute some code that interrupts communication with the Embedded ICE. This happens when the device executes random code. Some devices have also problems with the JTAG interface, when the device goes into IDLE mode. To recover such devices, you may erase the complete program using serial program utilities.
-> I try use with the Philips LPC-2000 Flash Utility v2.2.3, and change the jumper J1(ISP) to on, jumper J9(JTAG) to off, with the RS-232 extension cable that I do, (1-1, 2(PC RX)-2(MCB2103 232,TX), 3(PC TX)-3(MCB2103 232, RX), 4-4, 5-5, 6-6, 7-7, 8-8, 9-9 ) connect to MCB2103 UART-0 comport with 9600BPS, 8, N ,1. The result that also "Cannot communicate with test board!" after push the Read Device ID.
-- When ARM devices work with a slow clock (below 6MHz) the ULINK may be too fast by default. Reduce the MAX JTAG Clock in the dialog Project - Options - Debug - ULINK ARM Debugger Settings.
-> All the clock speed i try already, also popup the window that "JTAG Communication Failure" when i want download the program to Flash.
Actually this problem occured after i make a mistake in experimen. I thought that the battery pin (use for tight the battery long pin on pcb board, I have not use the battery, so I use the plastic seal the battery without contact with this pin)is ground, so I use the osciloscope get this pin as ground and try get other CPU pin signal...
So if i have the ability to solder out this one LPC 2103 CPU from the MCB 2103 execution board and solder a new LPC 2103 CPU, is it ok??
thank you mr. Per Westermark give me advice Did the oscilloscope have any other ground reference besides this pin, i.e. did the oscilloscope short this pin ground or to any other potential?
==> No..
=======================================================
Have you checked if the crystal on the board oscillates? Of course this test doesn't mean anything if the processor defaults to an internal RC oscillator until a program specifically reconfigures it to use an external crystal.
==> the oscillator did funtion properly
Are there any I/O pins on the chip that should switch to specific logic states when the processor is turned on, and before any program changes them to outputs and forces them to high or low state? Are there any indications that the processor do power up?
==> I just use the oscillator to check the mcu power VDD pin, is tat have 1.8VDC and 3.3 VDC, the power supply voltage for cpu is ok other jumper setting when on the evaluation is ok
So for now i just use the KEIL simulation funtion for develop
but i do met some problem when UART RX
is tat correct for like this UART RX? I save the Uart buffer to one char array tat i declared but some time will loss some byte, i try solve this problem few day, but dint work...
the structure i try is tat i use my ps's com2 keep send the data to com1(as simulate for cpu UART RX)
/* initialize part */
void uart_init(void) { PINSEL0 = 0x5; /* enable UART TX and RX */ U0FCR = 0x7; /* FIFO enable */ U0LCR = 0x83; /* DLAB on*/ U0DLM = 1; /* 9600, N, 8, 1 U0DLL = 135; /* 60Mhz PClk */ U0LCR = 0x3; /* DLAB on*/ }
int main() { char chr[100]; int i=0;
uart_init();
while (1) { while(!(U0LSR & 0x1)); chr[i] = U0RBR; ++i;
if (i==100) PINSEL0 = 0x0; /* disable UART RX, TX functio */ } }
before execute, i will try type the keil debug simulation command to let my PC comport be mcu UART RX. ========================= mode com1 9600, 0, 8, 1 assign com1 <s0in> s0out =========================
according above code i try, the data save in chr array always have some miss save, i really dont know why, could not find out why
i try decrease my pc's com2 TX sending interval time to slower, but also happen the miss data
if i use hyperterminal(com1) rx the data from com2, its ok, no problem...
Is the part no. of MCU have any different? After I change the a new LPC2103 MCU buy from Mouser.com, the result that is also that
"No Target Device found"
Can anybody give any advice to me, thank you very much!!
Below link is the original LPC2103 part no. from Keil MCB2103 evaluation board i6.photobucket.com/.../PartnoofLPC2103whereIbuyfromMouserc.jpg
Below link is the LPC2103 part no. buy from Mouser.com i6.photobucket.com/.../PartnoofLPC2103onMCB2103EvaluationB.jpg