diff options
-rw-r--r-- | firmware/link/AT91SAM7S128-ROM-sam7dfu-dfu.ld | 3 | ||||
-rw-r--r-- | firmware/link/AT91SAM7S256-ROM-sam7dfu-dfu.ld | 3 | ||||
-rw-r--r-- | firmware/src/start/Cstartup.S | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/firmware/link/AT91SAM7S128-ROM-sam7dfu-dfu.ld b/firmware/link/AT91SAM7S128-ROM-sam7dfu-dfu.ld index a0f7c3e..dfcfff1 100644 --- a/firmware/link/AT91SAM7S128-ROM-sam7dfu-dfu.ld +++ b/firmware/link/AT91SAM7S128-ROM-sam7dfu-dfu.ld @@ -31,7 +31,8 @@ SECTIONS . = ALIGN(4); } >DATA - _edata_shared = LOADADDR(.data.shared) + SIZEOF(.data.shared); + _edata_shared = . ; + _data_flash = LOADADDR(.data.shared) + SIZEOF(.data.shared); /* 0x00200000 ... */ .data (0x00200000 + SIZEOF(.text)): AT diff --git a/firmware/link/AT91SAM7S256-ROM-sam7dfu-dfu.ld b/firmware/link/AT91SAM7S256-ROM-sam7dfu-dfu.ld index a151de8..7f133da 100644 --- a/firmware/link/AT91SAM7S256-ROM-sam7dfu-dfu.ld +++ b/firmware/link/AT91SAM7S256-ROM-sam7dfu-dfu.ld @@ -31,7 +31,8 @@ SECTIONS . = ALIGN(4); } >DATA - _edata_shared = LOADADDR(.data.shared) + SIZEOF(.data.shared); + _edata_shared = . ; + _data_flash = LOADADDR(.data.shared) + SIZEOF(.data.shared); /* 0x00200000 ... */ .data (0x00200000 + SIZEOF(.text)): AT ( LOADADDR(.text) + SIZEOF(.text) + SIZEOF(.data.shared)) { diff --git a/firmware/src/start/Cstartup.S b/firmware/src/start/Cstartup.S index f1c341e..6861750 100644 --- a/firmware/src/start/Cstartup.S +++ b/firmware/src/start/Cstartup.S @@ -352,7 +352,7 @@ LoopZI: CMP R1, R2 _reloc_dfu: /* Relocate DFU .data section (Copy from ROM to RAM) */ - LDR R1, =_edata_shared + LDR R1, =_data_flash LDR R2, =_data LDR R3, =_edata LoopRel: CMP R2, R3 |