toolchain/ghs: add ghs link script for mps2-an500 platform
Signed-off-by: yanghuatao <yanghuatao@xiaomi.com>
This commit is contained in:
parent
2a8c023357
commit
c43c91816d
@ -133,6 +133,21 @@ else ifeq ($(CONFIG_ARM_TOOLCHAIN_ARMCLANG),y)
|
||||
LDFLAGS += --cpu=Cortex-M3
|
||||
endif
|
||||
|
||||
else ifeq ($(CONFIG_ARM_TOOLCHAIN_GHS),y)
|
||||
MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
|
||||
|
||||
undefine PREPROCESS
|
||||
define PREPROCESS
|
||||
$(ECHO_BEGIN)"CPP: $1->$2 "
|
||||
$(Q) $(CPP) $(CPPFLAGS) $($(strip $1)_CPPFLAGS) -filetype.cpp $1 -o $2
|
||||
$(ECHO_END)
|
||||
endef
|
||||
|
||||
undefine ARCHIVE
|
||||
define ARCHIVE
|
||||
$(AR) $2 -archive -o $1
|
||||
endef
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARMV7M_STACKCHECK),y)
|
||||
|
@ -22,7 +22,19 @@ include $(TOPDIR)/.config
|
||||
include $(TOPDIR)/tools/Config.mk
|
||||
include $(TOPDIR)/arch/arm/src/armv7-m/Toolchain.defs
|
||||
|
||||
LDSCRIPT = flash.ld
|
||||
ifeq ($(CONFIG_ARM_TOOLCHAIN_GHS),y)
|
||||
define POSTBUILD
|
||||
$(GMEMFILE) nuttx -o nuttx.bin
|
||||
endef
|
||||
|
||||
LDSCRIPT = ghs-flash.ld
|
||||
else
|
||||
define POSTBUILD
|
||||
$(OBJCOPY) -O binary nuttx nuttx.bin
|
||||
endef
|
||||
|
||||
LDSCRIPT = flash.ld
|
||||
endif
|
||||
|
||||
ARCHSCRIPT += $(BOARD_DIR)$(DELIM)scripts$(DELIM)$(LDSCRIPT)
|
||||
|
||||
|
98
boards/arm/mps/mps2-an500/scripts/ghs-flash.ld
Normal file
98
boards/arm/mps/mps2-an500/scripts/ghs-flash.ld
Normal file
@ -0,0 +1,98 @@
|
||||
/****************************************************************************
|
||||
* boards/arm/mps/mps2-an500/scripts/ghs-flash.ld
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership. The
|
||||
* ASF licenses this file to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance with the
|
||||
* License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
MEMORY
|
||||
{
|
||||
flash (rwx) : ORIGIN = 0x00000000, LENGTH = 4M
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.text ALIGN(4) : {
|
||||
_stext = ABSOLUTE(.);
|
||||
*(.vectors)
|
||||
*(.text)
|
||||
"*(.text.*)"
|
||||
*(.fixup)
|
||||
*(.gnu.warning)
|
||||
*(.rodata)
|
||||
*(.glue_7)
|
||||
*(.glue_7t)
|
||||
*(.got)
|
||||
*(.gcc_except_table)
|
||||
_etext = ABSOLUTE(.);
|
||||
} > flash
|
||||
|
||||
.syscall : > .
|
||||
|
||||
.init_section ALIGN(4) : {
|
||||
_sinit = ABSOLUTE(.);
|
||||
*(.init_array)
|
||||
*(.ctors)
|
||||
_einit = ABSOLUTE(.);
|
||||
} > flash
|
||||
|
||||
.ARM.extab ALIGN(4) : {
|
||||
"*(.ARM.extab*)"
|
||||
} > flash
|
||||
|
||||
.ARM.exidx ALIGN(4) : {
|
||||
__exidx_start = ABSOLUTE(.);
|
||||
"*(.ARM.exidx*)"
|
||||
__exidx_end = ABSOLUTE(.);
|
||||
} > flash
|
||||
|
||||
.tdata ALIGN(4) : {
|
||||
_stdata = ABSOLUTE(.);
|
||||
*(.tdata)
|
||||
"*(.tdata.*)"
|
||||
_etdata = ABSOLUTE(.);
|
||||
} > flash
|
||||
|
||||
.tbss : {
|
||||
_stbss = ABSOLUTE(.);
|
||||
*(.tbss)
|
||||
*(.tcommon)
|
||||
_etbss = ABSOLUTE(.);
|
||||
} > flash
|
||||
|
||||
_eronly = ENDADDR(.tbss);
|
||||
|
||||
.ram_vectors : {
|
||||
*(.ram_vectors)
|
||||
} > flash
|
||||
|
||||
.data ALIGN(4) : {
|
||||
_sdata = ABSOLUTE(.);
|
||||
*(.data)
|
||||
"*(.data.*)"
|
||||
. = ALIGN(4);
|
||||
_edata = ABSOLUTE(.);
|
||||
} > flash
|
||||
|
||||
.bss ALIGN(4) : {
|
||||
_sbss = ABSOLUTE(.);
|
||||
*(.bss)
|
||||
"*(.bss.*)"
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > flash
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user