diff options
author | laforge <laforge@6dc7ffe9-61d6-0310-9af1-9938baff3ed1> | 2006-09-20 07:52:39 +0000 |
---|---|---|
committer | laforge <laforge@6dc7ffe9-61d6-0310-9af1-9938baff3ed1> | 2006-09-20 07:52:39 +0000 |
commit | 4c36166be2785c225ab6f03a3a38b607d033dad5 (patch) | |
tree | 2e1722cf14fe35cd07fb68de90d4ae538c3036b3 /firmware/link | |
parent | 17f754fdb6e4bc7c59bff34589191a0823cfd6db (diff) |
- fix relocation of _data_shared segment
git-svn-id: https://svn.openpcd.org:2342/trunk@205 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
Diffstat (limited to 'firmware/link')
-rw-r--r-- | firmware/link/AT91SAM7S128-ROM-sam7dfu-dfu.ld | 13 | ||||
-rw-r--r-- | firmware/link/AT91SAM7S256-ROM-sam7dfu-dfu.ld | 6 |
2 files changed, 14 insertions, 5 deletions
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 |