123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 |
- 1 # 0 "deps//hal/stm32f3/stm32f3_startup.S"
- 2 # 0 "<built-in>"
- 3 # 0 "<command-line>"
- 4 # 1 "deps//hal/stm32f3/stm32f3_startup.S"
- 1 /**
- 2 ******************************************************************************
- 3 * @file startup_stm32.s
- 4 * @author Ac6
- 5 * @version V1.0.0
- 6 * @date 12-June-2014
- 7 ******************************************************************************
- 8 */
- 9
- 10 .syntax unified
- 11 .cpu cortex-m4
- 12 .thumb
- 13
- 14 .global g_pfnVectors
- 15 .global Default_Handler
- 16
- 17 /* start address for the initialization values of the .data section.
- 18 defined in linker script */
- 19 0000 00000000 .word _sidata
- 20 /* start address for the .data section. defined in linker script */
- 21 0004 00000000 .word _sdata
- 22 /* end address for the .data section. defined in linker script */
- 23 0008 00000000 .word _edata
- 24 /* start address for the .bss section. defined in linker script */
- 25 000c 00000000 .word _sbss
- 26 /* end address for the .bss section. defined in linker script */
- 27 0010 00000000 .word _ebss
- 28
- 29 .equ BootRAM, 0xF1E0F85F
- 30 /**
- 31 * @brief This is the code that gets called when the processor first
- 32 * starts execution following a reset event. Only the absolutely
- 33 * necessary set is performed, after which the application
- 34 * supplied main() routine is called.
- 35 * @param None
- 36 * @retval : None
- 37 */
- 38
- 39 .section .text.Reset_Handler
- 40 .weak Reset_Handler
- 42 Reset_Handler:
- 43
- 44 /* Copy the data segment initializers from flash to SRAM */
- 45:deps//hal/stm32f3/stm32f3_startup.S **** movs r1, #0
- 46:deps//hal/stm32f3/stm32f3_startup.S **** b LoopCopyDataInit
- 47
- 48 CopyDataInit:
- 49:deps//hal/stm32f3/stm32f3_startup.S **** ldr r3, =_sidata
- 50:deps//hal/stm32f3/stm32f3_startup.S **** ldr r3, [r3, r1]
- 51:deps//hal/stm32f3/stm32f3_startup.S **** str r3, [r0, r1]
- 52:deps//hal/stm32f3/stm32f3_startup.S **** adds r1, r1, #4
- 53
- 54 LoopCopyDataInit:
- 55:deps//hal/stm32f3/stm32f3_startup.S **** ldr r0, =_sdata
- 56:deps//hal/stm32f3/stm32f3_startup.S **** ldr r3, =_edata
- 57:deps//hal/stm32f3/stm32f3_startup.S **** adds r2, r0, r1
- 58:deps//hal/stm32f3/stm32f3_startup.S **** cmp r2, r3
- 59:deps//hal/stm32f3/stm32f3_startup.S **** bcc CopyDataInit
- 60:deps//hal/stm32f3/stm32f3_startup.S **** ldr r2, =_sbss
- 61:deps//hal/stm32f3/stm32f3_startup.S **** b LoopFillZerobss
- 62 /* Zero fill the bss segment. */
- 63 FillZerobss:
- 64:deps//hal/stm32f3/stm32f3_startup.S **** movs r3, #0
- 65:deps//hal/stm32f3/stm32f3_startup.S **** str r3, [r2]
- 66:deps//hal/stm32f3/stm32f3_startup.S **** adds r2, r2, #4
- 67
- 68 LoopFillZerobss:
- 69:deps//hal/stm32f3/stm32f3_startup.S **** ldr r3, = _ebss
- 70:deps//hal/stm32f3/stm32f3_startup.S **** cmp r2, r3
- 71:deps//hal/stm32f3/stm32f3_startup.S **** bcc FillZerobss
- 72
- 73 /* Call the clock system intitialization function.*/
- 74:deps//hal/stm32f3/stm32f3_startup.S **** bl SystemInit
- 75 /* Call static constructors */
- 76:deps//hal/stm32f3/stm32f3_startup.S **** bl __libc_init_array
- 77 /* Call the application's entry point.*/
- 78:deps//hal/stm32f3/stm32f3_startup.S **** bl main
- 79
- 80
- 81
- 82 LoopForever:
- 83:deps//hal/stm32f3/stm32f3_startup.S **** b LoopForever
- 84
- 86
- 87 /**
- 88 * @brief This is the code that gets called when the processor receives an
- 89 * unexpected interrupt. This simply enters an infinite loop, preserving
- 90 * the system state for examination by a debugger.
- 91 *
- 92 * @param None
- 93 * @retval : None
- 94 */
- 95 .section .text.Default_Handler,"ax",%progbits
- 96 Default_Handler:
- 97 Infinite_Loop:
- 98:deps//hal/stm32f3/stm32f3_startup.S **** b Infinite_Loop
- 100 /******************************************************************************
- 101 *
- 102 * The minimal vector table for a Cortex-M. Note that the proper constructs
- 103 * must be placed on this to ensure that it ends up at physical address
- 104 * 0x0000.0000.
- 105 *
- 106 ******************************************************************************/
- 107 .section .isr_vector,"a",%progbits
- 110
- 111 g_pfnVectors:
- 112 0000 00000000 .word _estack
- 113 0004 00000000 .word Reset_Handler
- 114 0008 00000000 .word NMI_Handler
- 115 000c 00000000 .word HardFault_Handler
- 116 0010 00000000 .word MemManage_Handler
- 117 0014 00000000 .word BusFault_Handler
- 118 0018 00000000 .word UsageFault_Handler
- 119 001c 00000000 .word 0
- 120 0020 00000000 .word 0
- 121 0024 00000000 .word 0
- 122 0028 00000000 .word 0
- 123 002c 00000000 .word SVC_Handler
- 124 0030 00000000 .word DebugMon_Handler
- 125 0034 00000000 .word 0
- 126 0038 00000000 .word PendSV_Handler
- 127 003c 00000000 .word SysTick_Handler
- 128 0040 00000000 .word 0
- 129 0044 00000000 .word 0
- 130 0048 00000000 .word 0
- 131 004c 00000000 .word 0
- 132 0050 00000000 .word 0
- 133 0054 00000000 .word 0
- 134 0058 00000000 .word 0
- 135 005c 00000000 .word 0
- 136 0060 00000000 .word 0
- 137 0064 00000000 .word 0
- 138 0068 00000000 .word 0
- 139 006c 00000000 .word 0
- 140 0070 00000000 .word 0
- 141 0074 00000000 .word 0
- 142 0078 00000000 .word 0
- 143 007c 00000000 .word 0
- 144 0080 00000000 .word 0
- 145 0084 00000000 .word 0
- 146 0088 00000000 .word 0
- 147 008c 00000000 .word 0
- 148 0090 00000000 .word 0
- 149 0094 00000000 .word 0
- 150 0098 00000000 .word 0
- 151 009c 00000000 .word 0
- 152 00a0 00000000 .word 0
- 153 00a4 00000000 .word 0
- 154 00a8 00000000 .word 0
- 155 00ac 00000000 .word 0
- 156 00b0 00000000 .word 0
- 157 00b4 00000000 .word 0
- 158 00b8 00000000 .word 0
- 159 00bc 00000000 .word 0
- 160 00c0 00000000 .word 0
- 161 00c4 00000000 .word 0
- 162 00c8 00000000 .word 0
- 163 00cc 00000000 .word 0
- 164 00d0 00000000 .word 0
- 165 00d4 00000000 .word 0
- 166 00d8 00000000 .word 0
- 167 00dc 00000000 .word 0
- 168 00e0 00000000 .word 0
- 169 00e4 00000000 .word 0
- 170 00e8 00000000 .word 0
- 171 00ec 00000000 .word 0
- 172 00f0 00000000 .word 0
- 173 00f4 00000000 .word 0
- 174 00f8 00000000 .word 0
- 175 00fc 00000000 .word 0
- 176 0100 00000000 .word 0
- 177 0104 00000000 .word 0
- 178 0108 00000000 .word 0
- 179 010c 00000000 .word 0
- 180 0110 00000000 .word 0
- 181 0114 00000000 .word 0
- 182 0118 00000000 .word 0
- 183 011c 00000000 .word 0
- 184 0120 00000000 .word 0
- 185 0124 00000000 .word 0
- 186 0128 00000000 .word 0
- 187 012c 00000000 .word 0
- 188 0130 00000000 .word 0
- 189 0134 00000000 .word 0
- 190 0138 00000000 .word 0
- 191 013c 00000000 .word 0
- 192 0140 00000000 .word 0
- 193 0144 00000000 .word 0
- 194 0148 00000000 .word 0
- 195 014c 00000000 .word 0
- 196 0150 00000000 .word 0
- 197 0154 00000000 .word 0
- 198 0158 00000000 .word 0
- 199 015c 00000000 .word 0
- 200 0160 00000000 .word 0
- 201 0164 00000000 .word 0
- 202 0168 00000000 .word 0
- 203 016c 00000000 .word 0
- 204 0170 00000000 .word 0
- 205 0174 00000000 .word 0
- 206 0178 00000000 .word 0
- 207 017c 00000000 .word 0
- 208 0180 00000000 .word 0
- 209 0184 00000000 .word 0
- 210
- 211 /*******************************************************************************
- 212 *
- 213 * Provide weak aliases for each Exception handler to the Default_Handler.
- 214 * As they are weak aliases, any function with the same name will override
- 215 * this definition.
- 216 *
- 217 *******************************************************************************/
- 218
- 219 .weak NMI_Handler
- 220 .thumb_set NMI_Handler,Default_Handler
- 221
- 222 .weak HardFault_Handler
- 223 .thumb_set HardFault_Handler,Default_Handler
- 224
- 225 .weak MemManage_Handler
- 226 .thumb_set MemManage_Handler,Default_Handler
- 227
- 228 .weak BusFault_Handler
- 229 .thumb_set BusFault_Handler,Default_Handler
- 230
- 231 .weak UsageFault_Handler
- 232 .thumb_set UsageFault_Handler,Default_Handler
- 233
- 234 .weak SVC_Handler
- 235 .thumb_set SVC_Handler,Default_Handler
- 236
- 237 .weak DebugMon_Handler
- 238 .thumb_set DebugMon_Handler,Default_Handler
- 239
- 240 .weak PendSV_Handler
- 241 .thumb_set PendSV_Handler,Default_Handler
- 242
- 243 .weak SysTick_Handler
- 244 .thumb_set SysTick_Handler,Default_Handler
- 245
- 246 .weak SystemInit
- DEFINED SYMBOLS
- deps//hal/stm32f3/stm32f3_startup.S:111 .isr_vector:0000000000000000 g_pfnVectors
- deps//hal/stm32f3/stm32f3_startup.S:96 .text.Default_Handler:0000000000000000 Default_Handler
- deps//hal/stm32f3/stm32f3_startup.S:29 *ABS*:00000000f1e0f85f BootRAM
- deps//hal/stm32f3/stm32f3_startup.S:42 .text.Reset_Handler:0000000000000000 Reset_Handler
- deps//hal/stm32f3/stm32f3_startup.S:45 .text.Reset_Handler:0000000000000000 $t
- deps//hal/stm32f3/stm32f3_startup.S:54 .text.Reset_Handler:000000000000000c LoopCopyDataInit
- deps//hal/stm32f3/stm32f3_startup.S:48 .text.Reset_Handler:0000000000000004 CopyDataInit
- deps//hal/stm32f3/stm32f3_startup.S:68 .text.Reset_Handler:0000000000000020 LoopFillZerobss
- deps//hal/stm32f3/stm32f3_startup.S:63 .text.Reset_Handler:000000000000001a FillZerobss
- deps//hal/stm32f3/stm32f3_startup.S:82 .text.Reset_Handler:0000000000000032 LoopForever
- deps//hal/stm32f3/stm32f3_startup.S:97 .text.Default_Handler:0000000000000000 Infinite_Loop
- deps//hal/stm32f3/stm32f3_startup.S:98 .text.Default_Handler:0000000000000000 $t
- deps//hal/stm32f3/stm32f3_startup.S:96 .text.Default_Handler:0000000000000000 NMI_Handler
- deps//hal/stm32f3/stm32f3_startup.S:96 .text.Default_Handler:0000000000000000 HardFault_Handler
- deps//hal/stm32f3/stm32f3_startup.S:96 .text.Default_Handler:0000000000000000 MemManage_Handler
- deps//hal/stm32f3/stm32f3_startup.S:96 .text.Default_Handler:0000000000000000 BusFault_Handler
- deps//hal/stm32f3/stm32f3_startup.S:96 .text.Default_Handler:0000000000000000 UsageFault_Handler
- deps//hal/stm32f3/stm32f3_startup.S:96 .text.Default_Handler:0000000000000000 SVC_Handler
- deps//hal/stm32f3/stm32f3_startup.S:96 .text.Default_Handler:0000000000000000 DebugMon_Handler
- deps//hal/stm32f3/stm32f3_startup.S:96 .text.Default_Handler:0000000000000000 PendSV_Handler
- deps//hal/stm32f3/stm32f3_startup.S:96 .text.Default_Handler:0000000000000000 SysTick_Handler
- deps//hal/stm32f3/stm32f3_startup.S:246 .text.Reset_Handler:0000000000000034 $d
- .text:0000000000000000 $d
- UNDEFINED SYMBOLS
- _sidata
- _sdata
- _edata
- _sbss
- _ebss
- SystemInit
- __libc_init_array
- main
- _estack
|