bsp/tms570: separate Flash variants to one which boots directly and one for boot loader.

The default tms570ls3137_hdk variant is for building RTEMS
application image starting directly from start of Flash.

Variant tms570ls3137_hdk_with_loader skips 256kB at start
of Flash to allow use with application loader.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
This commit is contained in:
Premysl Houdek
2015-11-12 23:11:32 +01:00
committed by Gedare Bloom
parent 416cd88ac0
commit 85750d169e
4 changed files with 57 additions and 0 deletions

View File

@@ -95,6 +95,7 @@ project_lib_DATA += startup/linkcmds
EXTRA_DIST =
EXTRA_DIST += startup/linkcmds.tms570ls3137_hdk
EXTRA_DIST += startup/linkcmds.tms570ls3137_hdk_with_loader
EXTRA_DIST += startup/linkcmds.tms570ls3137_hdk_sdram
EXTRA_DIST += startup/linkcmds.tms570ls3137_hdk_intram

View File

@@ -11,6 +11,9 @@ Drivers:
BSP variants:
tms570ls3137_hdk_intram - place code and data into internal SRAM
tms570ls3137_hdk_sdram - place code into external SDRAM and data to SRAM
tms570ls3137_hdk_with_loader - reserve 256kB at Flash start for loader
and place RTEMS application from address
0x00040000
tms570ls3137_hdk - variant prepared for stand-alone RTEMS application
stored and running directly from flash. Not working yet.

View File

@@ -0,0 +1,20 @@
#
# Config file for TMS570LS3137 board.
#
include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU = arm
CPU_CFLAGS = -march=armv7-r -mthumb -mbig-endian -mfpu=vfpv3-d16 -mfloat-abi=hard
CFLAGS_OPTIMIZE_V = -O2 -ggdb
BINEXT?=.bin
# This defines the operations performed on the linked executable.
# is currently required.
define bsp-post-link
$(OBJCOPY) -O binary --strip-all \
$(basename $@)$(EXEEXT) $(basename $@)$(BINEXT)
$(SIZE) $(basename $@)$(EXEEXT)
endef

View File

@@ -0,0 +1,33 @@
MEMORY {
ROM_BOOT(RX) : ORIGIN = 0x00000000, LENGTH = 256k
ROM_INT (RX) : ORIGIN = 0x00040000, LENGTH = 3M-256k
RAM_INT_VEC : ORIGIN = 0x08000000, LENGTH = 256
RAM_INT (AIWX) : ORIGIN = 0x08000100, LENGTH = 256k - 256
RAM_EXT (AIWX) : ORIGIN = 0x80000000, LENGTH = 8M
}
REGION_ALIAS ("REGION_START", ROM_INT);
REGION_ALIAS ("REGION_VECTOR", RAM_INT);
REGION_ALIAS ("REGION_TEXT", ROM_INT);
REGION_ALIAS ("REGION_TEXT_LOAD", ROM_INT);
REGION_ALIAS ("REGION_RODATA", ROM_INT);
REGION_ALIAS ("REGION_RODATA_LOAD", ROM_INT);
REGION_ALIAS ("REGION_DATA", RAM_INT);
REGION_ALIAS ("REGION_DATA_LOAD", ROM_INT);
REGION_ALIAS ("REGION_FAST_TEXT", RAM_INT);
REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM_INT);
REGION_ALIAS ("REGION_FAST_DATA", RAM_INT);
REGION_ALIAS ("REGION_FAST_DATA_LOAD", ROM_INT);
REGION_ALIAS ("REGION_BSS", RAM_INT);
REGION_ALIAS ("REGION_WORK", RAM_INT);
REGION_ALIAS ("REGION_STACK", RAM_INT);
REGION_ALIAS ("REGION_NOCACHE", RAM_INT);
REGION_ALIAS ("REGION_NOCACHE_LOAD", RAM_INT);
bsp_stack_main_size = DEFINED (bsp_stack_main_size) ? bsp_stack_main_size : 1024;
bsp_stack_main_size = ALIGN (bsp_stack_main_size, bsp_stack_align);
bsp_int_vec_overlay_start = ORIGIN(RAM_INT_VEC);
INCLUDE linkcmds.armv4