Skip to content

Commit 9b16701

Browse files
sylvioalvesfabiobaltieri
authored andcommitted
soc: espressif: place arch_common in IRAM for proper boot
Ensure sw_isr_common, dynamic_isr, and init routines are executed from IRAM by relocating libarch__common.a section. Running these from flash prevents the board from booting properly, as flash access is not available during early initialization. Signed-off-by: Sylvio Alves <[email protected]>
1 parent 9df6790 commit 9b16701

File tree

7 files changed

+7
-0
lines changed

7 files changed

+7
-0
lines changed

soc/espressif/esp32/default.ld

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,7 @@ SECTIONS
339339
*(.iram1 .iram1.*)
340340
*(.iram0.literal .iram.literal .iram.text.literal .iram0.text .iram.text)
341341
*libarch__xtensa__core.a:(.literal .text .literal.* .text.*)
342+
*libarch__common.a:(.literal .text .literal.* .text.*)
342343
*libkernel.a:(.literal .text .literal.* .text.*)
343344
*libgcc.a:lib2funcs.*(.literal .text .literal.* .text.*)
344345
*libzephyr.a:windowspill_asm.*(.literal .text .literal.* .text.*)

soc/espressif/esp32c2/default.ld

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ SECTIONS
214214
*libzephyr.a:hw_init.*(.literal .text .literal.* .text.*)
215215
*libzephyr.a:soc_random.*(.literal .text .literal.* .text.*)
216216
*libarch__riscv__core.a:(.literal .text .literal.* .text.*)
217+
*libarch__common.a:(.literal .text .literal.* .text.*)
217218
*libkernel.a:(.literal .text .literal.* .text.*)
218219
*libgcc.a:lib2funcs.*(.literal .text .literal.* .text.*)
219220
*libdrivers__flash.a:flash_esp32.*(.literal .text .literal.* .text.*)

soc/espressif/esp32c3/default.ld

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ SECTIONS
308308
*libzephyr.a:soc_random.*(.literal .text .literal.* .text.*)
309309

310310
*libarch__riscv__core.a:(.literal .text .literal.* .text.*)
311+
*libarch__common.a:(.literal .text .literal.* .text.*)
311312
*libkernel.a:(.literal .text .literal.* .text.*)
312313
*libgcc.a:lib2funcs.*(.literal .text .literal.* .text.*)
313314
*libdrivers__flash.a:flash_esp32.*(.literal .text .literal.* .text.*)

soc/espressif/esp32c6/default.ld

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,7 @@ SECTIONS
321321
*libzephyr.a:soc_random.*(.literal .text .literal.* .text.*)
322322

323323
*libarch__riscv__core.a:(.literal .text .literal.* .text.*)
324+
*libarch__common.a:(.literal .text .literal.* .text.*)
324325
*libkernel.a:(.literal .text .literal.* .text.*)
325326
*libgcc.a:lib2funcs.*(.literal .text .literal.* .text.*)
326327
*libdrivers__flash.a:flash_esp32.*(.literal .text .literal.* .text.*)

soc/espressif/esp32h2/default.ld

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,7 @@ SECTIONS
317317
*libzephyr.a:soc_random.*(.literal .text .literal.* .text.*)
318318

319319
*libarch__riscv__core.a:(.literal .text .literal.* .text.*)
320+
*libarch__common.a:(.literal .text .literal.* .text.*)
320321
*libkernel.a:(.literal .text .literal.* .text.*)
321322
*libgcc.a:lib2funcs.*(.literal .text .literal.* .text.*)
322323
*libdrivers__flash.a:flash_esp32.*(.literal .text .literal.* .text.*)

soc/espressif/esp32s2/default.ld

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,7 @@ SECTIONS
340340
*libesp32.a:panic.*(.literal .text .literal.* .text.*)
341341
*librtc.a:(.literal .text .literal.* .text.*)
342342
*libarch__xtensa__core.a:(.literal .text .literal.* .text.*)
343+
*libarch__common.a:(.literal .text .literal.* .text.*)
343344
*libkernel.a:(.literal .text .literal.* .text.*)
344345
*libgcc.a:lib2funcs.*(.literal .text .literal.* .text.*)
345346
*libzephyr.a:windowspill_asm.*(.literal .text .literal.* .text.*)

soc/espressif/esp32s3/default.ld

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,7 @@ SECTIONS
356356
*(.iram1 .iram1.*)
357357
*(.iram0.literal .iram.literal .iram.text.literal .iram0.text .iram.text)
358358
*libarch__xtensa__core.a:(.literal .text .literal.* .text.*)
359+
*libarch__common.a:(.literal .text .literal.* .text.*)
359360
*libkernel.a:(.literal .text .literal.* .text.*)
360361
*libgcc.a:lib2funcs.*(.literal .text .literal.* .text.*)
361362
*libzephyr.a:cbprintf_packaged.*(.literal .text .literal.* .text.*)

0 commit comments

Comments
 (0)