From 4c36166be2785c225ab6f03a3a38b607d033dad5 Mon Sep 17 00:00:00 2001 From: laforge Date: Wed, 20 Sep 2006 07:52:39 +0000 Subject: - fix relocation of _data_shared segment git-svn-id: https://svn.openpcd.org:2342/trunk@205 6dc7ffe9-61d6-0310-9af1-9938baff3ed1 --- firmware/link/AT91SAM7S128-ROM-sam7dfu-dfu.ld | 13 +++++++++---- firmware/link/AT91SAM7S256-ROM-sam7dfu-dfu.ld | 6 +++++- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'firmware/link') diff --git a/firmware/link/AT91SAM7S128-ROM-sam7dfu-dfu.ld b/firmware/link/AT91SAM7S128-ROM-sam7dfu-dfu.ld index 23c981b..f71249d 100644 --- a/firmware/link/AT91SAM7S128-ROM-sam7dfu-dfu.ld +++ b/firmware/link/AT91SAM7S128-ROM-sam7dfu-dfu.ld @@ -26,12 +26,17 @@ SECTIONS PROVIDE (etext = .); .data.shared (0x00200020): AT (LOADADDR(.text) + SIZEOF(.text)) { + _data_shared = . ; * (.data.shared) . = ALIGN(4); } >DATA + _edata_shared = . ; + PROVIDE (edata_shared = .); + /* 0x00200000 ... */ - .data (0x00200000 + SIZEOF(.text)): AT ( LOADADDR(.text) + SIZEOF(.text) + SIZEOF(.data.shared)) { + .data (0x00200000 + SIZEOF(.text)): AT + ( LOADADDR(.text) + SIZEOF(.text) + SIZEOF(.data.shared)) { _data = . ; * (.vectram) * (.data) @@ -41,9 +46,9 @@ SECTIONS _edata = . ; PROVIDE (edata = .); - /* dfu.functab addresses are valid as long as DFU is in flash, i.e. only while - * application calls those functions. Once executing in DFU mode, we are - * re-located to ram */ + /* dfu.functab addresses are valid as long as DFU is in flash, i.e. + * only while application calls those functions. Once executing in + * DFU mode, we are re-located to ram */ .dfu.functab 0x00000fd0: AT ( ADDR(.dfu.functab) - ADDR(.text) ) { *(.dfu.functab) . = ALIGN(4096); diff --git a/firmware/link/AT91SAM7S256-ROM-sam7dfu-dfu.ld b/firmware/link/AT91SAM7S256-ROM-sam7dfu-dfu.ld index b81d44c..0fa1a06 100644 --- a/firmware/link/AT91SAM7S256-ROM-sam7dfu-dfu.ld +++ b/firmware/link/AT91SAM7S256-ROM-sam7dfu-dfu.ld @@ -26,10 +26,14 @@ SECTIONS PROVIDE (etext = .); .data.shared (0x00200020): AT (LOADADDR(.text) + SIZEOF(.text)) { + _data_shared = . ; * (.data.shared) . = ALIGN(4); } >DATA + _edata_shared = . ; + PROVIDE (edata_shared = .); + /* 0x00200000 ... */ .data (0x00200000 + SIZEOF(.text)): AT ( LOADADDR(.text) + SIZEOF(.text) + SIZEOF(.data.shared)) { _data = . ; @@ -44,7 +48,7 @@ SECTIONS /* dfu.functab addresses are valid as long as DFU is in flash, i.e. only while * application calls those functions. Once executing in DFU mode, we are * re-located to ram */ - .dfu.functab 0x00000fd0: AT ( ADDR(.dfu.functab) - ADDR(.text) ) { + .dfu.functab 0x00010fd0: AT ( ADDR(.dfu.functab) - ADDR(.text) ) { *(.dfu.functab) . = ALIGN(4096); } >FLASH -- cgit v1.2.3