blackmagic/flashstub
Uwe Bonnes c97d3f0f63 flashstub: Stubs need to run on different targets. Compile for M0. 2015-06-22 16:44:28 +02:00
..
Makefile flashstub: Stubs need to run on different targets. Compile for M0. 2015-06-22 16:44:28 +02:00
README Revisions on Gareth's comments. 2015-03-08 16:25:22 -07:00
lmi.c lmi: Use registers for stub parameters. 2015-04-21 20:05:41 +12:00
lmi.stub flashstub: Stubs need to run on different targets. Compile for M0. 2015-06-22 16:44:28 +02:00
nrf51.s Nordic nRF51 series support 2014-05-01 15:09:59 +01:00
nrf51.stub flashstub: Stubs need to run on different targets. Compile for M0. 2015-06-22 16:44:28 +02:00
stm32f1.c Use for loop in STM32F1 stub and compile with -Os. 2015-03-19 21:49:09 -07:00
stm32f1.stub flashstub: Stubs need to run on different targets. Compile for M0. 2015-06-22 16:44:28 +02:00
stm32f4.c Rewrite STM32F4 stub in C and use new interface. 2015-03-19 21:49:09 -07:00
stm32f4.stub flashstub: Stubs need to run on different targets. Compile for M0. 2015-06-22 16:44:28 +02:00
stub.h Add missing return type to stub_exit. 2015-03-19 21:49:09 -07:00

README

Flash Stubs
===========

For most of the targets, these are assembler routines for executing
a flash write on the supported targets.  They are kept here for
reference, but are not used, as the compiled binary code is included
in the target drivers.

For the STM32l0x, the stubs are written in C++ and emitted as arrays
of half-words for inclusion in the target driver.  The use of a higher
level language allows more detailed code and for easy revisions.
These stubs communicate with the driver through a structure defined in
the src/include/stm32l0-nvm.h header.

The dump-to-array.sh helper script uses sed to transform the output of
'objdump -d' into a half-word array of the instructions that may be
included in C code to declare the stub.  FWIW, objcopy doesn't produce
the same output as objdump.  It omits some of the instructions,
probably because the object file isn't linked.