summaryrefslogtreecommitdiff
path: root/firmware/link
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-07-30 02:56:36 +0200
committerHarald Welte <laforge@gnumonks.org>2011-07-30 02:56:36 +0200
commit58d958e60c429bd7a2b2d114a4f7a86a65bdacef (patch)
tree360a9f09c5d46b2bf3e8a684b0e4f37952244998 /firmware/link
parente3d1fd9bbdb789196c25bdd5eb7536cda5ba39f3 (diff)
DFU: Support re-flashing of DFU via DFU
As we re-locate the entire sam7dfu program into RAM, we don't need to execute from flash and can thus re-program the DFU partition via the DFU protocol itself (alternate setting '1'). We also implement downloading executable code into RAM using alternate setting '2'. The latter part is not properly executed yet.
Diffstat (limited to 'firmware/link')
-rw-r--r--firmware/link/AT91SAM7S128-RAM-sam7dfu-app.ld4
1 files changed, 2 insertions, 2 deletions
diff --git a/firmware/link/AT91SAM7S128-RAM-sam7dfu-app.ld b/firmware/link/AT91SAM7S128-RAM-sam7dfu-app.ld
index 674ee00..ad02776 100644
--- a/firmware/link/AT91SAM7S128-RAM-sam7dfu-app.ld
+++ b/firmware/link/AT91SAM7S128-RAM-sam7dfu-app.ld
@@ -5,7 +5,7 @@ MEMORY
/* reserve 16K DFU area on top of flash */
/* FLASH (rx) : ORIGIN = 0x00104000, LENGTH = (0x00020000 - 0x4000 - 0x400) */
/* reserve 1k DFU area on top of RAM */
- DATA (rw) : ORIGIN = 0x00200400, LENGTH = (0x00008000 - 0x400)
+ DATA (rw) : ORIGIN = 0x00202000, LENGTH = (0x00008000 - 0x2000)
STACK (rw) : ORIGIN = 0x00208000, LENGTH = 0x00000000
}
@@ -16,7 +16,7 @@ SECTIONS
{
. = 0x00000000;
/* first section is .text which is used for code */
- .text 0x00200400: AT ( 0x00000000 ) {
+ .text 0x00202000: AT ( 0x00000000 ) {
src/start/Cstartup_app.o (.text)
* (.text)
* (.rodata*)
personal git repositories of Harald Welte. Your mileage may vary