


ARM Macro Assembler    Page 1 


    1 00000000         ; <<< Use Configuration Wizard in Context Menu >>>
    2 00000000         ;*******************************************************
                       ***********************
    3 00000000         ;
    4 00000000         ; Startup.s - Startup code for Stellaris.
    5 00000000         ;
    6 00000000         ; Copyright (c) 2006-2007 Luminary Micro, Inc.  All righ
                       ts reserved.
    7 00000000         ; 
    8 00000000         ; Software License Agreement
    9 00000000         ; 
   10 00000000         ; Luminary Micro, Inc. (LMI) is supplying this software 
                       for use solely and
   11 00000000         ; exclusively on LMI's microcontroller products.
   12 00000000         ; 
   13 00000000         ; The software is owned by LMI and/or its suppliers, and
                        is protected under
   14 00000000         ; applicable copyright laws.  All rights are reserved.  
                       Any use in violation
   15 00000000         ; of the foregoing restrictions may subject the user to 
                       criminal sanctions
   16 00000000         ; under applicable laws, as well as to civil liability f
                       or the breach of the
   17 00000000         ; terms and conditions of this license.
   18 00000000         ; 
   19 00000000         ; THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHE
                       THER EXPRESS, IMPLIED
   20 00000000         ; OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED W
                       ARRANTIES OF
   21 00000000         ; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE A
                       PPLY TO THIS SOFTWARE.
   22 00000000         ; LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPE
                       CIAL, INCIDENTAL, OR
   23 00000000         ; CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
   24 00000000         ; 
   25 00000000         ; This is part of revision 1387 of the Stellaris Periphe
                       ral Driver Library.
   26 00000000         ;
   27 00000000         ;*******************************************************
                       ***********************
   28 00000000         
   29 00000000         ;*******************************************************
                       ***********************
   30 00000000         ;
   31 00000000         ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
   32 00000000         ;
   33 00000000         ;*******************************************************
                       ***********************
   34 00000000 00000100 
                       Stack   EQU              0x00000100
   35 00000000         
   36 00000000         ;*******************************************************
                       ***********************
   37 00000000         ;
   38 00000000         ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
   39 00000000         ;
   40 00000000         ;*******************************************************
                       ***********************
   41 00000000 00000000 



ARM Macro Assembler    Page 2 


                       Heap    EQU              0x00000000
   42 00000000         
   43 00000000         ;*******************************************************
                       ***********************
   44 00000000         ;
   45 00000000         ; Allocate space for the stack.
   46 00000000         ;
   47 00000000         ;*******************************************************
                       ***********************
   48 00000000                 AREA             STACK, NOINIT, READWRITE, ALIGN
=3
   49 00000000         StackMem
   50 00000000                 SPACE            Stack
   51 00000100         __initial_sp
   52 00000100         
   53 00000100         ;*******************************************************
                       ***********************
   54 00000100         ;
   55 00000100         ; Allocate space for the heap.
   56 00000100         ;
   57 00000100         ;*******************************************************
                       ***********************
   58 00000100                 AREA             HEAP, NOINIT, READWRITE, ALIGN=
3
   59 00000000         __heap_base
   60 00000000         HeapMem
   61 00000000                 SPACE            Heap
   62 00000000         __heap_limit
   63 00000000         
   64 00000000         ;*******************************************************
                       ***********************
   65 00000000         ;
   66 00000000         ; Indicate that the code in this file preserves 8-byte a
                       lignment of the stack.
   67 00000000         ;
   68 00000000         ;*******************************************************
                       ***********************
   69 00000000                 PRESERVE8
   70 00000000         
   71 00000000         ;*******************************************************
                       ***********************
   72 00000000         ;
   73 00000000         ; Place code into the reset code section.
   74 00000000         ;
   75 00000000         ;*******************************************************
                       ***********************
   76 00000000                 AREA             RESET, CODE, READONLY
   77 00000000                 THUMB
   78 00000000         
   79 00000000         ;*******************************************************
                       ***********************
   80 00000000         ;
   81 00000000         ; The vector table.
   82 00000000         ;
   83 00000000         ;*******************************************************
                       ***********************
   84 00000000                 EXPORT           __Vectors
   85 00000000         __Vectors
   86 00000000 00000100        DCD              StackMem + Stack ; Top of Stack



