


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         ; External declarations for the interrupt handlers used 
                       by the application.
   82 00000000         ;
   83 00000000         ;*******************************************************
                       ***********************
   84 00000000                 EXTERN           Timer1IntHandler
   85 00000000         ;*******************************************************



ARM Macro Assembler    Page 3 


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



ARM Macro Assembler    Page 4 


                                                            ; ADC Sequence 0
  123 0000007C 00000000        DCD              IntDefaultHandler 
                                                            ; ADC Sequence 1
  124 00000080 00000000        DCD              IntDefaultHandler 
                                                            ; ADC Sequence 2
  125 00000084 00000000        DCD              IntDefaultHandler 
                                                            ; ADC Sequence 3
  126 00000088 00000000        DCD              IntDefaultHandler ; Watchdog
  127 0000008C 00000000        DCD              IntDefaultHandler ; Timer 0A
  128 00000090 00000000        DCD              IntDefaultHandler ; Timer 0B
  129 00000094 00000000        DCD              Timer1IntHandler ; Timer 1A
  130 00000098 00000000        DCD              IntDefaultHandler ; Timer 1B
  131 0000009C 00000000        DCD              IntDefaultHandler ; Timer 2A
  132 000000A0 00000000        DCD              IntDefaultHandler ; Timer 2B
  133 000000A4 00000000        DCD              IntDefaultHandler ; Comp 0
  134 000000A8 00000000        DCD              IntDefaultHandler ; Comp 1
  135 000000AC 00000000        DCD              IntDefaultHandler ; Comp 2
  136 000000B0 00000000        DCD              IntDefaultHandler 
                                                            ; System Control
  137 000000B4 00000000        DCD              IntDefaultHandler 
                                                            ; Flash Control
  138 000000B8 00000000        DCD              IntDefaultHandler ; GPIO Port F
                                                            
  139 000000BC 00000000        DCD              IntDefaultHandler ; GPIO Port G
                                                            
  140 000000C0 00000000        DCD              IntDefaultHandler ; GPIO Port H
                                                            
  141 000000C4 00000000        DCD              IntDefaultHandler 
                                                            ; UART2 Rx and Tx
  142 000000C8 00000000        DCD              IntDefaultHandler 
                                                            ; SSI1 Rx and Tx
  143 000000CC 00000000        DCD              IntDefaultHandler ; Timer 3 sub
                                                            timer A
  144 000000D0 00000000        DCD              IntDefaultHandler ; Timer 3 sub
                                                            timer B
  145 000000D4 00000000        DCD              IntDefaultHandler ; I2C1 Master
                                                             and Slave
  146 000000D8 00000000        DCD              IntDefaultHandler ; Quadrature 
                                                            Encoder 1
  147 000000DC 00000000        DCD              IntDefaultHandler ; CAN0
  148 000000E0 00000000        DCD              IntDefaultHandler ; CAN1
  149 000000E4 00000000        DCD              0           ; Reserved
  150 000000E8 00000000        DCD              IntDefaultHandler ; Ethernet
  151 000000EC 00000000        DCD              IntDefaultHandler ; Hibernate
  152 000000F0         
  153 000000F0         ;*******************************************************
                       ***********************
  154 000000F0         ;
  155 000000F0         ; This is the code that gets called when the processor f
                       irst starts execution
  156 000000F0         ; following a reset event.
  157 000000F0         ;
  158 000000F0         ;*******************************************************
                       ***********************
  159 000000F0                 EXPORT           Reset_Handler
  160 000000F0         Reset_Handler
  161 000000F0         ;
  162 000000F0         ; Call the C library enty point that handles startup.  T
                       his will copy



ARM Macro Assembler    Page 5 


  163 000000F0         ; the .data section initializers from flash to SRAM and 
                       zero fill the
  164 000000F0         ; .bss section.  It will then call __rt_entry, which wil
                       l be either the
  165 000000F0         ; C library version or the one supplied here depending o
                       n the
  166 000000F0         ; configured startup type.
  167 000000F0         ;
  168 000000F0                 IMPORT           __main
  169 000000F0 F7FF BFFE       B                __main
  170 000000F4         
  171 000000F4         ;*******************************************************
                       ***********************
  172 000000F4         ;
  173 000000F4         ; This is the code that gets called when the processor r
                       eceives a NMI.  This
  174 000000F4         ; simply enters an infinite loop, preserving the system 
                       state for examination
  175 000000F4         ; by a debugger.
  176 000000F4         ;
  177 000000F4         ;*******************************************************
                       ***********************
  178 000000F4         NmiSR
  179 000000F4 E7FE            B                NmiSR
  180 000000F6         
  181 000000F6         ;*******************************************************
                       ***********************
  182 000000F6         ;
  183 000000F6         ; This is the code that gets called when the processor r
                       eceives a fault
  184 000000F6         ; interrupt.  This simply enters an infinite loop, prese
                       rving the system state
  185 000000F6         ; for examination by a debugger.
  186 000000F6         ;
  187 000000F6         ;*******************************************************
                       ***********************
  188 000000F6         FaultISR
  189 000000F6 E7FE            B                FaultISR
  190 000000F8         
  191 000000F8         ;*******************************************************
                       ***********************
  192 000000F8         ;
  193 000000F8         ; This is the code that gets called when the processor r
                       eceives an unexpected
  194 000000F8         ; interrupt.  This simply enters an infinite loop, prese
                       rving the system state
  195 000000F8         ; for examination by a debugger.
  196 000000F8         ;
  197 000000F8         ;*******************************************************
                       ***********************
  198 000000F8         IntDefaultHandler
  199 000000F8 E7FE            B                IntDefaultHandler
  200 000000FA         
  201 000000FA         ;*******************************************************
                       ***********************
  202 000000FA         ;
  203 000000FA         ; Make sure the end of this section is aligned.
  204 000000FA         ;
  205 000000FA         ;*******************************************************



ARM Macro Assembler    Page 6 


                       ***********************
  206 000000FA 00 00           ALIGN
  207 000000FC         
  208 000000FC         ;*******************************************************
                       ***********************
  209 000000FC         ;
  210 000000FC         ; Some code in the normal code section for initializing 
                       the heap and stack.
  211 000000FC         ;
  212 000000FC         ;*******************************************************
                       ***********************
  213 000000FC                 AREA             |.text|, CODE, READONLY
  214 00000000         
  215 00000000         ;*******************************************************
                       ***********************
  216 00000000         ;
  217 00000000         ; The function expected of the C library startup code fo
                       r defining the stack
  218 00000000         ; and heap memory locations.  For the C library version 
                       of the startup code,
  219 00000000         ; provide this function so that the C library initializa
                       tion code can find out
  220 00000000         ; the location of the stack and heap.
  221 00000000         ;
  222 00000000         ;*******************************************************
                       ***********************
  223 00000000                 IF               :DEF: __MICROLIB
  228 00000000                 IMPORT           __use_two_region_memory
  229 00000000                 EXPORT           __user_initial_stackheap
  230 00000000         __user_initial_stackheap
  231 00000000 4802            LDR              R0, =HeapMem
  232 00000002 4903            LDR              R1, =(StackMem + Stack)
  233 00000004 4A01            LDR              R2, =(HeapMem + Heap)
  234 00000006 4B03            LDR              R3, =StackMem
  235 00000008 4770            BX               LR
  236 0000000A                 ENDIF
  237 0000000A         
  238 0000000A         ;*******************************************************
                       ***********************
  239 0000000A         ;
  240 0000000A         ; Make sure the end of this section is aligned.
  241 0000000A         ;
  242 0000000A         ;*******************************************************
                       ***********************
  243 0000000A 00 00           ALIGN
  244 0000000C         
  245 0000000C         ;*******************************************************
                       ***********************
  246 0000000C         ;
  247 0000000C         ; Tell the assembler that we're done.
  248 0000000C         ;
  249 0000000C         ;*******************************************************
                       ***********************
  250 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 92 in file Startup.s
      At line 232 in file Startup.s
      At line 234 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 231 in file Startup.s
      At line 233 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 188 in file Startup.s
   Uses
      At line 95 in file Startup.s
      At line 189 in file Startup.s

IntDefaultHandler 000000F8

Symbol: IntDefaultHandler
   Definitions
      At line 198 in file Startup.s
   Uses
      At line 96 in file Startup.s
      At line 97 in file Startup.s
      At line 98 in file Startup.s
      At line 103 in file Startup.s
      At line 104 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 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
      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 143 in file Startup.s
      At line 144 in file Startup.s
      At line 145 in file Startup.s



ARM Macro Assembler    Page 2 Alphabetic symbol ordering
Relocatable symbols

      At line 146 in file Startup.s
      At line 147 in file Startup.s
      At line 148 in file Startup.s
      At line 150 in file Startup.s
      At line 151 in file Startup.s
      At line 199 in file Startup.s

NmiSR 000000F4

Symbol: NmiSR
   Definitions
      At line 178 in file Startup.s
   Uses
      At line 94 in file Startup.s
      At line 179 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 160 in file Startup.s
   Uses
      At line 93 in file Startup.s
      At line 159 in file Startup.s

__Vectors 00000000

Symbol: __Vectors
   Definitions
      At line 91 in file Startup.s
   Uses
      At line 90 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 213 in file Startup.s
   Uses
      None
Comment: .text unused
__user_initial_stackheap 00000000

Symbol: __user_initial_stackheap
   Definitions
      At line 230 in file Startup.s
   Uses
      At line 229 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 233 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 92 in file Startup.s
      At line 232 in file Startup.s

2 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
External symbols

Timer1IntHandler 00000000

Symbol: Timer1IntHandler
   Definitions
      At line 84 in file Startup.s
   Uses
      At line 129 in file Startup.s
Comment: Timer1IntHandler used once
__main 00000000

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

Symbol: __use_two_region_memory
   Definitions
      At line 228 in file Startup.s
   Uses
      None
Comment: __use_two_region_memory unused
3 symbols
347 symbols in table
