As described on
http://www.balloonboard.org/balloonwiki/Balloon3OpenOCD I have working
configs for use with the balloon board and Olimex and Amontec JTAG
dongles. I won't copy them all into this message - look at that page
for the detailed file contents.

Putting this config into openOCD itself as board support seems
sensible. However there about a million ways of setting out these
config files, and proper paramerisation and having info reside at the
right levels is tricky. I partly adressed this in my pxa.cfg patch
mail (where should the reset config and CPUTAPID live), but here are
some other queries that arise.

I have top-level files for a port/dongle/interface-cabling/board
combination like this:
balloon3-cpu-olimex.cfg  (olimex dongle, pxa jtag port, full init)
balloon3-cpld-olimex.cfg (olimex dongle, cpld jtag port, xsvf-only init)
and then script files for uploading code:
loadloon.cfg  (load bootloader and kernel/initrd into NOR)
loadfpga.cfg  (load FPGA image into NOR)
loadcpld.cfg  (just play xsvf file)

The top-level files refer to:
base.cfg
<dongle>.cfg (should be stock from openOCD)
pxa270.cfg (should be stock from openOCD, but currently isn't)
then specify 
* a CPUTAPID
* a reset config
* a NOR flash device
* initialisation of chain ready for programming

Things are complicated because we have build flavours with FPGA and
CPLD, and various dongle/interface arrangements to the CPU and
CPLD/FPGA which sometimes chain the JTAG ports and sometimes don't.

This seems to leave a choice between an awful lot of top-level files
(one for each combo of dongle/chaining) or loads of tiny little files
and a lot of knowledge required to know which set to select. I have
tried to find a happy medium here, and offer these files for
inclusion, but some of this stuff has wider implications for board
files in general I suspect so am happy to take suggestions about how
best to do this.

I also have some questions about how things currently work.

1) Is there a way to output a user message? Currently 
flash write_image erase kernel/zImageInitrd 0x200000 bin
involves a 10-minute pause. It would be great if there was a way to
display
'programming flash with kernel/root image now - should take 10 mins'
so the user didn't think it had died.

2) base.cfg just specifies the default port info:
-----
telnet_port 4444
gdb_port 3333
tcl_port 6666
-----
But if I don't put this in I get warning messages about how these are
"not specified- using defaults". Is that really necessary? Shouldn't it
just quietly use the defaults and save us all having to specify these
in thousands of config files? If not then having this 'base.cfg' for
such default info might be a good idea generally?

3) What's with the 'A' on the end of all the USB ft2232_device_desc
names?
Originally I had to change the Olimex.cfg file to a) have the correct
vip_pid numbers (now correct in svn) and b) remove the A, so it
worked. Now it seems that leaving the A in can work because OpenOCD
strings it off and tries without it, but it still seems confusing.
Shouldn't the config file not have this info and it gets added on and
checked for in the strange Windows case where apparently it is needed?

4) When running correctly I get a lot of grumbling which I don't
understand how to fix:
tap creation outputs:
-----
Info : JTAG tap: pxa270.cpu tap/device found: 0x49265013 (Manufacturer: 0x009, 
Part: 0x9265, Version: 0x4)
Info : JTAG Tap/device matched
-----

so that's OK, but then 'reset halt' gives:
---------
Info : JTAG tap: pxa270.cpu tap/device found: 0x49265013 (Manufacturer: 0x009, 
Part: 0x9265, Version: 0x4)
Info : JTAG Tap/device matched
Warn : TAP pxa270.cpu:
Warn : value captured during scan didn't pass the requested check:
Warn : captured: 0x00 check_value: 0x02 check_mask: 0x07
Warn : in_handler: w/o "in_value", mismatch in SDR
Error: JTAG error while writing DCSR
Warn : TAP pxa270.cpu:
Warn : value captured during scan didn't pass the requested check:
Warn : captured: 0x00 check_value: 0x01 check_mask: 0x7F
Warn : in_handler: w/o "in_value", mismatch in SIR
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x580000d3 pc: 0x00000000
MMU: disabled, D-Cache: disabled, I-Cache: disabled
(processor reset)
------------
What are the 'requested checks' referred-to? What should I specify
where to stop it whinging? 

erm. There is probably more but that'll do for now :-)

I hope this stuff is useful.

Wookey
-- 
Principal hats:  iEndian - Balloonboard - Toby Churchill - Emdebian
http://wookware.org/
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to