ARM Macro Assembler    Page 3 


                                                            
   87 00000004 00000000        DCD              Reset_Handler ; Reset Handler
   88 00000008 00000000        DCD              NmiSR       ; NMI Handler
   89 0000000C 00000000        DCD              FaultISR    ; Hard Fault Handle
                                                            r
   90 00000010 00000000        DCD              IntDefaultHandler 
                                                            ; MPU Fault Handler
                                                            
   91 00000014 00000000        DCD              IntDefaultHandler 
                                                            ; Bus Fault Handler
                                                            
   92 00000018 00000000        DCD              IntDefaultHandler ; Usage Fault
                                                             Handler
   93 0000001C 00000000        DCD              0           ; Reserved
   94 00000020 00000000        DCD              0           ; Reserved
   95 00000024 00000000        DCD              0           ; Reserved
   96 00000028 00000000        DCD              0           ; Reserved
   97 0000002C 00000000        DCD              IntDefaultHandler 
                                                            ; SVCall Handler
   98 00000030 00000000        DCD              IntDefaultHandler ; Debug Monit
                                                            or Handler
   99 00000034 00000000        DCD              0           ; Reserved
  100 00000038 00000000        DCD              IntDefaultHandler 
                                                            ; PendSV Handler
  101 0000003C 00000000        DCD              IntDefaultHandler 
                                                            ; SysTick Handler
  102 00000040 00000000        DCD              IntDefaultHandler ; GPIO Port A
                                                            
  103 00000044 00000000        DCD              IntDefaultHandler ; GPIO Port B
                                                            
  104 00000048 00000000        DCD              IntDefaultHandler ; GPIO Port C
                                                            
  105 0000004C 00000000        DCD              IntDefaultHandler ; GPIO Port D
                                                            
  106 00000050 00000000        DCD              IntDefaultHandler ; GPIO Port E
                                                            
  107 00000054 00000000        DCD              IntDefaultHandler ; UART0
  108 00000058 00000000        DCD              IntDefaultHandler ; UART1
  109 0000005C 00000000        DCD              IntDefaultHandler ; SSI
  110 00000060 00000000        DCD              IntDefaultHandler ; I2C
  111 00000064 00000000        DCD              IntDefaultHandler ; PWM Fault
  112 00000068 00000000        DCD              IntDefaultHandler 
                                                            ; PWM Generator 0
  113 0000006C 00000000        DCD              IntDefaultHandler 
                                                            ; PWM Generator 1
  114 00000070 00000000        DCD              IntDefaultHandler 
                                                            ; PWM Generator 2
  115 00000074 00000000        DCD              IntDefaultHandler ; Quadrature 
                                                            Encoder
  116 00000078 00000000        DCD              IntDefaultHandler 
                                                            ; ADC Sequence 0
  117 0000007C 00000000        DCD              IntDefaultHandler 
                                                            ; ADC Sequence 1
  118 00000080 00000000        DCD              IntDefaultHandler 
                                                            ; ADC Sequence 2
  119 00000084 00000000        DCD              IntDefaultHandler 
                                                            ; ADC Sequence 3
  120 00000088 00000000        DCD              IntDefaultHandler ; Watchdog
  121 0000008C 00000000        DCD              IntDefaultHandler ; Timer 0A



ARM Macro Assembler    Page 4 


  122 00000090 00000000        DCD              IntDefaultHandler ; Timer 0B
  123 00000094 00000000        DCD              IntDefaultHandler ; Timer 1A
  124 00000098 00000000        DCD              IntDefaultHandler ; Timer 1B
  125 0000009C 00000000        DCD              IntDefaultHandler ; Timer 2A
  126 000000A0 00000000        DCD              IntDefaultHandler ; Timer 2B
  127 000000A4 00000000        DCD              IntDefaultHandler ; Comp 0
  128 000000A8 00000000        DCD              IntDefaultHandler ; Comp 1
  129 000000AC 00000000        DCD              IntDefaultHandler ; Comp 2
  130 000000B0 00000000        DCD              IntDefaultHandler 
                                                            ; System Control
  131 000000B4 00000000        DCD              IntDefaultHandler 
                                                            ; Flash Control
  132 000000B8 00000000        DCD              IntDefaultHandler ; GPIO Port F
                                                            
  133 000000BC 00000000        DCD              IntDefaultHandler ; GPIO Port G
                                                            
  134 000000C0 00000000        DCD              IntDefaultHandler ; GPIO Port H
                                                            
  135 000000C4 00000000        DCD              IntDefaultHandler 
                                                            ; UART2 Rx and Tx
  136 000000C8 00000000        DCD              IntDefaultHandler 
                                                            ; SSI1 Rx and Tx
  137 000000CC 00000000        DCD              IntDefaultHandler ; Timer 3 sub
                                                            timer A
  138 000000D0 00000000        DCD              IntDefaultHandler ; Timer 3 sub
                                                            timer B
  139 000000D4 00000000        DCD              IntDefaultHandler ; I2C1 Master
                                                             and Slave
  140 000000D8 00000000        DCD              IntDefaultHandler ; Quadrature 
                                                            Encoder 1
  141 000000DC 00000000        DCD              IntDefaultHandler ; CAN0
  142 000000E0 00000000        DCD              IntDefaultHandler ; CAN1
  143 000000E4 00000000        DCD              0           ; Reserved
  144 000000E8 00000000        DCD              IntDefaultHandler ; Ethernet
  145 000000EC 00000000        DCD              IntDefaultHandler ; Hibernate
  146 000000F0         
  147 000000F0         ;*******************************************************
                       ***********************
  148 000000F0         ;
  149 000000F0         ; This is the code that gets called when the processor f
                       irst starts execution
  150 000000F0         ; following a reset event.
  151 000000F0         ;
  152 000000F0         ;*******************************************************
                       ***********************
  153 000000F0                 EXPORT           Reset_Handler
  154 000000F0         Reset_Handler
  155 000000F0         ;
  156 000000F0         ; Call the C library enty point that handles startup.  T
                       his will copy
  157 000000F0         ; the .data section initializers from flash to SRAM and 
                       zero fill the
  158 000000F0         ; .bss section.  It will then call __rt_entry, which wil
                       l be either the
  159 000000F0         ; C library version or the one supplied here depending o
                       n the
  160 000000F0         ; configured startup type.
  161 000000F0         ;
  162 000000F0                 IMPORT           __main



ARM Macro Assembler    Page 5 


  163 000000F0 F7FF BFFE       B                __main
  164 000000F4         
  165 000000F4         ;*******************************************************
                       ***********************
  166 000000F4         ;
  167 000000F4         ; This is the code that gets called when the processor r
                       eceives a NMI.  This
  168 000000F4         ; simply enters an infinite loop, preserving the system 
                       state for examination
  169 000000F4         ; by a debugger.
  170 000000F4         ;
  171 000000F4         ;*******************************************************
                       ***********************
  172 000000F4         NmiSR
  173 000000F4 E7FE            B                NmiSR
  174 000000F6         
  175 000000F6         ;*******************************************************
                       ***********************
  176 000000F6         ;
  177 000000F6         ; This is the code that gets called when the processor r
                       eceives a fault
  178 000000F6         ; interrupt.  This simply enters an infinite loop, prese
                       rving the system state
  179 000000F6         ; for examination by a debugger.
  180 000000F6         ;
  181 000000F6         ;*******************************************************
                       ***********************
  182 000000F6         FaultISR
  183 000000F6 E7FE            B                FaultISR
  184 000000F8         
  185 000000F8         ;*******************************************************
                       ***********************
  186 000000F8         ;
  187 000000F8         ; This is the code that gets called when the processor r
                       eceives an unexpected
  188 000000F8         ; interrupt.  This simply enters an infinite loop, prese
                       rving the system state
  189 000000F8         ; for examination by a debugger.
  190 000000F8         ;
  191 000000F8         ;*******************************************************
                       ***********************
  192 000000F8         IntDefaultHandler
  193 000000F8 E7FE            B                IntDefaultHandler
  194 000000FA         
  195 000000FA         ;*******************************************************
                       ***********************
  196 000000FA         ;
  197 000000FA         ; Make sure the end of this section is aligned.
  198 000000FA         ;
  199 000000FA         ;*******************************************************
                       ***********************
  200 000000FA 00 00           ALIGN
  201 000000FC         
  202 000000FC         ;*******************************************************
                       ***********************
  203 000000FC         ;
  204 000000FC         ; Some code in the normal code section for initializing 
                       the heap and stack.
  205 000000FC         ;



ARM Macro Assembler    Page 6 


  206 000000FC         ;*******************************************************
                       ***********************
  207 000000FC                 AREA             |.text|, CODE, READONLY
  208 00000000         
  209 00000000         ;*******************************************************
                       ***********************
  210 00000000         ;
  211 00000000         ; The function expected of the C library startup code fo
                       r defining the stack
  212 00000000         ; and heap memory locations.  For the C library version 
                       of the startup code,
  213 00000000         ; provide this function so that the C library initializa
                       tion code can find out
  214 00000000         ; the location of the stack and heap.
  215 00000000         ;
  216 00000000         ;*******************************************************
                       ***********************
  217 00000000                 IF               :DEF: __MICROLIB
  222 00000000                 IMPORT           __use_two_region_memory
  223 00000000                 EXPORT           __user_initial_stackheap
  224 00000000         __user_initial_stackheap
  225 00000000 4802            LDR              R0, =HeapMem
  226 00000002 4903            LDR              R1, =(StackMem + Stack)
  227 00000004 4A01            LDR              R2, =(HeapMem + Heap)
  228 00000006 4B03            LDR              R3, =StackMem
  229 00000008 4770            BX               LR
  230 0000000A                 ENDIF
  231 0000000A         
  232 0000000A         ;*******************************************************
                       ***********************
  233 0000000A         ;
  234 0000000A         ; Make sure the end of this section is aligned.
  235 0000000A         ;
  236 0000000A         ;*******************************************************
                       ***********************
  237 0000000A 00 00           ALIGN
  238 0000000C         
  239 0000000C         ;*******************************************************
                       ***********************
  240 0000000C         ;
  241 0000000C         ; Tell the assembler that we're done.
  242 0000000C         ;
  243 0000000C         ;*******************************************************
                       ***********************
  244 0000000C                 END
              00000000 
              00000100 
              00000000 
Command Line: --debug --xref --device=DLM --apcs=interwork -o.\OUTPUT\Startup.o
 -IC:\Keil\ARM\INC\Luminary --list=.\OUTPUT\Startup.lst Startup.s



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

STACK 00000000

Symbol: STACK
   Definitions
      At line 48 in file Startup.s
   Uses
      None
Comment: STACK unused
StackMem 00000000

Symbol: StackMem
   Definitions
      At line 49 in file Startup.s
   Uses
      At line 86 in file Startup.s
      At line 226 in file Startup.s
      At line 228 in file Startup.s

__initial_sp 00000100

Symbol: __initial_sp
   Definitions
      At line 51 in file Startup.s
   Uses
      None
Comment: __initial_sp unused
3 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

HEAP 00000000

Symbol: HEAP
   Definitions
      At line 58 in file Startup.s
   Uses
      None
Comment: HEAP unused
HeapMem 00000000

Symbol: HeapMem
   Definitions
      At line 60 in file Startup.s
   Uses
      At line 225 in file Startup.s
      At line 227 in file Startup.s

__heap_base 00000000

Symbol: __heap_base
   Definitions
      At line 59 in file Startup.s
   Uses
      None
Comment: __heap_base unused
__heap_limit 00000000

Symbol: __heap_limit
   Definitions
      At line 62 in file Startup.s
   Uses
      None
Comment: __heap_limit unused
4 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

FaultISR 000000F6

Symbol: FaultISR
   Definitions
      At line 182 in file Startup.s
   Uses
      At line 89 in file Startup.s
      At line 183 in file Startup.s

IntDefaultHandler 000000F8

Symbol: IntDefaultHandler
   Definitions
      At line 192 in file Startup.s
   Uses
      At line 90 in file Startup.s
      At line 91 in file Startup.s
      At line 92 in file Startup.s
      At line 97 in file Startup.s
      At line 98 in file Startup.s
      At line 100 in file Startup.s
      At line 101 in file Startup.s
      At line 102 in file Startup.s
      At line 103 in file Startup.s
      At line 104 in file Startup.s
      At line 105 in file Startup.s
      At line 106 in file Startup.s
      At line 107 in file Startup.s
      At line 108 in file Startup.s
      At line 109 in file Startup.s
      At line 110 in file Startup.s
      At line 111 in file Startup.s
      At line 112 in file Startup.s
      At line 113 in file Startup.s
      At line 114 in file Startup.s
      At line 115 in file Startup.s
      At line 116 in file Startup.s
      At line 117 in file Startup.s
      At line 118 in file Startup.s
      At line 119 in file Startup.s
      At line 120 in file Startup.s
      At line 121 in file Startup.s
      At line 122 in file Startup.s
      At line 123 in file Startup.s
      At line 124 in file Startup.s
      At line 125 in file Startup.s
      At line 126 in file Startup.s
      At line 127 in file Startup.s
      At line 128 in file Startup.s
      At line 129 in file Startup.s
      At line 130 in file Startup.s
      At line 131 in file Startup.s
      At line 132 in file Startup.s
      At line 133 in file Startup.s
      At line 134 in file Startup.s
      At line 135 in file Startup.s
      At line 136 in file Startup.s
      At line 137 in file Startup.s
      At line 138 in file Startup.s



ARM Macro Assembler    Page 2 Alphabetic symbol ordering
Relocatable symbols

      At line 139 in file Startup.s
      At line 140 in file Startup.s
      At line 141 in file Startup.s
      At line 142 in file Startup.s
      At line 144 in file Startup.s
      At line 145 in file Startup.s
      At line 193 in file Startup.s

NmiSR 000000F4

Symbol: NmiSR
   Definitions
      At line 172 in file Startup.s
   Uses
      At line 88 in file Startup.s
      At line 173 in file Startup.s

RESET 00000000

Symbol: RESET
   Definitions
      At line 76 in file Startup.s
   Uses
      None
Comment: RESET unused
Reset_Handler 000000F0

Symbol: Reset_Handler
   Definitions
      At line 154 in file Startup.s
   Uses
      At line 87 in file Startup.s
      At line 153 in file Startup.s

__Vectors 00000000

Symbol: __Vectors
   Definitions
      At line 85 in file Startup.s
   Uses
      At line 84 in file Startup.s
Comment: __Vectors used once
6 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

.text 00000000

Symbol: .text
   Definitions
      At line 207 in file Startup.s
   Uses
      None
Comment: .text unused
__user_initial_stackheap 00000000

Symbol: __user_initial_stackheap
   Definitions
      At line 224 in file Startup.s
   Uses
      At line 223 in file Startup.s
Comment: __user_initial_stackheap used once
2 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

.debug_info$$$RESET 00000000

Symbol: .debug_info$$$RESET
   Definitions
      None
   Uses
      None
Warning: .debug_info$$$RESET undefinedComment: .debug_info$$$RESET unused
1 symbol



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

.debug_line$$$RESET 00000000

Symbol: .debug_line$$$RESET
   Definitions
      None
   Uses
      None
Warning: .debug_line$$$RESET undefinedComment: .debug_line$$$RESET unused
1 symbol



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

.debug_info$$$.text 00000000

Symbol: .debug_info$$$.text
   Definitions
      None
   Uses
      None
Warning: .debug_info$$$.text undefinedComment: .debug_info$$$.text unused
1 symbol



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

.debug_line$$$.text 00000000

Symbol: .debug_line$$$.text
   Definitions
      None
   Uses
      None
Warning: .debug_line$$$.text undefinedComment: .debug_line$$$.text unused
1 symbol



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

.debug_abbrev 00000000

Symbol: .debug_abbrev
   Definitions
      None
   Uses
      None
Warning: .debug_abbrev undefinedComment: .debug_abbrev unused
__ARM_asm.debug_abbrev 00000000

Symbol: __ARM_asm.debug_abbrev
   Definitions
      None
   Uses
      None
Warning: __ARM_asm.debug_abbrev undefinedComment: __ARM_asm.debug_abbrev unused
2 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Absolute symbols

Heap 00000000

Symbol: Heap
   Definitions
      At line 41 in file Startup.s
   Uses
      At line 61 in file Startup.s
      At line 227 in file Startup.s

Stack 00000100

Symbol: Stack
   Definitions
      At line 34 in file Startup.s
   Uses
      At line 50 in file Startup.s
      At line 86 in file Startup.s
      At line 226 in file Startup.s

2 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
External symbols

__main 00000000

Symbol: __main
   Definitions
      At line 162 in file Startup.s
   Uses
      At line 163 in file Startup.s
Comment: __main used once
__use_two_region_memory 00000000

Symbol: __use_two_region_memory
   Definitions
      At line 222 in file Startup.s
   Uses
      None
Comment: __use_two_region_memory unused
2 symbols
346 symbols in table
