//***************************************************************************** // // 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