From 44b979ac3dc53b29ee8176517b7d9a10935630c0 Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Mon, 29 Oct 2012 21:36:23 +0200 Subject: Initial code --- project0/startup_sourcerygxx.S | 75 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 project0/startup_sourcerygxx.S (limited to 'project0/startup_sourcerygxx.S') diff --git a/project0/startup_sourcerygxx.S b/project0/startup_sourcerygxx.S new file mode 100644 index 0000000..b720839 --- /dev/null +++ b/project0/startup_sourcerygxx.S @@ -0,0 +1,75 @@ +//***************************************************************************** +// +// startup_sourcerygxx.S - Startup code for Sourcery CodeBench. +// +// Copyright (c) 2012 Texas Instruments Incorporated. All rights reserved. +// Software License Agreement +// +// Texas Instruments (TI) is supplying this software for use solely and +// exclusively on TI's microcontroller products. The software is owned by +// TI and/or its suppliers, and is protected under applicable copyright +// laws. You may not combine this software with "viral" open-source +// software in order to form a larger program. +// +// THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS. +// NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT +// NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY +// CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL +// DAMAGES, FOR ANY REASON WHATSOEVER. +// +// This is part of revision 9453 of the EK-LM4F120XL Firmware Package. +// +//***************************************************************************** + + .syntax unified + .thumb + +//***************************************************************************** +// +// Place this code into the .cs3.reset section so that it can be executed prior +// to the startup code in Sourcery CodeBench. +// +//***************************************************************************** + .section .cs3.reset,"x" + +//***************************************************************************** +// +// The reset handler, which overrides the one provided by CS3. +// +//***************************************************************************** + .globl __cs3_reset + .thumb_func +__cs3_reset: + // + // Enable the floating-point unit. This must be done here to handle the + // case where main() uses floating-point and the function prologue saves + // floating-point registers (which will fault if floating-point is not + // enabled). Any configuration of the floating-point unit using DriverLib + // APIs must be done here prior to the floating-point unit being enabled. + // + // Note that this does not use DriverLib since it might not be included in + // this project. + // + movw r0, #0xed88 + movt r0, #0xe000 + ldr r1, [r0] + orr r1, #0x00f00000 + str r1, [r0] + + // + // Branch to the normal CS3 startup code. + // + .extern __cs3_reset_ekc_lm4f232 + ldr r0, =__cs3_reset_ekc_lm4f232 + bx r0 + + // + // Place the literal pool here. + // + .ltorg + + // + // The end of the file. + // + .end -- cgit v1.3.1