Rev 51 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 51 | Rev 61 | ||
|---|---|---|---|
| Line 60... | Line 60... | ||
| 60 | .weak Reset_Handler |
60 | .weak Reset_Handler |
| 61 | .type Reset_Handler, %function |
61 | .type Reset_Handler, %function |
| 62 | Reset_Handler: |
62 | Reset_Handler: |
| 63 | 63 | ||
| 64 | /* Copy the data segment initializers from flash to SRAM */ |
64 | /* Copy the data segment initializers from flash to SRAM */ |
| - | 65 | ldr r0, =_sdata |
|
| - | 66 | ldr r1, =_edata |
|
| - | 67 | ldr r2, =_sidata |
|
| 65 | movs r1, #0 |
68 | movs r3, #0 |
| 66 | b LoopCopyDataInit |
69 | b LoopCopyDataInit |
| 67 | 70 | ||
| 68 | CopyDataInit: |
71 | CopyDataInit: |
| 69 | ldr r3, =_sidata |
- | |
| 70 | ldr r3, [r3, r1] |
72 | ldr r4, [r2, r3] |
| 71 | str r3, [r0, r1] |
73 | str r4, [r0, r3] |
| 72 | adds r1, r1, #4 |
74 | adds r3, r3, #4 |
| 73 | 75 | ||
| 74 | LoopCopyDataInit: |
76 | LoopCopyDataInit: |
| 75 | ldr r0, =_sdata |
- | |
| 76 | ldr r3, =_edata |
- | |
| 77 | adds r2, r0, r1 |
77 | adds r4, r0, r3 |
| 78 | cmp r2, r3 |
78 | cmp r4, r1 |
| 79 | bcc CopyDataInit |
79 | bcc CopyDataInit |
| - | 80 | ||
| - | 81 | /* Zero fill the bss segment. */ |
|
| 80 | ldr r2, =_sbss |
82 | ldr r2, =_sbss |
| - | 83 | ldr r4, =_ebss |
|
| - | 84 | movs r3, #0 |
|
| 81 | b LoopFillZerobss |
85 | b LoopFillZerobss |
| 82 | /* Zero fill the bss segment. */ |
- | |
| - | 86 | ||
| 83 | FillZerobss: |
87 | FillZerobss: |
| 84 | movs r3, #0 |
88 | str r3, [r2] |
| 85 | str r3, [r2], #4 |
89 | adds r2, r2, #4 |
| 86 | 90 | ||
| 87 | LoopFillZerobss: |
91 | LoopFillZerobss: |
| 88 | ldr r3, = _ebss |
- | |
| 89 | cmp r2, r3 |
92 | cmp r2, r4 |
| 90 | bcc FillZerobss |
93 | bcc FillZerobss |
| 91 | 94 | ||
| 92 | /* Call the clock system intitialization function.*/ |
95 | /* Call the clock system intitialization function.*/ |
| 93 | bl SystemInit |
96 | bl SystemInit |
| 94 | /* Call static constructors */ |
97 | /* Call static constructors */ |