diff options
-rw-r--r-- | firmware/target/arm/tms320dm320/app.lds | 14 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/boot.lds | 14 | ||||
-rwxr-xr-x | firmware/target/arm/tms320dm320/crt0.S | 10 |
3 files changed, 28 insertions, 10 deletions
diff --git a/firmware/target/arm/tms320dm320/app.lds b/firmware/target/arm/tms320dm320/app.lds index fbaaff3e6c..3437984f55 100644 --- a/firmware/target/arm/tms320dm320/app.lds +++ b/firmware/target/arm/tms320dm320/app.lds | |||
@@ -115,6 +115,20 @@ SECTIONS | |||
115 | . += 0x2000; | 115 | . += 0x2000; |
116 | stackend = .; | 116 | stackend = .; |
117 | } > IRAM | 117 | } > IRAM |
118 | |||
119 | .irqstack (NOLOAD) : | ||
120 | { | ||
121 | *(.stack) | ||
122 | . += 0x400; | ||
123 | irq_stack = .; | ||
124 | } > IRAM | ||
125 | |||
126 | .fiqstack (NOLOAD) : | ||
127 | { | ||
128 | *(.stack) | ||
129 | . += 0x100; | ||
130 | fiq_stack = .; | ||
131 | } > IRAM | ||
118 | 132 | ||
119 | /* This overwrites the iram (in ram), so make sure that the iram is copied | 133 | /* This overwrites the iram (in ram), so make sure that the iram is copied |
120 | * out in crt0.s before the bss section and the rest are used. | 134 | * out in crt0.s before the bss section and the rest are used. |
diff --git a/firmware/target/arm/tms320dm320/boot.lds b/firmware/target/arm/tms320dm320/boot.lds index 0ee6c202a4..a4077eeaaa 100644 --- a/firmware/target/arm/tms320dm320/boot.lds +++ b/firmware/target/arm/tms320dm320/boot.lds | |||
@@ -121,6 +121,20 @@ SECTIONS | |||
121 | stackend = .; | 121 | stackend = .; |
122 | } > IRAM | 122 | } > IRAM |
123 | 123 | ||
124 | .irqstack (NOLOAD) : | ||
125 | { | ||
126 | *(.stack) | ||
127 | . += 0x400; | ||
128 | irq_stack = .; | ||
129 | } > IRAM | ||
130 | |||
131 | .fiqstack (NOLOAD) : | ||
132 | { | ||
133 | *(.stack) | ||
134 | . += 0x100; | ||
135 | fiq_stack = .; | ||
136 | } > IRAM | ||
137 | |||
124 | .bss (NOLOAD) : | 138 | .bss (NOLOAD) : |
125 | { | 139 | { |
126 | . = ADDR(.data) + SIZEOF(.data) + SIZEOF(.vectors) + SIZEOF(.iram); | 140 | . = ADDR(.data) + SIZEOF(.data) + SIZEOF(.vectors) + SIZEOF(.iram); |
diff --git a/firmware/target/arm/tms320dm320/crt0.S b/firmware/target/arm/tms320dm320/crt0.S index 7c0c27eb74..fe4a3fb970 100755 --- a/firmware/target/arm/tms320dm320/crt0.S +++ b/firmware/target/arm/tms320dm320/crt0.S | |||
@@ -163,13 +163,3 @@ UIE: | |||
163 | b UIE | 163 | b UIE |
164 | #endif | 164 | #endif |
165 | 165 | ||
166 | /* Align stacks to cache line boundary */ | ||
167 | .balign 16 | ||
168 | |||
169 | /* 256 words of IRQ stack */ | ||
170 | .space 256*4 | ||
171 | irq_stack: | ||
172 | |||
173 | /* 256 words of FIQ stack */ | ||
174 | .space 256*4 | ||
175 | fiq_stack: | ||