From 1805a4d9c094392d6c3734609617644d00b5e29a Mon Sep 17 00:00:00 2001 From: liu2guang <1004383796@qq.com> Date: Sat, 12 May 2018 05:33:04 +0800 Subject: [PATCH] =?UTF-8?q?[BSP][RT1050]=20fix=20fire=20board=20xip=20issu?= =?UTF-8?q?e.=20|=20=E4=BF=AE=E5=A4=8D=E9=87=8E=E7=81=AB=E6=9D=BF=E5=AD=90?= =?UTF-8?q?xip=E7=BC=96=E8=AF=91=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../arm/MIMXRT1052xxxxx_flexspi_nor.scf | 73 +++++++++++-------- bsp/imxrt1052-evk/xip/SConscript | 15 ++-- 2 files changed, 49 insertions(+), 39 deletions(-) diff --git a/bsp/imxrt1052-evk/Libraries/arm/MIMXRT1052xxxxx_flexspi_nor.scf b/bsp/imxrt1052-evk/Libraries/arm/MIMXRT1052xxxxx_flexspi_nor.scf index 1afc5ba4d8..af1f65e3b9 100644 --- a/bsp/imxrt1052-evk/Libraries/arm/MIMXRT1052xxxxx_flexspi_nor.scf +++ b/bsp/imxrt1052-evk/Libraries/arm/MIMXRT1052xxxxx_flexspi_nor.scf @@ -73,44 +73,53 @@ #define Heap_Size 0x0400 #endif -LR_m_rom_config m_flash_config_start m_flash_config_size { ; load region size_region - RW_m_config_text m_flash_config_start m_flash_config_size { ; load address = execution address - * (.boot_hdr.conf, +FIRST) - } +#if (defined(BOARD_RT1050_EVK)) || (defined(BOARD_RT1050_SeeedStudio)) +LR_m_rom_config m_flash_config_start m_flash_config_size ; load region size_region +{ + RW_m_config_text m_flash_config_start m_flash_config_size ; load address = execution address + { + * (.boot_hdr.conf, +FIRST) + } } -LR_m_rom_ivt m_ivt_start m_ivt_size { ; load region size_region - RW_m_ivt_text m_ivt_start m_ivt_size { ; load address = execution address - * (.boot_hdr.ivt, +FIRST) - * (.boot_hdr.boot_data) - * (.boot_hdr.dcd_data) - } +LR_m_rom_ivt m_ivt_start m_ivt_size ; load region size_region +{ + RW_m_ivt_text m_ivt_start m_ivt_size ; load address = execution address + { + * (.boot_hdr.ivt, +FIRST) + * (.boot_hdr.boot_data) + * (.boot_hdr.dcd_data) + } } +#endif -#define RTT_HEAP_SIZE \ - (m_data_size - ImageLength(RW_m_data) - ImageLength(ARM_LIB_HEAP) - ImageLength(ARM_LIB_STACK)) +#define RTT_HEAP_SIZE (m_data_size-ImageLength(RW_m_data)-ImageLength(ARM_LIB_HEAP)-ImageLength(ARM_LIB_STACK)) -LR_m_text m_text_start m_text_size { ; load region size_region - ER_m_text m_text_start m_text_size { ; load address = execution address - * (RESET,+FIRST) - * (InRoot$$Sections) - .ANY (+RO) - } - RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data - .ANY (+RW +ZI) +; load region size_region +LR_IROM1 m_text_start m_text_size +{ + ER_IROM1 m_text_start m_text_size ; load address = execution address + { + * (RESET,+FIRST) + * (InRoot$$Sections) + .ANY (+RO) + } + + RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size ; RW data + { + .ANY (+RW +ZI) + } + + ARM_LIB_HEAP +0 EMPTY Heap_Size{} ; Heap region growing up + ARM_LIB_STACK +0 EMPTY Stack_Size{} ; Stack region growing down + RTT_HEAP +0 EMPTY RTT_HEAP_SIZE{} - } - ARM_LIB_HEAP +0 EMPTY Heap_Size { ; Heap region growing up - } - ARM_LIB_STACK +0 EMPTY Stack_Size { ; Stack region growing down - } - RTT_HEAP +0 EMPTY RTT_HEAP_SIZE { - } - - RW_m_ncache m_ncache_start m_ncache_size { ; ncache RW data - * (NonCacheable.init) - * (NonCacheable) - } + ; ncache RW data + RW_m_ncache m_ncache_start m_ncache_size + { + * (NonCacheable.init) + * (NonCacheable) + } } diff --git a/bsp/imxrt1052-evk/xip/SConscript b/bsp/imxrt1052-evk/xip/SConscript index 939a094c84..d2b06ebbfb 100644 --- a/bsp/imxrt1052-evk/xip/SConscript +++ b/bsp/imxrt1052-evk/xip/SConscript @@ -3,20 +3,21 @@ Import('rtconfig') from building import * if GetDepend('BOARD_RT1050_EVK') or GetDepend('BOARD_RT1050_SeeedStudio'): - - cwd = GetCurrentDir() - src = Glob('*.c') + cwd = GetCurrentDir() + src = Glob('*.c') CPPPATH = [cwd] if rtconfig.CROSS_TOOL == 'keil': - LINKFLAGS = '--keep=*(.boot_hdr.ivt)' + LINKFLAGS = '--keep=*(.boot_hdr.ivt)' LINKFLAGS += '--keep=*(.boot_hdr.boot_data)' LINKFLAGS += '--keep=*(.boot_hdr.dcd_data)' LINKFLAGS += '--keep=*(.boot_hdr.conf)' else: LINKFLAGS = '' - - group = DefineGroup('xip', src, depend = [''], CPPPATH = CPPPATH, LINKFLAGS=LINKFLAGS) + group = DefineGroup('xip', src, depend = [''], CPPPATH = CPPPATH, LINKFLAGS = LINKFLAGS) + Return('group') -Return('group') +if GetDepend('BOARD_RT1050_FIRE'): + group = [] + Return('group')