aboutsummaryrefslogtreecommitdiff
path: root/flashstub/README
blob: 90d164c2f232f4cfc4b4afcb5265c5d151ecea21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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.