Hi all.
Update.
I have created two builds of a Blink Led program for test purposes.
The attachment contains the dbug output log.
The first build is linked to start at absolute zero and is programmed with the
following results:-
------------------------------------------------------------------------
noel@DESKTOP-0AFLL5T MSYS /w/arduino1-1812/portable/sketchbook/BlinkBlue1/build
$ openocd -f interface/ftdi/olimex-arm-usb-ocd.cfg -f target/kx.cfg -c "program
BlinkBlue1.ino.bin erase verify 0x0000"
Open On-Chip Debugger 0.10.0+dev-01289-g8833c889d-dirty (2020-06-24-10:07)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "jtag". To override use
'transport select <transport>'.
Info : add flash_bank kinetis kx.pflash
Info : clock speed 1000 kHz
Info : JTAG tap: kx.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.),
part: 0xba00, ver: 0x4)
Info : kx.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : MDM: Chip is unsecured. Continuing.
Info : starting gdb server for kx.cpu on 3333
Info : Listening on port 3333 for gdb connections
Info : JTAG tap: kx.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.),
part: 0xba00, ver: 0x4)
Info : MDM: Chip is unsecured. Continuing.
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x00000188 msp: 0x20010000
Info : Kinetis MK22FX512xxx12 detected: 2 flash blocks
Info : 1 PFlash banks: 512k total
Info : 1 FlexNVM banks: 128k total, 128k available as data flash, 4096bytes
FlexRAM
Info : Disabling Kinetis watchdog (initial WDOG_STCTRLH = 0x01d3)
Info : WDOG_STCTRLH = 0x01d2
** Programming Started **
Error: Flash write error at 0x00000400
** Programming Finished **
** Verify Started **
Error: timed out while waiting for target halted
Error: error executing cortex_m crc algorithm
Error: JTAG-DP STICKY ERROR
Error: Failed to read memory at 0x00000404
embedded:startup.tcl:521: Error: ** Verify Failed **
in procedure 'program'
in procedure 'program_error' called at file "embedded:startup.tcl", line 582
at file "embedded:startup.tcl", line 521
---------------------------------------------------------------------------------------------------------------
The second build is linked to start at 0x4000 ie a offset of 16 Kb
This one is programmed with the same command and produces the following results
:-
------------------------------------------------------------------------------------------------------------------
noel@DESKTOP-0AFLL5T MSYS /w/arduino2-1812/portable/sketchbook/BlinkBlue2/build
$ openocd -f interface/ftdi/olimex-arm-usb-ocd.cfg -f target/kx.cfg -c "program
BlinkBlue2.ino.bin erase verify 0x4000"
Open On-Chip Debugger 0.10.0+dev-01289-g8833c889d-dirty (2020-06-24-10:07)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "jtag". To override use
'transport select <transport>'.
Info : add flash_bank kinetis kx.pflash
Info : clock speed 1000 kHz
Info : JTAG tap: kx.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.),
part: 0xba00, ver: 0x4)
Info : kx.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : MDM: Chip is unsecured. Continuing.
Info : starting gdb server for kx.cpu on 3333
Info : Listening on port 3333 for gdb connections
Info : JTAG tap: kx.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.),
part: 0xba00, ver: 0x4)
Info : MDM: Chip is unsecured. Continuing.
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x00000188 msp: 0x20010000
Info : Kinetis MK22FX512xxx12 detected: 2 flash blocks
Info : 1 PFlash banks: 512k total
Info : 1 FlexNVM banks: 128k total, 128k available as data flash, 4096bytes
FlexRAM
Info : Disabling Kinetis watchdog (initial WDOG_STCTRLH = 0x01d3)
Info : WDOG_STCTRLH = 0x01d2
** Programming Started **
** Programming Finished **
** Verify Started **
** Verified OK **
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
--------------------------------------------------------------------------------------------------------------------
The first one fails at absolute address 0x400, whereas the second one programs
and verifies ok.
It is my understanding that the FCF block at 0x400 - 0x40f has to be programmed
using 32 bit
long words, whereas the "program" tcl proc programs a section at a time.
I have attached a zip file of the -d3 debug output from both programming
attempts.
Now my objective is to create a Production line programmer (0x00 start address)
and be able to
program a whole panel of boards containging the k22f512-128 chip.
It is my belief that this is not a bug but a a problem with programming this
Kinetis k22f512
Why they put this block as an obstacle to normal programming is beyond belief.
I have attached openocd-drbug.zip which has fulll debug output of both
programming attempts.
Best regards Noel Diviney.
Attachments:
-
[openocd-debug.zip](https://sourceforge.net/p/openocd/tickets/_discuss/thread/995dfd8a84/5e27/attachment/openocd-debug.zip)
(22.0 kB; application/x-zip-compressed)
---
** [tickets:#270] Kinetis MK22FX512: Error writing FCF Block 0X400 - 0x40f**
**Status:** new
**Milestone:** 0.9.0
**Created:** Sun Jun 14, 2020 06:14 AM UTC by Noel Diviney
**Last Updated:** Sat Jun 27, 2020 01:58 PM UTC
**Owner:** nobody
Hi nall,
Error at address 0x400 when programming flash on Kinetis MK22F512xxx12
However, when I press the reset buuton after programming the Led Blinks
normally.
Does the FCF block have to be skipped somehow?
Is the "Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED" a problem
given that the program runs.
The terminal output is as follows :-
noel@DESKTOP-0AFLL5T MSYS /w/adgp-1611/portable/sketchbook/BlinkTestBlue/build
$ openocd -f interface/ftdi/olimex-arm-usb-ocd.cfg
-f target/kx.cfg
-c "program BlinkTestBlue.ino.elf verify reset"
Open On-Chip Debugger 0.10.0 (2020-05-30) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
libusb1 09e75e98b4d9ea7909e8837b7a3f00dda4589dc3
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "jtag". To override use
'transport select <transport>'.
Info : add flash_bank kinetis kx.pflash
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Info : clock speed 1000 kHz
Info : JTAG tap: kx.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.),
part: 0xba00, ver: 0x4)
Info : kx.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : kx.cpu: external reset detected
Info : MDM: Chip is unsecured. Continuing.
Info : starting gdb server for kx.cpu on 3333
Info : Listening on port 3333 for gdb connections
Info : JTAG tap: kx.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.),
part: 0xba00, ver: 0x4)
Info : MDM: Chip is unsecured. Continuing.
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x00000188 msp: 0x20010000
Info : Kinetis MK22FX512xxx12 detected: 2 flash blocks
Info : 1 PFlash banks: 512k total
Info : 1 FlexNVM banks: 128k total, 128k available as data flash, 4096bytes
FlexRAM
Info : Disabling Kinetis watchdog (initial WDOG_STCTRLH = 0x01d3)
Info : WDOG_STCTRLH = 0x01d2
** Programming Started **
Error: Flash write error at 0x00000400
** Programming Finished **
** Verify Started **
Error: timed out while waiting for target halted
Error: error executing cortex_m crc algorithm
Error: JTAG-DP STICKY ERROR
Error: Failed to read memory at 0x00000404
embedded:startup.tcl:500: Error: ** Verify Failed **
in procedure 'program'
in procedure 'program_error' called at file "embedded:startup.tcl", line 561
at file "embedded:startup.tcl", line 500
noel@DESKTOP-0AFLL5T MSYS /w/adgp-1611/portable/sketchbook/BlinkTestBlue/build
$ openocd -f interface/ftdi/olimex-arm-usb-ocd.cfg
-f interface/ftdi/swd-resistor-hack.cfg
-c "transport select swd"
-f target/kx.cfg
-c "program BlinkTestBlue.ino.elf verify reset"
Open On-Chip Debugger 0.10.0 (2020-05-30) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
libusb1 09e75e98b4d9ea7909e8837b7a3f00dda4589dc3
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : FTDI SWD mode enabled
Warn : Transport "swd" was already selected
swd
Info : add flash_bank kinetis kx.pflash
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Info : clock speed 1000 kHz
Info : SWD DPIDR 0x2ba01477
Info : kx.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : kx.cpu: external reset detected
Info : MDM: Chip is unsecured. Continuing.
Info : starting gdb server for kx.cpu on 3333
Info : Listening on port 3333 for gdb connections
Info : MDM: Chip is unsecured. Continuing.
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x00000188 msp: 0x20010000
Info : Kinetis MK22FX512xxx12 detected: 2 flash blocks
Info : 1 PFlash banks: 512k total
Info : 1 FlexNVM banks: 128k total, 128k available as data flash, 4096bytes
FlexRAM
Info : Disabling Kinetis watchdog (initial WDOG_STCTRLH = 0x01d3)
Info : WDOG_STCTRLH = 0x01d2
** Programming Started **
Error: Flash write error at 0x00000400
** Programming Finished **
** Verify Started **
Error: timed out while waiting for target halted
Error: error executing cortex_m crc algorithm
Info : SWD DPIDR 0x2ba01477
Error: Failed to read memory at 0x00000404
embedded:startup.tcl:500: Error: ** Verify Failed **
in procedure 'program'
in procedure 'program_error' called at file "embedded:startup.tcl", line 561
at file "embedded:startup.tcl", line 500
noel@DESKTOP-0AFLL5T MSYS /w/adgp-1611/portable/sketchbook/BlinkTestBlue/build
$
I am having difficulty understanding how to manage the FCF flash block.
Any help would be much appreciated.
Many Thanks Noel Diviney
---
Sent from sourceforge.net because openocd-devel@lists.sourceforge.net is
subscribed to https://sourceforge.net/p/openocd/tickets/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a
mailing list, you can unsubscribe from the mailing list.
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel