mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #10791 from hugueskamba/fix-lpc55s69-bootloader-segmentation
bootloader: Fix LPC55S69 bootloader segmentationpull/10908/head
commit
201a264051
|
@ -77,12 +77,23 @@
|
|||
#define MBED_RAM_SIZE NS_DATA_SIZE
|
||||
#endif
|
||||
|
||||
#if !defined(NVIC_INTERRUPT_NUM)
|
||||
#define NVIC_INTERRUPT_NUM 60
|
||||
#endif
|
||||
|
||||
#if !defined(EXCEPTION_VECT_NUM)
|
||||
#define EXCEPTION_VECT_NUM 16
|
||||
#endif
|
||||
|
||||
#if !defined(MEMORY_ADDR_SIZE_IN_BYTE)
|
||||
#define MEMORY_ADDR_SIZE_IN_BYTE 4
|
||||
#endif
|
||||
|
||||
#define m_interrupts_start MBED_APP_START
|
||||
#define m_interrupts_size 0x140
|
||||
#define m_interrupts_size ((NVIC_INTERRUPT_NUM + EXCEPTION_VECT_NUM) * MEMORY_ADDR_SIZE_IN_BYTE)
|
||||
|
||||
#define m_text_start MBED_APP_START + 0x140
|
||||
#define m_text_size MBED_APP_SIZE - 0x140
|
||||
#define m_text_start MBED_APP_START + m_interrupts_size
|
||||
#define m_text_size MBED_APP_SIZE - m_interrupts_size
|
||||
|
||||
#define m_interrupts_ram_start MBED_RAM_START
|
||||
#define m_interrupts_ram_size __ram_vector_table_size__
|
||||
|
@ -93,13 +104,13 @@
|
|||
#define m_usb_sram_start 0x40100000
|
||||
#define m_usb_sram_size 0x00004000
|
||||
|
||||
LR_IROM1 m_interrupts_start m_text_start+m_text_size-m_interrupts_start { ; load region size_region
|
||||
LR_IROM1 m_interrupts_start (AlignExpr(m_text_start, 8)+m_text_size-m_interrupts_start) { ; load region size_region
|
||||
|
||||
VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address
|
||||
* (RESET,+FIRST)
|
||||
}
|
||||
|
||||
ER_IROM1 m_text_start FIXED m_text_size { ; load address = execution address
|
||||
ER_IROM1 AlignExpr(m_text_start, 8) FIXED m_text_size { ; load address = execution address
|
||||
* (InRoot$$Sections)
|
||||
.ANY (+RO)
|
||||
}
|
||||
|
|
|
@ -57,6 +57,22 @@ __ram_vector_table__ = 1;
|
|||
#define MBED_BOOT_STACK_SIZE 0x400
|
||||
#endif
|
||||
|
||||
#if !defined(NVIC_INTERRUPT_NUM)
|
||||
#define NVIC_INTERRUPT_NUM 60
|
||||
#endif
|
||||
|
||||
#if !defined(EXCEPTION_VECT_NUM)
|
||||
#define EXCEPTION_VECT_NUM 16
|
||||
#endif
|
||||
|
||||
#if !defined(MEMORY_ADDR_SIZE_IN_BYTE)
|
||||
#define MEMORY_ADDR_SIZE_IN_BYTE 4
|
||||
#endif
|
||||
|
||||
#if !defined(MBED_INTERRUPTS_SIZE)
|
||||
#define MBED_INTERRUPTS_SIZE ((NVIC_INTERRUPT_NUM + EXCEPTION_VECT_NUM) * MEMORY_ADDR_SIZE_IN_BYTE)
|
||||
#endif
|
||||
|
||||
__stack_size__ = MBED_BOOT_STACK_SIZE;
|
||||
|
||||
STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0800;
|
||||
|
@ -64,8 +80,8 @@ M_VECTOR_RAM_SIZE = DEFINED(__ram_vector_table__) ? 0x200 : 0x0;
|
|||
|
||||
MEMORY
|
||||
{
|
||||
m_interrupts (RX) : ORIGIN = MBED_APP_START, LENGTH = 0x140
|
||||
m_text (RX) : ORIGIN = MBED_APP_START + 0x140, LENGTH = MBED_APP_SIZE - 0x140
|
||||
m_interrupts (RX) : ORIGIN = MBED_APP_START, LENGTH = MBED_INTERRUPTS_SIZE
|
||||
m_text (RX) : ORIGIN = MBED_APP_START + MBED_INTERRUPTS_SIZE, LENGTH = MBED_APP_SIZE - MBED_INTERRUPTS_SIZE
|
||||
m_data (RW) : ORIGIN = MBED_RAM_START, LENGTH = MBED_RAM_SIZE
|
||||
m_usb_sram (RW) : ORIGIN = 0x40100000, LENGTH = 0x00004000
|
||||
}
|
||||
|
|
|
@ -80,10 +80,26 @@ if (isdefinedsymbol(__heap_size__)) {
|
|||
define symbol __size_heap__ = 0x0400;
|
||||
}
|
||||
|
||||
define symbol m_interrupts_start = MBED_APP_START;
|
||||
define symbol m_interrupts_end = (MBED_APP_START + 0x13F);
|
||||
if (!isdefinedsymbol(NVIC_INTERRUPT_NUM)) {
|
||||
define symbol NVIC_INTERRUPT_NUM = 60;
|
||||
}
|
||||
|
||||
define symbol m_text_start = (MBED_APP_START + 0x140);
|
||||
if (!isdefinedsymbol(EXCEPTION_VECT_NUM)) {
|
||||
define symbol EXCEPTION_VECT_NUM = 16;
|
||||
}
|
||||
|
||||
if (!isdefinedsymbol(MEMORY_ADDR_SIZE_IN_BYTE)) {
|
||||
define symbol MEMORY_ADDR_SIZE_IN_BYTE = 4;
|
||||
}
|
||||
|
||||
if (!isdefinedsymbol(MBED_INTERRUPTS_SIZE)) {
|
||||
define symbol MBED_INTERRUPTS_SIZE = ((NVIC_INTERRUPT_NUM + EXCEPTION_VECT_NUM) * MEMORY_ADDR_SIZE_IN_BYTE);
|
||||
}
|
||||
|
||||
define symbol m_interrupts_start = MBED_APP_START;
|
||||
define symbol m_interrupts_end = (MBED_APP_START + (MBED_INTERRUPTS_SIZE - 1));
|
||||
|
||||
define symbol m_text_start = (MBED_APP_START + MBED_INTERRUPTS_SIZE);
|
||||
define symbol m_text_end = (MBED_APP_START + MBED_APP_SIZE - 1);
|
||||
|
||||
define symbol m_interrupts_ram_start = MBED_RAM_START;
|
||||
|
|
Loading…
Reference in New Issue