diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2008-05-05 13:30:29 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2008-05-05 13:30:29 +0000 |
commit | 0218397cf4f0420a258a8ff6d87cc630cb3bada6 (patch) | |
tree | bdbb8dc54258e5aa23ede898e2bca90b8a459206 /firmware/target | |
parent | 9a54d9645df4b08789dcf5a7a74e60bf84e407be (diff) |
Gigabeat S bootloader: 1) Switch order of .vectors to be contiguous with initialized sections. 2) Clean all caches in main before doing anything else because vector copying counts as self-modifying code. Up to v.00000012.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17381 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/imx31/boot.lds | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/firmware/target/arm/imx31/boot.lds b/firmware/target/arm/imx31/boot.lds index d8bb2fc3d1..a7570c1cf0 100644 --- a/firmware/target/arm/imx31/boot.lds +++ b/firmware/target/arm/imx31/boot.lds @@ -56,8 +56,17 @@ SECTIONS . = ALIGN(0x4); _dataend = . ; } > DRAM + + .vectors 0x0 : + { + _vectorsstart = .; + *(.vectors); + KEEP(*(.vectors)); + _vectorsend = .; + } AT > DRAM + _vectorscopy = LOADADDR(.vectors); - .stack : + .stack (NOLOAD) : { *(.stack) _stackbegin = .; @@ -67,7 +76,7 @@ SECTIONS stackend = .; } > IRAM - .bss : + .bss (NOLOAD) : { _edata = .; *(.bss*); @@ -75,16 +84,7 @@ SECTIONS *(COMMON) _end = .; } > DRAM - - .vectors 0x0 : - { - _vectorsstart = .; - *(.vectors); - KEEP(*(.vectors)); - _vectorsend = .; - } AT > DRAM - _vectorscopy = LOADADDR(.vectors); - + .devbss (NOLOAD) : { _devbssdata = .; |