lpc2103 - unable to communicate - serial or JTAG

I’m unable to communicate with my new Olimex LP2103 prototype board.

With the Phillips LPC2000 Flash Utility V2.2.0 and a straight-through serial cable, the utility doesn’t recognize the LPC2103 board.

With Linux arm-elf-gdb and the same serial cable, gdb doesn’t recognize the LPC2103 board. (How do I enable the rdi library?)

With the Olimex OCD TINY JTAG unit and openOCD, the board is not recognized when I start openocd.

With lpc2k_pgm, the board is not recognized.

Is the LPC2103 dead? Both the red and green LEDs are solid on. Would corrupted flash cause this non-behavior?

Thanks for any advice.

mike80439:
I’m unable to communicate with my new Olimex LP2103 prototype board.

With the Phillips LPC2000 Flash Utility V2.2.0 and a straight-through serial cable, the utility doesn’t recognize the LPC2103 board.

With Linux arm-elf-gdb and the same serial cable, gdb doesn’t recognize the LPC2103 board. (How do I enable the rdi library?)

With the Olimex OCD TINY JTAG unit and openOCD, the board is not recognized when I start openocd.

With lpc2k_pgm, the board is not recognized.

Is the LPC2103 dead? Both the red and green LEDs are solid on. Would corrupted flash cause this non-behavior?

Thanks for any advice.

Assuming that you are actually refering to the Olimex LPC-P2103 board, do you have the BSL jumper removed, and the DBG_E jumper installed for JTAG operation, OR the BSL jumper installed and the DBG_E jumper removed for the Phillip’s FLASH utility?

–Dave

Yes, with the Phillips Flash Utility, the BSL jumper was shorted and the DBG_E jumper was open. However, the utility does not have a selection for LPC2103, so I used LPC2104

Yes, with the Olimex JTAG TINY, the BSL jumper was open and the DBG_E jumper was shorted. Here is my openocd.cfg:

telnet_port 4444

gdb_port 3333

interface ft2232

ft2232_device_desc “Olimex OpenOCD JTAG TINY”

ft2232_layout “olimex-jtag”

ft2232_vid_pid 0x15ba 0x0004

jtag_speed 0

reset_config trst_and_srst srst_pulls_trst

jtag_device 4 0x1 0xf 0xe

jtag_nsrst_delay 2000

jtag_ntrst_delay 2000

daemon_startup reset

target arm7tdmi little run_and_halt 0 arm7tdmi

run_and_halt_time 0 30

working_area 0 0x40000000 0x1000 nobackup

flash bank lpc2000 0x0 0x20000 0 0 0 lpc2000_v1 14745 calc_checksum

This is the contents of /proc/bus/usb/devices:

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 4

B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0

D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1

P: Vendor=0000 ProdID=0000 Rev= 2.06

S: Manufacturer=Linux 2.6.23.1-21.fc7PAE ohci_hcd

S: Product=OHCI Host Controller

S: SerialNumber=0000:02:00.0

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=12 MxCh= 0

D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1

P: Vendor=15ba ProdID=0004 Rev= 5.00

S: Manufacturer=Olimex

S: Product=Olimex OpenOCD JTAG TINY

S: SerialNumber=FTPX9R4V

C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA

I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms

I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms

Here is the output when starting openocd:

root@maps mike]# openocd

Info: openocd.c:93 main(): Open On-Chip Debugger (2007-09-05 09:00 CEST)

Error: jtag.c:1253 jtag_examine_chain(): JTAG communication failure, check connection, JTAG interface, target power etc.

Error: jtag.c:1440 jtag_init(): trying to validate configured JTAG chain anyway…

Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f

Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f

Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f

Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f

Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f

Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f

Error: jtag.c:1448 jtag_init(): Could not validate JTAG chain, exit

[root@maps mike]#

Thanks

T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=12 MxCh= 0

D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1

P: Vendor=15ba ProdID=0004 Rev= 5.00

S: Manufacturer=Olimex

S: Product=Olimex OpenOCD JTAG TINY

S: SerialNumber=FTPX9R4V

C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA

I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms

I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms

Pretty sure this is your problem. I haven’t used the TINY but you should probably be getting an arm_usb_ocd or some such driver loading. Check your dmesg output to see what happens when you plug it in.