mirror of https://github.com/ArduPilot/ardupilot
AP_HAL_ChibiOS: Copy vector table to RAM if external flash is primary
This commit is contained in:
parent
47615b14cc
commit
321e82c451
|
@ -250,6 +250,10 @@ endif
|
|||
# Define ASM defines here
|
||||
UADEFS =
|
||||
|
||||
ifeq ($(COPY_VECTORS_TO_RAM),yes)
|
||||
UADEFS += -DCRT0_INIT_VECTORS=1
|
||||
endif
|
||||
|
||||
# List all user directories here
|
||||
UINCDIR =
|
||||
|
||||
|
|
|
@ -1292,12 +1292,25 @@ MEMORY
|
|||
|
||||
INCLUDE common.ld
|
||||
''' % (flash_base, flash_length, ram0_start, ram0_len))
|
||||
else:
|
||||
elif int_flash_primary:
|
||||
if ext_flash_size > 32:
|
||||
error("We only support 24bit addressing over external flash")
|
||||
env_vars['HAS_EXTERNAL_FLASH_SECTIONS'] = 1
|
||||
f.write('''/* generated ldscript.ld */
|
||||
MEMORY
|
||||
{
|
||||
flash : org = 0x%08x, len = %uK
|
||||
ext_flash : org = 0x%08x, len = %uK
|
||||
ram0 : org = 0x%08x, len = %u
|
||||
}
|
||||
|
||||
INCLUDE common_mixf.ld
|
||||
''' % (flash_base, flash_length, ext_flash_base, ext_flash_length, ram0_start, ram0_len))
|
||||
else:
|
||||
self.env_vars['HAS_EXTERNAL_FLASH_SECTIONS'] = 1
|
||||
self.build_flags.append('COPY_VECTORS_TO_RAM=yes')
|
||||
f.write('''/* generated ldscript.ld */
|
||||
MEMORY
|
||||
{
|
||||
default_flash (rx) : org = 0x%08x, len = %uK
|
||||
instram : org = 0x%08x, len = %uK
|
||||
|
|
Loading…
Reference in New Issue