diff --git a/firmware/target/arm/ipod/app.lds b/firmware/target/arm/ipod/app.lds index 22468192eb..ec26fdbe38 100644 --- a/firmware/target/arm/ipod/app.lds +++ b/firmware/target/arm/ipod/app.lds @@ -37,8 +37,8 @@ STARTUP(target/arm/crt0-pp.o) MEMORY { - DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE - IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE } SECTIONS @@ -126,6 +126,17 @@ SECTIONS _iramcopy = LOADADDR(.iram); + + .init ENDAUDIOADDR : + { + . = ALIGN(4); + _initstart = .; + *(.init) + _initend = .; + } AT> DRAM + + _initcopy = LOADADDR(.init); + .idle_stacks (NOLOAD) : { *(.idle_stacks) @@ -146,7 +157,7 @@ SECTIONS . += 0x2000; stackend = .; } > IRAM - + /* .bss and .ncbss are treated as a single section to use one init loop to * zero it - note "_edata" and "_end" */ .bss _noloaddram (NOLOAD) : @@ -175,6 +186,7 @@ SECTIONS .audiobuf (NOLOAD) : { _audiobuffer = .; + . = ALIGN(0x4); audiobuffer = .; } > DRAM diff --git a/firmware/target/arm/iriver/app.lds b/firmware/target/arm/iriver/app.lds index 22468192eb..ec26fdbe38 100644 --- a/firmware/target/arm/iriver/app.lds +++ b/firmware/target/arm/iriver/app.lds @@ -37,8 +37,8 @@ STARTUP(target/arm/crt0-pp.o) MEMORY { - DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE - IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE } SECTIONS @@ -126,6 +126,17 @@ SECTIONS _iramcopy = LOADADDR(.iram); + + .init ENDAUDIOADDR : + { + . = ALIGN(4); + _initstart = .; + *(.init) + _initend = .; + } AT> DRAM + + _initcopy = LOADADDR(.init); + .idle_stacks (NOLOAD) : { *(.idle_stacks) @@ -146,7 +157,7 @@ SECTIONS . += 0x2000; stackend = .; } > IRAM - + /* .bss and .ncbss are treated as a single section to use one init loop to * zero it - note "_edata" and "_end" */ .bss _noloaddram (NOLOAD) : @@ -175,6 +186,7 @@ SECTIONS .audiobuf (NOLOAD) : { _audiobuffer = .; + . = ALIGN(0x4); audiobuffer = .; } > DRAM diff --git a/firmware/target/arm/olympus/app.lds b/firmware/target/arm/olympus/app.lds index 22468192eb..ec26fdbe38 100644 --- a/firmware/target/arm/olympus/app.lds +++ b/firmware/target/arm/olympus/app.lds @@ -37,8 +37,8 @@ STARTUP(target/arm/crt0-pp.o) MEMORY { - DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE - IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE } SECTIONS @@ -126,6 +126,17 @@ SECTIONS _iramcopy = LOADADDR(.iram); + + .init ENDAUDIOADDR : + { + . = ALIGN(4); + _initstart = .; + *(.init) + _initend = .; + } AT> DRAM + + _initcopy = LOADADDR(.init); + .idle_stacks (NOLOAD) : { *(.idle_stacks) @@ -146,7 +157,7 @@ SECTIONS . += 0x2000; stackend = .; } > IRAM - + /* .bss and .ncbss are treated as a single section to use one init loop to * zero it - note "_edata" and "_end" */ .bss _noloaddram (NOLOAD) : @@ -175,6 +186,7 @@ SECTIONS .audiobuf (NOLOAD) : { _audiobuffer = .; + . = ALIGN(0x4); audiobuffer = .; } > DRAM diff --git a/firmware/target/arm/pbell/app.lds b/firmware/target/arm/pbell/app.lds index 22468192eb..ec26fdbe38 100644 --- a/firmware/target/arm/pbell/app.lds +++ b/firmware/target/arm/pbell/app.lds @@ -37,8 +37,8 @@ STARTUP(target/arm/crt0-pp.o) MEMORY { - DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE - IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE } SECTIONS @@ -126,6 +126,17 @@ SECTIONS _iramcopy = LOADADDR(.iram); + + .init ENDAUDIOADDR : + { + . = ALIGN(4); + _initstart = .; + *(.init) + _initend = .; + } AT> DRAM + + _initcopy = LOADADDR(.init); + .idle_stacks (NOLOAD) : { *(.idle_stacks) @@ -146,7 +157,7 @@ SECTIONS . += 0x2000; stackend = .; } > IRAM - + /* .bss and .ncbss are treated as a single section to use one init loop to * zero it - note "_edata" and "_end" */ .bss _noloaddram (NOLOAD) : @@ -175,6 +186,7 @@ SECTIONS .audiobuf (NOLOAD) : { _audiobuffer = .; + . = ALIGN(0x4); audiobuffer = .; } > DRAM diff --git a/firmware/target/arm/philips/app.lds b/firmware/target/arm/philips/app.lds index 22468192eb..ec26fdbe38 100644 --- a/firmware/target/arm/philips/app.lds +++ b/firmware/target/arm/philips/app.lds @@ -37,8 +37,8 @@ STARTUP(target/arm/crt0-pp.o) MEMORY { - DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE - IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE } SECTIONS @@ -126,6 +126,17 @@ SECTIONS _iramcopy = LOADADDR(.iram); + + .init ENDAUDIOADDR : + { + . = ALIGN(4); + _initstart = .; + *(.init) + _initend = .; + } AT> DRAM + + _initcopy = LOADADDR(.init); + .idle_stacks (NOLOAD) : { *(.idle_stacks) @@ -146,7 +157,7 @@ SECTIONS . += 0x2000; stackend = .; } > IRAM - + /* .bss and .ncbss are treated as a single section to use one init loop to * zero it - note "_edata" and "_end" */ .bss _noloaddram (NOLOAD) : @@ -175,6 +186,7 @@ SECTIONS .audiobuf (NOLOAD) : { _audiobuffer = .; + . = ALIGN(0x4); audiobuffer = .; } > DRAM diff --git a/firmware/target/arm/samsung/app.lds b/firmware/target/arm/samsung/app.lds index 22468192eb..ec26fdbe38 100644 --- a/firmware/target/arm/samsung/app.lds +++ b/firmware/target/arm/samsung/app.lds @@ -37,8 +37,8 @@ STARTUP(target/arm/crt0-pp.o) MEMORY { - DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE - IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE } SECTIONS @@ -126,6 +126,17 @@ SECTIONS _iramcopy = LOADADDR(.iram); + + .init ENDAUDIOADDR : + { + . = ALIGN(4); + _initstart = .; + *(.init) + _initend = .; + } AT> DRAM + + _initcopy = LOADADDR(.init); + .idle_stacks (NOLOAD) : { *(.idle_stacks) @@ -146,7 +157,7 @@ SECTIONS . += 0x2000; stackend = .; } > IRAM - + /* .bss and .ncbss are treated as a single section to use one init loop to * zero it - note "_edata" and "_end" */ .bss _noloaddram (NOLOAD) : @@ -175,6 +186,7 @@ SECTIONS .audiobuf (NOLOAD) : { _audiobuffer = .; + . = ALIGN(0x4); audiobuffer = .; } > DRAM