tinyriscv-openocd/contrib/loaders/flash
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
..
at91sam7x Move ocl (at91sam7x flash loader) sources to contrib 2014-03-29 07:55:34 +00:00
fm4 flash: New Spansion FM4 flash driver 2016-02-29 19:40:20 +00:00
fpga flash/nor/jtagspi: add JTAGSPI driver 2015-08-06 13:14:08 +01:00
armv4_5_cfi_intel_8.s update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_cfi_intel_16.s update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_cfi_intel_32.s update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_cfi_span_8.s update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_cfi_span_16.s update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_cfi_span_16_dq7.s update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_cfi_span_32.s update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv7m_cfi_span_16.s update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv7m_cfi_span_16_dq7.s Support for SST 39VF3201C NOR flash 2013-07-01 08:39:36 +00:00
armv7m_io.s update files to correct FSF address 2013-06-05 19:52:42 +00:00
cortex-m0.S nrf51 - Add async loader. Performance on nrf51822QAA/stlink-v2 from ~3.5KiB/s to ~19.5KiB/s. 2015-02-11 22:00:46 +00:00
efm32.S update files to correct FSF address 2013-06-05 19:52:42 +00:00
k1921vk01t.S niietcm4: support for NIIET's Cortex-M4 microcontrollers 2015-11-26 12:17:25 +00:00
lpcspifi_erase.S update files to correct FSF address 2013-06-05 19:52:42 +00:00
lpcspifi_init.S update files to correct FSF address 2013-06-05 19:52:42 +00:00
lpcspifi_write.S flash/nor/lpcspifi.c: fix bug that prevented clean reset after flash write 2014-11-24 22:14:38 +00:00
mdr32fx.S mdr32fx: support for Milandr's MDR32Fx internal flash memory 2013-08-07 21:02:51 +00:00
mrvlqspi_write.S flash/nor: add mrvlqspi flash controller driver 2014-09-22 19:37:09 +00:00
pic32mx.s update files to correct FSF address 2013-06-05 19:52:42 +00:00
sim3x.s sim3x: new flash driver for Silabs SiM3 microcontroller family 2015-02-11 22:05:22 +00:00
stellaris.s update files to correct FSF address 2013-06-05 19:52:42 +00:00
stm32f1x.S update files to correct FSF address 2013-06-05 19:52:42 +00:00
stm32f2x.S stm32f2x: Add memory barrier needed for STM32F7 flashing. 2015-10-30 17:52:50 +00:00
stm32l4x.S Add handling for STM32L4. 2015-10-30 23:20:29 +00:00
stm32lx.S update files to correct FSF address 2013-06-05 19:52:42 +00:00
str7x.s update files to correct FSF address 2013-06-05 19:52:42 +00:00
str9x.s update files to correct FSF address 2013-06-05 19:52:42 +00:00