Hello openOCD developers,
Thank you for producing openOCD; I find it highly useful!
I am having problems programming Freescale MK20DX256 Kinetis devices using
openOCD 0.7.0 stable on Win7.
A first problem I found is that Freescale have the questionable decision to
have the Kinetis CPUs drive their /RESET lines on encountering invalid
instructions. On my board, I have two MK20DX256 chained through JTAG with a
common RESET. When I'm interacting with the first device, the second device
resets everything and flashing the 1st device fails. The same holds for the
second device. To remedy this, I cut the RESET line that goes to the JTAG
programmer (Olimex ARM-USB-OCD-H) of the first processor. This seems to have
clear at least some of the problems. The second processor is still connected to
the JTAG adapter's RESET line.
Now, when I attempt to program the second Kinetis device, I get an "no flash
bank found for address 0", even though I specified that there is flash on the
second device, like so:
flash bank $_CHIPNAME.pflash kinetis 0x00000000 0x040000 0 4 $_TARGETNAME
This is my flash list of the second target (modem.cpu):
{name kinetis base 0 size 262144 bus_width 4 chip_width 0} {name kinetis base
268435456 size 32768 bus_width 4 chip_width 0}
This is the output of the flash write_image erase (...) command:
auto erase enabled
no flash bank found for address 0
wrote 0 bytes from file
D:/projects/seastar2/SOFTWARE/proteus2/modem_src/bin/streaminggpiotest.hex in
0.000000s (nan KiB/s)
JTAG tap: host.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver:
0x4)
JTAG tap: modem.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00,
ver: 0x4)
Invalid ACK 0x6 in JTAG-DP transaction
Invalid ACK 0x7 in JTAG-DP transaction
Polling target modem.cpu failed, GDB will be halted. Polling again in 100ms
Invalid ACK 0x6 in JTAG-DP transaction
Polling target host.cpu failed, GDB will be halted. Polling again in 100ms
Invalid ACK 0x7 in JTAG-DP transaction
As you can see, I loose JTAG communication with both targets. The targets
command show this:
TargetName Type Endian TapName State
-- ------------------ ---------- ------ ------------------ ------------
0 host.cpu cortex_m little host.cpu unknown
1* modem.cpu cortex_m little modem.cpu unknown
I have no clue what is going on. There seems to be something wrong with the
flash specification.
Could it be that openOCD is confusing the first and second target in the chain?
I hope someone can give me some pointers on how to solve this.
Regards,
Niels.
Pervasive Systems Group,
University of Twente,
Enschede,
The Netherlands
http://ps.ewi.utwente.nl/
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel