1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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
|