aboutsummaryrefslogtreecommitdiff
path: root/flashstub/README
diff options
context:
space:
mode:
Diffstat (limited to 'flashstub/README')
-rw-r--r--flashstub/README22
1 files changed, 18 insertions, 4 deletions
diff --git a/flashstub/README b/flashstub/README
index 05172a4..90d164c 100644
--- a/flashstub/README
+++ b/flashstub/README
@@ -1,5 +1,19 @@
-These are the 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.
+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.