blackmagic/flashstub
Gareth McMullin acfd258aa7 Rewrite STM32F4 stub in C and use new interface. 2015-03-19 21:49:09 -07:00
..
Makefile Rewrite STM32F4 stub in C and use new interface. 2015-03-19 21:49:09 -07:00
README Revisions on Gareth's comments. 2015-03-08 16:25:22 -07:00
dump-to-array.sh Revisions on Gareth's comments. 2015-03-08 16:25:22 -07:00
lmi.s Added Flash programming stubs. 2011-02-12 22:09:38 +13:00
nrf51.s Nordic nRF51 series support 2014-05-01 15:09:59 +01:00
stm32f1.c Allow stub to return an error code. 2015-03-19 21:49:09 -07:00
stm32f1.stub Allow stub to return an error code. 2015-03-19 21:49:09 -07:00
stm32f4.c Rewrite STM32F4 stub in C and use new interface. 2015-03-19 21:49:09 -07:00
stm32f4.stub Rewrite STM32F4 stub in C and use new interface. 2015-03-19 21:49:09 -07:00
stm32l05x-nvm-prog-erase.cc Revisions on Gareth's comments. 2015-03-08 16:25:22 -07:00
stm32l05x-nvm-prog-erase.stub Revisions on Gareth's comments. 2015-03-08 16:25:22 -07:00
stm32l05x-nvm-prog-write.cc Revisions on Gareth's comments. 2015-03-08 16:25:22 -07:00
stm32l05x-nvm-prog-write.stub Revisions on Gareth's comments. 2015-03-08 16:25:22 -07:00
stub.h Allow stub to return an error code. 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.