aboutsummaryrefslogtreecommitdiff
path: root/lockopt_vanilla.asm
blob: 6c9d90cc386aa1aec06344659c7361e08cb4db4e (plain) (blame)
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173

target/thumbv7m-none-eabi/release/examples/lockopt:     file format elf32-littlearm


Disassembly of section .text:

000000f0 <GPIOA>:
  f0:	b580      	push	{r7, lr}
  f2:	20a0      	movs	r0, #160	; 0xa0
  f4:	f380 8811 	msr	BASEPRI, r0
  f8:	f240 0000 	movw	r0, #0
  fc:	f2c2 0000 	movt	r0, #8192	; 0x2000
 100:	6801      	ldr	r1, [r0, #0]
 102:	3101      	adds	r1, #1
 104:	6001      	str	r1, [r0, #0]
 106:	f24e 2000 	movw	r0, #57856	; 0xe200
 10a:	2102      	movs	r1, #2
 10c:	f2ce 0000 	movt	r0, #57344	; 0xe000
 110:	6001      	str	r1, [r0, #0]
 112:	2104      	movs	r1, #4
 114:	6001      	str	r1, [r0, #0]
 116:	2126      	movs	r1, #38	; 0x26
 118:	20e0      	movs	r0, #224	; 0xe0
 11a:	f380 8811 	msr	BASEPRI, r0
 11e:	f2c0 0102 	movt	r1, #2
 122:	2018      	movs	r0, #24
 124:	f000 f892 	bl	24c <__syscall>
 128:	2000      	movs	r0, #0
 12a:	f380 8811 	msr	BASEPRI, r0
 12e:	bd80      	pop	{r7, pc}

00000130 <GPIOB>:
 130:	21a0      	movs	r1, #160	; 0xa0
 132:	f3ef 8011 	mrs	r0, BASEPRI
 136:	f381 8811 	msr	BASEPRI, r1
 13a:	f240 0100 	movw	r1, #0
 13e:	f2c2 0100 	movt	r1, #8192	; 0x2000
 142:	680a      	ldr	r2, [r1, #0]
 144:	3201      	adds	r2, #1
 146:	600a      	str	r2, [r1, #0]
 148:	21c0      	movs	r1, #192	; 0xc0
 14a:	f381 8811 	msr	BASEPRI, r1
 14e:	f380 8811 	msr	BASEPRI, r0
 152:	4770      	bx	lr

00000154 <GPIOC>:
 154:	f240 0100 	movw	r1, #0
 158:	f3ef 8011 	mrs	r0, BASEPRI
 15c:	f2c2 0100 	movt	r1, #8192	; 0x2000
 160:	680a      	ldr	r2, [r1, #0]
 162:	3202      	adds	r2, #2
 164:	600a      	str	r2, [r1, #0]
 166:	f380 8811 	msr	BASEPRI, r0
 16a:	4770      	bx	lr

0000016c <main>:
 16c:	f24e 1000 	movw	r0, #57600	; 0xe100
 170:	f24e 4201 	movw	r2, #58369	; 0xe401
 174:	f2ce 0000 	movt	r0, #57344	; 0xe000
 178:	21e0      	movs	r1, #224	; 0xe0
 17a:	b672      	cpsid	i
 17c:	f880 1300 	strb.w	r1, [r0, #768]	; 0x300
 180:	2101      	movs	r1, #1
 182:	f2ce 0200 	movt	r2, #57344	; 0xe000
 186:	23c0      	movs	r3, #192	; 0xc0
 188:	6001      	str	r1, [r0, #0]
 18a:	7013      	strb	r3, [r2, #0]
 18c:	2302      	movs	r3, #2
 18e:	6003      	str	r3, [r0, #0]
 190:	23a0      	movs	r3, #160	; 0xa0
 192:	7053      	strb	r3, [r2, #1]
 194:	2204      	movs	r2, #4
 196:	6002      	str	r2, [r0, #0]
 198:	f64e 5210 	movw	r2, #60688	; 0xed10
 19c:	f2ce 0200 	movt	r2, #57344	; 0xe000
 1a0:	6813      	ldr	r3, [r2, #0]
 1a2:	f043 0302 	orr.w	r3, r3, #2
 1a6:	6013      	str	r3, [r2, #0]
 1a8:	f8c0 1100 	str.w	r1, [r0, #256]	; 0x100
 1ac:	b662      	cpsie	i
 1ae:	bf30      	wfi
 1b0:	e7fd      	b.n	1ae <main+0x42>

000001b2 <Reset>:
 1b2:	f000 f84a 	bl	24a <DefaultPreInit>
 1b6:	f240 0004 	movw	r0, #4
 1ba:	f240 0100 	movw	r1, #0
 1be:	f2c2 0000 	movt	r0, #8192	; 0x2000
 1c2:	f2c2 0100 	movt	r1, #8192	; 0x2000
 1c6:	4281      	cmp	r1, r0
 1c8:	d214      	bcs.n	1f4 <Reset+0x42>
 1ca:	f240 0100 	movw	r1, #0
 1ce:	2200      	movs	r2, #0
 1d0:	f2c2 0100 	movt	r1, #8192	; 0x2000
 1d4:	f841 2b04 	str.w	r2, [r1], #4
 1d8:	4281      	cmp	r1, r0
 1da:	bf3c      	itt	cc
 1dc:	f841 2b04 	strcc.w	r2, [r1], #4
 1e0:	4281      	cmpcc	r1, r0
 1e2:	d207      	bcs.n	1f4 <Reset+0x42>
 1e4:	f841 2b04 	str.w	r2, [r1], #4
 1e8:	4281      	cmp	r1, r0
 1ea:	d203      	bcs.n	1f4 <Reset+0x42>
 1ec:	f841 2b04 	str.w	r2, [r1], #4
 1f0:	4281      	cmp	r1, r0
 1f2:	d3ef      	bcc.n	1d4 <Reset+0x22>
 1f4:	f240 0000 	movw	r0, #0
 1f8:	f240 0100 	movw	r1, #0
 1fc:	f2c2 0000 	movt	r0, #8192	; 0x2000
 200:	f2c2 0100 	movt	r1, #8192	; 0x2000
 204:	4281      	cmp	r1, r0
 206:	d21c      	bcs.n	242 <Reset+0x90>
 208:	f240 2168 	movw	r1, #616	; 0x268
 20c:	f240 0200 	movw	r2, #0
 210:	f2c0 0100 	movt	r1, #0
 214:	f2c2 0200 	movt	r2, #8192	; 0x2000
 218:	680b      	ldr	r3, [r1, #0]
 21a:	f842 3b04 	str.w	r3, [r2], #4
 21e:	4282      	cmp	r2, r0
 220:	d20f      	bcs.n	242 <Reset+0x90>
 222:	684b      	ldr	r3, [r1, #4]
 224:	f842 3b04 	str.w	r3, [r2], #4
 228:	4282      	cmp	r2, r0
 22a:	bf3e      	ittt	cc
 22c:	688b      	ldrcc	r3, [r1, #8]
 22e:	f842 3b04 	strcc.w	r3, [r2], #4
 232:	4282      	cmpcc	r2, r0
 234:	d205      	bcs.n	242 <Reset+0x90>
 236:	68cb      	ldr	r3, [r1, #12]
 238:	3110      	adds	r1, #16
 23a:	f842 3b04 	str.w	r3, [r2], #4
 23e:	4282      	cmp	r2, r0
 240:	d3ea      	bcc.n	218 <Reset+0x66>
 242:	f7ff ff93 	bl	16c <main>
 246:	defe      	udf	#254	; 0xfe

00000248 <DefaultHandler_>:
 248:	Address 0x0000000000000248 is out of bounds.


00000249 <ADC0_SEQUENCE_0>:
 249:	Address 0x0000000000000249 is out of bounds.


0000024a <DefaultPreInit>:
 24a:	Address 0x000000000000024a is out of bounds.


0000024b <__pre_init>:
 24b:	Address 0x000000000000024b is out of bounds.


0000024c <__syscall>:
 24c:	beab      	bkpt	0x00ab
 24e:	4770      	bx	lr

00000250 <HardFaultTrampoline>:
 250:	4670      	mov	r0, lr
 252:	2104      	movs	r1, #4
 254:	4208      	tst	r0, r1
 256:	d102      	bne.n	25e <HardFaultTrampoline+0xe>
 258:	f3ef 8008 	mrs	r0, MSP
 25c:	e002      	b.n	264 <HardFault_>
 25e:	f3ef 8009 	mrs	r0, PSP
 262:	e7ff      	b.n	264 <HardFault_>

00000264 <HardFault_>:
 264:	Address 0x0000000000000264 is out of bounds.


00000265 <HardFault>:
 265:	Address 0x0000000000000265 is out of bounds.