openocd/src/flash
Bohdan Tymkiv 4440bf1fcd psoc6: Run flash algorithm asynchronously to improve performance
Existing psoc6 driver starts flash algorithm for each Flash row. This is
suboptimal from performance point of view, starting/stopping flash
algorithm for each row adds significant overhead. This change starts
flash algorithm and leaves it running asynchronously while driver
performs flash operations.

Performance gain is 170...250% depending on probe:

flash write_image img_256k.bin    | w/o this change | with this change |
----------------------------------|-----------------|------------------|
KitProg2/CMSIS-DAP, SWD @ 1 MHz   |     4 KiB/s     |     10 KiB/s     |
J-Link Ultra, SWD @ 1 MHz         |    17 KiB/s     |     31 KiB/s     |
J-Link Ultra, SWD @ 4 MHz         |    33 KiB/s     |     57 KiB/s     |

Change-Id: I5bd582584b35af67600c4d197829eb7aeeec7e3f
Signed-off-by: Bohdan Tymkiv <bhdt@cypress.com>
Reviewed-on: http://openocd.zylin.com/4472
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2018-04-23 20:42:06 +01:00
..
nand Fix GCC7 warnings about switch-case fallthroughs 2017-10-23 10:54:16 +01:00
nor psoc6: Run flash algorithm asynchronously to improve performance 2018-04-23 20:42:06 +01:00
Makefile.am Convert to non-recursive make 2016-12-08 16:23:10 +00:00
common.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
common.h flash/nor: at91samd protection bits write fix 2016-12-08 12:19:19 +00:00
mflash.c Fix GCC7 warnings about switch-case fallthroughs 2017-10-23 10:54:16 +01:00
mflash.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
startup.tcl flash/startup: make program accept filenames with spaces and other characters 2018-01-13 08:43:26 +00:00