Files
openocd/tcl/target
Andreas Färber 43ff5acd45 flash: New Spansion FM4 flash driver
The Spansion FM4 family of microcontrollers does not offer a way to
identify the chip model nor the flash size, except for Dual Flash vs.
regular layout. Therefore the family is passed as argument and
wildcard-matched - MB9BFx6x and S6E2CC families are supported.

Iterations showed that ...
1) Just doing the flash command sequence from SRAM loader code for each
half-word took 20 minutes for an 8 KB block.
2) Doing the busy-wait in the loader merely reduced the time to 19 minutes.
3) Significant performance gains were achieved by looping in loader code
rather than in OpenOCD and by maximizing the batch size across sectors,
getting us down to ~2 seconds for 8 KB and ~2.5 minutes for 1.1 MB.
(Tested with SK-FM4-176L-S6E2CC-ETH v11, CMSIS-DAP v23.)

gcc, objcopy -Obinary and bin2char.sh are used for automating the
integration of hand-written assembler snippets.

Change-Id: I092c81074662534f50b71b91d54eb8e0098fec76
Signed-off-by: Andreas Färber <afaerber@suse.de>
Reviewed-on: http://openocd.zylin.com/2190
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2016-02-29 19:40:20 +00:00
..
2010-08-15 21:54:01 +02:00
2010-06-25 21:37:53 +02:00
2011-03-03 22:49:47 +01:00
2011-03-03 22:49:47 +01:00
2011-03-03 22:49:46 +01:00
2011-03-03 22:49:47 +01:00
2014-06-01 18:27:09 +00:00
2014-09-22 19:39:24 +00:00
2014-09-22 19:39:24 +00:00
2015-10-30 12:52:50 +00:00
2014-09-22 19:39:24 +00:00
2014-09-22 19:39:24 +00:00
2014-09-22 19:39:24 +00:00
2014-09-22 19:39:24 +00:00
2014-09-22 19:39:24 +00:00
2016-01-29 05:41:53 +00:00
2014-09-22 19:39:24 +00:00
2015-02-22 16:23:48 +00:00
2015-11-03 21:45:28 +00:00
2011-05-03 22:07:01 +02:00
2014-09-22 19:39:24 +00:00
2015-10-30 13:14:12 +00:00
2015-10-30 13:14:12 +00:00
2015-11-20 18:28:40 +00:00
2013-04-02 15:12:44 +00:00
2014-09-22 19:39:24 +00:00
2014-09-22 19:39:24 +00:00
2010-03-15 08:37:43 -07:00
2014-09-22 19:39:24 +00:00
2014-09-22 19:39:24 +00:00
2014-09-22 19:39:24 +00:00
2014-09-22 19:39:24 +00:00
2014-09-22 19:39:24 +00:00
2013-04-28 08:56:04 +00:00
2015-09-30 22:10:42 +01:00

Prerequisites:
The users of OpenOCD as well as computer programs interacting with OpenOCD are expecting that certain commands
do the same thing across all the targets.

Rules to follow when writing scripts:

1. The configuration script should be defined such as , for example, the following sequences are working:
	reset
	flash info <bank>
and
	reset
	flash erase_address <start> <len>
and
	reset init
	load

In most cases this can be accomplished by specifying the default startup mode as reset_init (target command
in the configuration file).

2. If the target is correctly configured, flash must be writable without any other helper commands. It is
assumed that all write-protect mechanisms should be disabled.

3. The configuration scripts should be defined such as the binary that was written to flash verifies
(turn off remapping, checksums, etc...)

flash write_image [file] <parameters>
verify_image [file] <parameters>

4. adapter_khz sets the maximum speed (or alternatively RCLK). If invoked
multiple times only the last setting is used.

interface/xxx.cfg files are always executed *before* target/xxx.cfg
files, so any adapter_khz in interface/xxx.cfg will be overridden by
target/xxx.cfg. adapter_khz in interface/xxx.cfg would then, effectively,
set the default JTAG speed.

Note that a target/xxx.cfg file can invoke another target/yyy.cfg file,
so one can create target subtype configurations where e.g. only
amount of DRAM, oscillator speeds differ and having a single
config file for the default/common settings.