summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/tms570/startup/bspstart.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/tms570/startup/bspstart.c')
-rw-r--r--c/src/lib/libbsp/arm/tms570/startup/bspstart.c75
1 files changed, 0 insertions, 75 deletions
diff --git a/c/src/lib/libbsp/arm/tms570/startup/bspstart.c b/c/src/lib/libbsp/arm/tms570/startup/bspstart.c
deleted file mode 100644
index 025bb741d2..0000000000
--- a/c/src/lib/libbsp/arm/tms570/startup/bspstart.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * @file bspstart.c
- *
- * @ingroup tms570
- *
- * @brief Startup code.
- */
-
-/*
- * Copyright (c) 2014 Premysl Houdek <kom541000@gmail.com>
- *
- * Google Summer of Code 2014 at
- * Czech Technical University in Prague
- * Zikova 1903/4
- * 166 36 Praha 6
- * Czech Republic
- *
- * Based on LPC24xx and LPC1768 BSP
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp.h>
-#include <bsp/tms570-pom.h>
-#include <bsp/irq-generic.h>
-#include <bsp/start.h>
-#include <bsp/bootcard.h>
-#include <bsp/linker-symbols.h>
-#include <rtems/endian.h>
-
-void bsp_start( void )
-{
- void *need_remap_ptr;
- unsigned int need_remap_int;
-
- tms570_initialize_and_clear();
-
- /*
- * If RTEMS image does not start at address 0x00000000
- * then first level exception table at memory begin has
- * to be replaced to point to RTEMS handlers addresses.
- *
- * There is no VBAR or other option because Cortex-R
- * does provides only fixed address 0x00000000 for exceptions
- * (0xFFFF0000-0xFFFF001C alternative SCTLR.V = 1 cannot
- * be used because target area corersponds to PMM peripheral
- * registers on TMS570).
- *
- * Alternative is to use jumps over SRAM based trampolines
- * but that is not compatible with
- * Check TCRAM1 ECC error detection logic
- * which intentionally introduces data abort during startup
- * to check SRAM and if exception processing goes through
- * SRAM then it leads to CPU error halt.
- *
- * So use of POM to replace jumps to vectors target
- * addresses seems to be the best option for now.
- *
- * The passing of linker symbol (represented as start address
- * of global array) through dummy asm block ensures that C compiler
- * cannot optimize comparison out on premise that reference cannot
- * evaluate to NULL definition in standard.
- */
- need_remap_ptr = bsp_start_vector_table_begin;
- asm volatile ("\n": "=r" (need_remap_int): "0" (need_remap_ptr));
- if ( need_remap_int != 0 ) {
- tms570_pom_remap();
- }
-
- /* Interrupts */
- bsp_interrupt_initialize();
-
-}