4
0
mirror of https://github.com/RT-Thread/rt-thread.git synced 2025-02-22 01:15:26 +08:00

Merge pull request #1429 from liu2guang/master

[BSP][RT1050] fix fire board xip issue. | 修复野火板子xip编译错误问题.
This commit is contained in:
Tanek 2018-05-12 18:01:38 +08:00 committed by GitHub
commit dbf360e78d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 49 additions and 39 deletions

View File

@ -73,44 +73,53 @@
#define Heap_Size 0x0400 #define Heap_Size 0x0400
#endif #endif
LR_m_rom_config m_flash_config_start m_flash_config_size { ; load region size_region #if (defined(BOARD_RT1050_EVK)) || (defined(BOARD_RT1050_SeeedStudio))
RW_m_config_text m_flash_config_start m_flash_config_size { ; load address = execution address LR_m_rom_config m_flash_config_start m_flash_config_size ; load region size_region
* (.boot_hdr.conf, +FIRST) {
} 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 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) RW_m_ivt_text m_ivt_start m_ivt_size ; load address = execution address
* (.boot_hdr.boot_data) {
* (.boot_hdr.dcd_data) * (.boot_hdr.ivt, +FIRST)
} * (.boot_hdr.boot_data)
* (.boot_hdr.dcd_data)
}
} }
#endif
#define RTT_HEAP_SIZE \ #define RTT_HEAP_SIZE (m_data_size-ImageLength(RW_m_data)-ImageLength(ARM_LIB_HEAP)-ImageLength(ARM_LIB_STACK))
(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 ; load region size_region
ER_m_text m_text_start m_text_size { ; load address = execution address LR_IROM1 m_text_start m_text_size
* (RESET,+FIRST) {
* (InRoot$$Sections) ER_IROM1 m_text_start m_text_size ; load address = execution address
.ANY (+RO) {
} * (RESET,+FIRST)
RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data * (InRoot$$Sections)
.ANY (+RW +ZI) .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{}
} ; ncache RW data
ARM_LIB_HEAP +0 EMPTY Heap_Size { ; Heap region growing up RW_m_ncache m_ncache_start m_ncache_size
} {
ARM_LIB_STACK +0 EMPTY Stack_Size { ; Stack region growing down * (NonCacheable.init)
} * (NonCacheable)
RTT_HEAP +0 EMPTY RTT_HEAP_SIZE { }
}
RW_m_ncache m_ncache_start m_ncache_size { ; ncache RW data
* (NonCacheable.init)
* (NonCacheable)
}
} }

View File

@ -3,20 +3,21 @@ Import('rtconfig')
from building import * from building import *
if GetDepend('BOARD_RT1050_EVK') or GetDepend('BOARD_RT1050_SeeedStudio'): if GetDepend('BOARD_RT1050_EVK') or GetDepend('BOARD_RT1050_SeeedStudio'):
cwd = GetCurrentDir()
cwd = GetCurrentDir() src = Glob('*.c')
src = Glob('*.c')
CPPPATH = [cwd] CPPPATH = [cwd]
if rtconfig.CROSS_TOOL == 'keil': 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.boot_data)'
LINKFLAGS += '--keep=*(.boot_hdr.dcd_data)' LINKFLAGS += '--keep=*(.boot_hdr.dcd_data)'
LINKFLAGS += '--keep=*(.boot_hdr.conf)' LINKFLAGS += '--keep=*(.boot_hdr.conf)'
else: else:
LINKFLAGS = '' 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')