From fcf07aa3a95650d3f5a077d67768d1ef013a1ebe Mon Sep 17 00:00:00 2001 From: jzlv Date: Fri, 2 Dec 2022 20:55:33 +0800 Subject: [PATCH] [fix][startup] fix __Vectors section --- bsp/board/bl602dk/bl602_flash.ld | 1 + bsp/board/bl616dk/bl616_flash.ld | 1 + bsp/board/bl702dk/bl702_flash.ld | 1 + bsp/board/bl808dk/bl808_flash_m0.ld | 1 + drivers/soc/bl602/startup/interrupt.c | 2 +- drivers/soc/bl616/startup/interrupt.c | 2 +- drivers/soc/bl702/startup/interrupt.c | 2 +- drivers/soc/bl808/startup/m0/interrupt.c | 2 +- 8 files changed, 8 insertions(+), 4 deletions(-) diff --git a/bsp/board/bl602dk/bl602_flash.ld b/bsp/board/bl602dk/bl602_flash.ld index ea99f13d..ac5abf3f 100644 --- a/bsp/board/bl602dk/bl602_flash.ld +++ b/bsp/board/bl602dk/bl602_flash.ld @@ -38,6 +38,7 @@ SECTIONS __text_code_start__ = .; KEEP (*(SORT_NONE(.init))) + KEEP (*(SORT_NONE(.vector))) *(.text) *(.text.*) diff --git a/bsp/board/bl616dk/bl616_flash.ld b/bsp/board/bl616dk/bl616_flash.ld index c4fc4380..8a286a8f 100644 --- a/bsp/board/bl616dk/bl616_flash.ld +++ b/bsp/board/bl616dk/bl616_flash.ld @@ -38,6 +38,7 @@ SECTIONS __text_code_start__ = .; KEEP (*(SORT_NONE(.init))) + KEEP (*(SORT_NONE(.vector))) *(.text) *(.text.*) diff --git a/bsp/board/bl702dk/bl702_flash.ld b/bsp/board/bl702dk/bl702_flash.ld index 0845b43e..1773c714 100644 --- a/bsp/board/bl702dk/bl702_flash.ld +++ b/bsp/board/bl702dk/bl702_flash.ld @@ -38,6 +38,7 @@ SECTIONS __text_code_start__ = .; KEEP (*(SORT_NONE(.init))) + KEEP (*(SORT_NONE(.vector))) *(.text) *(.text.*) diff --git a/bsp/board/bl808dk/bl808_flash_m0.ld b/bsp/board/bl808dk/bl808_flash_m0.ld index d07deff7..3b5cfc94 100644 --- a/bsp/board/bl808dk/bl808_flash_m0.ld +++ b/bsp/board/bl808dk/bl808_flash_m0.ld @@ -39,6 +39,7 @@ SECTIONS __text_code_start__ = .; KEEP (*(SORT_NONE(.init))) + KEEP (*(SORT_NONE(.vector))) *(.text) *(.text.*) diff --git a/drivers/soc/bl602/startup/interrupt.c b/drivers/soc/bl602/startup/interrupt.c index e60b737e..5ec2ef76 100644 --- a/drivers/soc/bl602/startup/interrupt.c +++ b/drivers/soc/bl602/startup/interrupt.c @@ -29,7 +29,7 @@ struct bflb_irq_info_s g_irqvector[CONFIG_IRQ_NUM]; extern void default_trap_handler(void); extern void default_interrupt_handler(void); -const pFunc __Vectors[] __attribute__((section(".init"), aligned(64))) = { +const pFunc __Vectors[] __attribute__((section(".vector"), aligned(64))) = { default_interrupt_handler, /* */ default_interrupt_handler, /* */ default_interrupt_handler, /* */ diff --git a/drivers/soc/bl616/startup/interrupt.c b/drivers/soc/bl616/startup/interrupt.c index 12f59a9e..f7087409 100644 --- a/drivers/soc/bl616/startup/interrupt.c +++ b/drivers/soc/bl616/startup/interrupt.c @@ -31,7 +31,7 @@ struct bflb_irq_info_s g_irqvector[CONFIG_IRQ_NUM]; extern void default_trap_handler(void); extern void default_interrupt_handler(void); -const pFunc __Vectors[] __attribute__((section(".init"), aligned(64))) = { +const pFunc __Vectors[] __attribute__((section(".vector"), aligned(64))) = { default_interrupt_handler, /* */ default_interrupt_handler, /* */ default_interrupt_handler, /* */ diff --git a/drivers/soc/bl702/startup/interrupt.c b/drivers/soc/bl702/startup/interrupt.c index e60b737e..5ec2ef76 100644 --- a/drivers/soc/bl702/startup/interrupt.c +++ b/drivers/soc/bl702/startup/interrupt.c @@ -29,7 +29,7 @@ struct bflb_irq_info_s g_irqvector[CONFIG_IRQ_NUM]; extern void default_trap_handler(void); extern void default_interrupt_handler(void); -const pFunc __Vectors[] __attribute__((section(".init"), aligned(64))) = { +const pFunc __Vectors[] __attribute__((section(".vector"), aligned(64))) = { default_interrupt_handler, /* */ default_interrupt_handler, /* */ default_interrupt_handler, /* */ diff --git a/drivers/soc/bl808/startup/m0/interrupt.c b/drivers/soc/bl808/startup/m0/interrupt.c index 12f59a9e..f7087409 100644 --- a/drivers/soc/bl808/startup/m0/interrupt.c +++ b/drivers/soc/bl808/startup/m0/interrupt.c @@ -31,7 +31,7 @@ struct bflb_irq_info_s g_irqvector[CONFIG_IRQ_NUM]; extern void default_trap_handler(void); extern void default_interrupt_handler(void); -const pFunc __Vectors[] __attribute__((section(".init"), aligned(64))) = { +const pFunc __Vectors[] __attribute__((section(".vector"), aligned(64))) = { default_interrupt_handler, /* */ default_interrupt_handler, /* */ default_interrupt_handler, /* */