forked from Imagelibrary/rtems
bsp/tms570: Add linkcmds.memory
Remove obsolete tms570ls3137_hdk_with_loader BSP variant. With the new memory origin/size build options this variant is no longer required. Update #4982.
This commit is contained in:
@@ -14,9 +14,6 @@ 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 for stand-alone RTEMS application stored
|
||||
and running directly from flash. This variant
|
||||
requires initialization of hardware to be integrated
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
#
|
||||
# tms570ls3137_hdk_with_loader RTEMS Test Database.
|
||||
#
|
||||
# Format is one line per test that is _NOT_ built.
|
||||
#
|
||||
|
||||
include: testdata/small-memory-testsuite.tcfg
|
||||
|
||||
exclude: linpack
|
||||
@@ -43,11 +43,21 @@
|
||||
#ifndef LIBBSP_ARM_TMS570_HWINIT_H
|
||||
#define LIBBSP_ARM_TMS570_HWINIT_H
|
||||
|
||||
#define TMS570_TCRAM_START_PTR ( (void *) ( 0x08000000U ) )
|
||||
#define TMS570_TCRAM_WINDOW_END_PTR ( (void *) ( 0x08080000U ) )
|
||||
#include <bspopts.h>
|
||||
#include <stdint.h>
|
||||
#include <bsp/start.h>
|
||||
|
||||
#define TMS570_SDRAM_START_PTR ( (void *) ( 0x80000000U ) )
|
||||
#define TMS570_SDRAM_WINDOW_END_PTR ( (void *) ( 0xA0000000U ) )
|
||||
static inline bool tms570_running_from_tcram( void )
|
||||
{
|
||||
uintptr_t fncptr = (uintptr_t)bsp_start_hook_0;
|
||||
return (fncptr - TMS570_MEMORY_SRAM_ORIGIN) < TMS570_MEMORY_SRAM_SIZE;
|
||||
}
|
||||
|
||||
static inline bool tms570_running_from_sdram( void )
|
||||
{
|
||||
uintptr_t fncptr = (uintptr_t)bsp_start_hook_0;
|
||||
return (fncptr - TMS570_MEMORY_SDRAM_ORIGIN) < TMS570_MEMORY_SDRAM_SIZE;
|
||||
}
|
||||
|
||||
/* Ti TMS570 core setup implemented in assembly */
|
||||
void _esmCcmErrorsClear_( void );
|
||||
|
||||
@@ -47,22 +47,6 @@
|
||||
#include <bsp/tms570_selftest_parity.h>
|
||||
#include <bsp/tms570_hwinit.h>
|
||||
|
||||
static inline
|
||||
int tms570_running_from_tcram( void )
|
||||
{
|
||||
void *fncptr = (void*)bsp_start_hook_0;
|
||||
return ( fncptr >= (void*)TMS570_TCRAM_START_PTR ) &&
|
||||
( fncptr < (void*)TMS570_TCRAM_WINDOW_END_PTR );
|
||||
}
|
||||
|
||||
static inline
|
||||
int tms570_running_from_sdram( void )
|
||||
{
|
||||
void *fncptr = (void*)bsp_start_hook_0;
|
||||
return ( ( (void*)fncptr >= (void*)TMS570_SDRAM_START_PTR ) &&
|
||||
( (void*)fncptr < (void*)TMS570_SDRAM_WINDOW_END_PTR ) );
|
||||
}
|
||||
|
||||
#define PBIST_March13N_SP 0x00000008U /**< March13 N Algo for 1 Port mem */
|
||||
|
||||
BSP_START_TEXT_SECTION void bsp_start_hook_0( void )
|
||||
|
||||
@@ -50,8 +50,7 @@ void tms570_emif_sdram_init( void )
|
||||
uint32_t sdcr = 0;
|
||||
|
||||
/* Do not run attempt to initialize SDRAM when code is running from it */
|
||||
if ( ( (void*)tms570_emif_sdram_init >= (void*)TMS570_SDRAM_START_PTR ) &&
|
||||
( (void*)tms570_emif_sdram_init <= (void*)TMS570_SDRAM_WINDOW_END_PTR ) )
|
||||
if ( tms570_running_from_sdram() )
|
||||
return;
|
||||
|
||||
sdtimr = TMS570_EMIF_SDTIMR_T_RFC_SET( sdtimr, 6 - 1 );
|
||||
@@ -88,7 +87,7 @@ void tms570_emif_sdram_init( void )
|
||||
|
||||
TMS570_EMIF.SDCR = sdcr;
|
||||
|
||||
dummy = *(volatile uint32_t*)TMS570_SDRAM_START_PTR;
|
||||
dummy = *(volatile uint32_t*)TMS570_MEMORY_SDRAM_ORIGIN;
|
||||
(void) dummy;
|
||||
TMS570_EMIF.SDRCR = 31;
|
||||
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
|
||||
MEMORY {
|
||||
ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 3M
|
||||
RAM_INT (AIWX) : ORIGIN = 0x08000000, LENGTH = 256k
|
||||
RAM_EXT (AIWX) : ORIGIN = 0x80000000, LENGTH = 8M
|
||||
}
|
||||
INCLUDE linkcmds.memory
|
||||
|
||||
REGION_ALIAS ("REGION_START", ROM_INT);
|
||||
REGION_ALIAS ("REGION_VECTOR", RAM_INT);
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
|
||||
MEMORY {
|
||||
ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 3M
|
||||
RAM_INT (AIWX) : ORIGIN = 0x08000100, LENGTH = 256k
|
||||
RAM_EXT (AIW) : ORIGIN = 0x80000000, LENGTH = 8M
|
||||
}
|
||||
INCLUDE linkcmds.memory
|
||||
|
||||
REGION_ALIAS ("REGION_START", RAM_INT);
|
||||
REGION_ALIAS ("REGION_VECTOR", RAM_INT);
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
|
||||
MEMORY {
|
||||
ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 3M
|
||||
RAM_INT (AIWX) : ORIGIN = 0x08000100, LENGTH = 256k
|
||||
RAM_EXT (AIWX) : ORIGIN = 0x80000000, LENGTH = 8M
|
||||
}
|
||||
INCLUDE linkcmds.memory
|
||||
|
||||
REGION_ALIAS ("REGION_START", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_VECTOR", RAM_EXT);
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
|
||||
MEMORY {
|
||||
ROM_BOOT(RX) : ORIGIN = 0x00000000, LENGTH = 256k
|
||||
ROM_INT (RX) : ORIGIN = 0x00040000, LENGTH = 3M-256k
|
||||
RAM_INT (AIWX) : ORIGIN = 0x08000100, LENGTH = 256k
|
||||
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_vector_table_in_start_section = 1;
|
||||
|
||||
SECTIONS {
|
||||
.int_vec_overlay : ALIGN_WITH_INPUT {
|
||||
bsp_int_vec_overlay_start = .;
|
||||
. += 256;
|
||||
} > RAM_INT AT > RAM_INT
|
||||
}
|
||||
|
||||
INCLUDE linkcmds.armv4
|
||||
@@ -1,21 +0,0 @@
|
||||
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
|
||||
arch: arm
|
||||
bsp: tms570ls3137_hdk_with_loader
|
||||
build-type: bsp
|
||||
cflags: []
|
||||
copyrights:
|
||||
- Copyright (C) 2020 embedded brains GmbH & Co. KG
|
||||
cppflags: []
|
||||
enabled-by: true
|
||||
family: tms570
|
||||
includes: []
|
||||
install: []
|
||||
links:
|
||||
- role: build-dependency
|
||||
uid: ../../opto2
|
||||
- role: build-dependency
|
||||
uid: ../../tstsmallmem
|
||||
- role: build-dependency
|
||||
uid: grp
|
||||
source: []
|
||||
type: build
|
||||
@@ -42,6 +42,20 @@ links:
|
||||
uid: optscibaud
|
||||
- role: build-dependency
|
||||
uid: optlinkflags
|
||||
- role: build-dependency
|
||||
uid: optmemflashorigin
|
||||
- role: build-dependency
|
||||
uid: optmemflashsize
|
||||
- role: build-dependency
|
||||
uid: optmemsdramorigin
|
||||
- role: build-dependency
|
||||
uid: optmemsdramsize
|
||||
- role: build-dependency
|
||||
uid: optmemsramorigin
|
||||
- role: build-dependency
|
||||
uid: optmemsramsize
|
||||
- role: build-dependency
|
||||
uid: linkcmdsmemory
|
||||
- role: build-dependency
|
||||
uid: ../../linkcmds
|
||||
- role: build-dependency
|
||||
|
||||
27
spec/build/bsps/arm/tms570/linkcmdsmemory.yml
Normal file
27
spec/build/bsps/arm/tms570/linkcmdsmemory.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
|
||||
build-type: config-file
|
||||
content: |
|
||||
MEMORY {
|
||||
ROM_INT : ORIGIN = ${TMS570_MEMORY_FLASH_ORIGIN:#010x}, LENGTH = ${TMS570_MEMORY_FLASH_SIZE:#010x}
|
||||
RAM_INT : ORIGIN = ${TMS570_MEMORY_SRAM_ORIGIN:#010x}, LENGTH = ${TMS570_MEMORY_SRAM_SIZE:#010x}
|
||||
RAM_EXT : ORIGIN = ${TMS570_MEMORY_SDRAM_ORIGIN:#010x}, LENGTH = ${TMS570_MEMORY_SDRAM_SIZE:#010x}
|
||||
}
|
||||
|
||||
tms570_memory_flash_begin = ORIGIN (ROM_INT);
|
||||
tms570_memory_flash_end = ORIGIN (ROM_INT) + LENGTH (ROM_INT);
|
||||
tms570_memory_flash_size = LENGTH (ROM_INT);
|
||||
|
||||
tms570_memory_sram_begin = ORIGIN (RAM_INT);
|
||||
tms570_memory_sram_end = ORIGIN (RAM_INT) + LENGTH (RAM_INT);
|
||||
tms570_memory_sram_size = LENGTH (RAM_INT);
|
||||
|
||||
tms570_memory_sdram_begin = ORIGIN (RAM_EXT);
|
||||
tms570_memory_sdram_end = ORIGIN (RAM_EXT) + LENGTH (RAM_EXT);
|
||||
tms570_memory_sdram_size = LENGTH (RAM_EXT);
|
||||
copyrights:
|
||||
- Copyright (C) 2023 embedded brains GmbH & Co. KG
|
||||
enabled-by: true
|
||||
install-path: ${BSP_LIBDIR}
|
||||
links: []
|
||||
target: linkcmds.memory
|
||||
type: build
|
||||
@@ -68,7 +68,6 @@ install:
|
||||
- bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk
|
||||
- bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_intram
|
||||
- bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_sdram
|
||||
- bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_with_loader
|
||||
links: []
|
||||
source:
|
||||
- bsps/arm/shared/cp15/arm-cp15-set-exception-handler.c
|
||||
|
||||
18
spec/build/bsps/arm/tms570/optmemflashorigin.yml
Normal file
18
spec/build/bsps/arm/tms570/optmemflashorigin.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
|
||||
actions:
|
||||
- get-integer: null
|
||||
- env-assign: null
|
||||
- format-and-define: TMS570_MEMORY_FLASH_ORIGIN
|
||||
build-type: option
|
||||
copyrights:
|
||||
- Copyright (C) 2023 embedded brains GmbH & Co. KG
|
||||
default:
|
||||
- enabled-by: true
|
||||
value: 0x00000000
|
||||
description: |
|
||||
Origin of the internal flash memory.
|
||||
enabled-by: true
|
||||
format: '{:#010x}'
|
||||
links: []
|
||||
name: TMS570_MEMORY_FLASH_ORIGIN
|
||||
type: build
|
||||
20
spec/build/bsps/arm/tms570/optmemflashsize.yml
Normal file
20
spec/build/bsps/arm/tms570/optmemflashsize.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
|
||||
actions:
|
||||
- get-integer: null
|
||||
- env-assign: null
|
||||
- format-and-define: TMS570_MEMORY_FLASH_SIZE
|
||||
build-type: option
|
||||
copyrights:
|
||||
- Copyright (C) 2023 embedded brains GmbH & Co. KG
|
||||
default:
|
||||
- enabled-by: TMS570_VARIANT_4357
|
||||
value: 0x00400000
|
||||
- enabled-by: true
|
||||
value: 0x00300000
|
||||
description: |
|
||||
Size in bytes of the internal flash memory.
|
||||
enabled-by: true
|
||||
format: '{:#010x}'
|
||||
links: []
|
||||
name: TMS570_MEMORY_FLASH_SIZE
|
||||
type: build
|
||||
18
spec/build/bsps/arm/tms570/optmemsdramorigin.yml
Normal file
18
spec/build/bsps/arm/tms570/optmemsdramorigin.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
|
||||
actions:
|
||||
- get-integer: null
|
||||
- env-assign: null
|
||||
- format-and-define: TMS570_MEMORY_SDRAM_ORIGIN
|
||||
build-type: option
|
||||
copyrights:
|
||||
- Copyright (C) 2023 embedded brains GmbH & Co. KG
|
||||
default:
|
||||
- enabled-by: true
|
||||
value: 0x80000000
|
||||
description: |
|
||||
Origin of the external SDRAM memory.
|
||||
enabled-by: true
|
||||
format: '{:#010x}'
|
||||
links: []
|
||||
name: TMS570_MEMORY_SDRAM_ORIGIN
|
||||
type: build
|
||||
18
spec/build/bsps/arm/tms570/optmemsdramsize.yml
Normal file
18
spec/build/bsps/arm/tms570/optmemsdramsize.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
|
||||
actions:
|
||||
- get-integer: null
|
||||
- env-assign: null
|
||||
- format-and-define: TMS570_MEMORY_SDRAM_SIZE
|
||||
build-type: option
|
||||
copyrights:
|
||||
- Copyright (C) 2023 embedded brains GmbH & Co. KG
|
||||
default:
|
||||
- enabled-by: true
|
||||
value: 0x00800000
|
||||
description: |
|
||||
Size in bytes of the external SDRAM memory.
|
||||
enabled-by: true
|
||||
format: '{:#010x}'
|
||||
links: []
|
||||
name: TMS570_MEMORY_SDRAM_SIZE
|
||||
type: build
|
||||
18
spec/build/bsps/arm/tms570/optmemsramorigin.yml
Normal file
18
spec/build/bsps/arm/tms570/optmemsramorigin.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
|
||||
actions:
|
||||
- get-integer: null
|
||||
- env-assign: null
|
||||
- format-and-define: TMS570_MEMORY_SRAM_ORIGIN
|
||||
build-type: option
|
||||
copyrights:
|
||||
- Copyright (C) 2023 embedded brains GmbH & Co. KG
|
||||
default:
|
||||
- enabled-by: true
|
||||
value: 0x08000000
|
||||
description: |
|
||||
Origin of the internal SRAM memory.
|
||||
enabled-by: true
|
||||
format: '{:#010x}'
|
||||
links: []
|
||||
name: TMS570_MEMORY_SRAM_ORIGIN
|
||||
type: build
|
||||
20
spec/build/bsps/arm/tms570/optmemsramsize.yml
Normal file
20
spec/build/bsps/arm/tms570/optmemsramsize.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
|
||||
actions:
|
||||
- get-integer: null
|
||||
- env-assign: null
|
||||
- format-and-define: TMS570_MEMORY_SRAM_SIZE
|
||||
build-type: option
|
||||
copyrights:
|
||||
- Copyright (C) 2023 embedded brains GmbH & Co. KG
|
||||
default:
|
||||
- enabled-by: TMS570_VARIANT_4357
|
||||
value: 0x00080000
|
||||
- enabled-by: true
|
||||
value: 0x00040000
|
||||
description: |
|
||||
Size in bytes of the internal SRAM memory.
|
||||
enabled-by: true
|
||||
format: '{:#010x}'
|
||||
links: []
|
||||
name: TMS570_MEMORY_SRAM_SIZE
|
||||
type: build
|
||||
Reference in New Issue
Block a user