Forum: ARM programming with GCC/GNU tools OpenOCD parallel port

von Thomas F. (thomas_f)

Rate this post
0 useful
not useful
Hi ,

I am trying to get OpenOCD to work with LPC2138 with a parallel port 

H-JTAG(also works with giveio.sys) works perfectly with my setup , I 
need to set it with
nTRST --> output inverted
nSRST-->"no sysrst"
TCK Speed MAX/1.

I replicated this by using
parport_cable wiggler_ntrst_inverted
jtag_speed 8 in the openOCD_lpc2138_wiggler.cfg.

When I try compiling and flashing I get :
Programming with OPENOCD
Info:    openocd.c:93 main(): Open On-Chip Debugger (2007-09-05 09:00 
Error:   lpc2000.c:384 lpc2000_flash_bank_command(): unknown LPC2000 
Error:   flash.c:180 handle_flash_bank_command(): 'lpc2000' driver 
rejected flash bank at 0x00000000
Error:   jtag.c:1301 jtag_examine_chain(): number of discovered devices 
in JTAG chain (2) doesn't match configuration (1)
Error:   jtag.c:1302 jtag_examine_chain(): check the config file and 
ensure proper JTAG communication (connections, speed, ...)
Error:   jtag.c:1440 jtag_init(): trying to validate configured JTAG 
chain anyway...
Warning: arm7_9_common.c:734 arm7_9_assert_reset(): srst resets test 
logic, too
Error:   arm_jtag.c:38 arm_jtag_set_instr_error_handler(): setting the 
new JTAG instruction failed, debugging is likely to be broken

Any newbie errors I am making ?


von Martin T. (mthomas) (Moderator)

Rate this post
0 useful
not useful
As far as I know H-JTAG installs it's own direct port-access driver but 
I have not used H-JTAG since several months

It seems that the configuration is outdated. "reject flash bank" does 
not look good. Could you try with a configuration files from the openocd 
target library: interface/parport.cfg and target/lpc2148.cfg? Also try 
to increase the debug-level.

von Thomas F. (thomas_f)

Rate this post
0 useful
not useful
Hello Martin,

I am using your example from here :
Let me try the configuration file from the source you mentioned.


von Thomas F. (thomas_f)

Attached files:

Rate this post
0 useful
not useful
I managed to get get OpenOCD to flash the program for me,with a few 

1) JTAG cannot detect the board unless I manually reset the board once 
after power up.After this it works fine,till I power off the board.Then 
I need to do the "manual reset once",once again.

2) After loading the firmware in ROM ,the board executes the program 
,but I get the following message :

Programming with OPENOCD
Open On-Chip Debugger (2008-03-22 12:00 CET) svn: r520
URL: http://svn.berlios.de/svnroot/repos/openocd/trunk/
Info:    jtag.c:1329 jtag_examine_chain(): JTAG device found: 0x4f1f0f0f 
(Manufacturer: 0x787, Part: 0xf1f0, Version: 0x4)
Info:    target.c:240 target_init_handler(): executing reset script 
Info:    options.c:50 configuration_output_handler(): dcc downloads are 
User:    target.c:784 target_arch_state(): target state: halted
User:    armv4_5.c:340 armv4_5_arch_state(): target halted in ARM state 
due to debug request, current mode: System
cpsr: 0x8000005f pc: 0x0000103c
Info:    options.c:50 configuration_output_handler(): flash 'lpc2000' 
found at 0x00000000
Info:    options.c:50 configuration_output_handler(): erased sectors 0 
through 26 on flash bank 0 in 0.156250s
Info:    options.c:50 configuration_output_handler(): wrote 36488 byte 
from file main.bin in 3.640625s (9.787554 kb/s)
Warning: arm7_9_common.c:724 arm7_9_poll(): DBGACK set, but the target 
did not end up in the halted stated 1
User:    target.c:365 target_process_reset(): Timed out waiting for 
Press any key to continue . . .

I then exit this using "Stop Tools".Meanwhile the program is already 
executing on the board
I have attached the OpenOCD files from my setup.

von Thomas F. (thomas_f)

Rate this post
0 useful
not useful
Hi ,

Just managed to get OpenOCD working for debugging partially.
i.e. I am able to single step through the code. Now my problem is when I 
read the value of a variable ( by parking the mouse over it) , I get :
for example

741-data-evaluate-expression ptr
741^error,msg="Cannot access memory at address 0x40005660"

Any suggestions on what I might be doing wrong ?

von Martin T. (mthomas) (Moderator)

Rate this post
0 useful
not useful
Did you try with the gdb command set mem inaccessible-by-default off ?
for further information.

von Thomas F. (thomas_f)

Rate this post
0 useful
not useful
I tried this :

target remote localhost:3333
set mem inaccessible-by-default off
monitor soft_reset_halt
monitor sleep 500
monitor arm7_9 force_hw_bkpts enable
symbol-file lpcspi.elf
thbreak main

It now seems to work as expected.Will do more trials and revert back.
Thanks for sharing your knowledge and the results of your efforts.



Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.