spi_at45d.lst 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983
  1. GAS LISTING /tmp/cc2yJz4P.s page 1
  2. 1 .file "spi_at45d.c"
  3. 2 __SP_H__ = 0x3e
  4. 3 __SP_L__ = 0x3d
  5. 4 __SREG__ = 0x3f
  6. 5 __RAMPZ__ = 0x3b
  7. 6 __tmp_reg__ = 0
  8. 7 __zero_reg__ = 1
  9. 8 .section .text.At45dStatus,"ax",@progbits
  10. 9 .type At45dStatus, @function
  11. 10 At45dStatus:
  12. 11 0000 CF92 push r12
  13. 12 0002 DF92 push r13
  14. 13 0004 EF92 push r14
  15. 14 0006 FF92 push r15
  16. 15 0008 0F93 push r16
  17. 16 000a 1F93 push r17
  18. 17 000c CF93 push r28
  19. 18 000e DF93 push r29
  20. 19 0010 1F92 push __zero_reg__
  21. 20 0012 1F92 push __zero_reg__
  22. 21 0014 CDB7 in r28,__SP_L__
  23. 22 0016 DEB7 in r29,__SP_H__
  24. 23 /* prologue: function */
  25. 24 /* frame size = 2 */
  26. 25 /* stack size = 10 */
  27. 26 .L__stack_usage = 10
  28. 27 0018 7C01 movw r14,r24
  29. 28 001a 87ED ldi r24,lo8(-41)
  30. 29 001c 8983 std Y+1,r24
  31. 30 001e 8FEF ldi r24,lo8(-1)
  32. 31 0020 8A83 std Y+2,r24
  33. 32 0022 D701 movw r26,r14
  34. 33 0024 CD90 ld r12,X+
  35. 34 0026 DC90 ld r13,X
  36. 35 0028 D601 movw r26,r12
  37. 36 002a 1A96 adiw r26,10
  38. 37 002c ED91 ld r30,X+
  39. 38 002e FC91 ld r31,X
  40. 39 0030 1B97 sbiw r26,10+1
  41. 40 0032 48EE ldi r20,lo8(-24)
  42. 41 0034 53E0 ldi r21,lo8(3)
  43. 42 0036 60E0 ldi r22,0
  44. 43 0038 70E0 ldi r23,0
  45. 44 003a C701 movw r24,r14
  46. 45 003c 1995 eicall
  47. 46 003e 8C01 movw r16,r24
  48. 47 0040 892B or r24,r25
  49. 48 0042 01F4 brne .L2
  50. 49 0044 D601 movw r26,r12
  51. 50 0046 1E96 adiw r26,14
  52. 51 0048 ED91 ld r30,X+
  53. 52 004a FC91 ld r31,X
  54. 53 004c 1F97 sbiw r26,14+1
  55. 54 004e 22E0 ldi r18,lo8(2)
  56. 55 0050 30E0 ldi r19,0
  57. 56 0052 AE01 movw r20,r28
  58. 57 0054 4F5F subi r20,-1
  59. GAS LISTING /tmp/cc2yJz4P.s page 2
  60. 58 0056 5F4F sbci r21,-1
  61. 59 0058 BA01 movw r22,r20
  62. 60 005a C701 movw r24,r14
  63. 61 005c 1995 eicall
  64. 62 005e 8C01 movw r16,r24
  65. 63 0060 892B or r24,r25
  66. 64 0062 01F4 brne .L3
  67. 65 0064 D601 movw r26,r12
  68. 66 0066 5096 adiw r26,16
  69. 67 0068 ED91 ld r30,X+
  70. 68 006a FC91 ld r31,X
  71. 69 006c 5197 sbiw r26,16+1
  72. 70 006e 40E0 ldi r20,0
  73. 71 0070 50E0 ldi r21,0
  74. 72 0072 BA01 movw r22,r20
  75. 73 0074 C701 movw r24,r14
  76. 74 0076 1995 eicall
  77. 75 0078 0A81 ldd r16,Y+2
  78. 76 .L3:
  79. 77 007a D601 movw r26,r12
  80. 78 007c 1C96 adiw r26,12
  81. 79 007e ED91 ld r30,X+
  82. 80 0080 FC91 ld r31,X
  83. 81 0082 1D97 sbiw r26,12+1
  84. 82 0084 C701 movw r24,r14
  85. 83 0086 1995 eicall
  86. 84 .L2:
  87. 85 0088 802F mov r24,r16
  88. 86 /* epilogue start */
  89. 87 008a 0F90 pop __tmp_reg__
  90. 88 008c 0F90 pop __tmp_reg__
  91. 89 008e DF91 pop r29
  92. 90 0090 CF91 pop r28
  93. 91 0092 1F91 pop r17
  94. 92 0094 0F91 pop r16
  95. 93 0096 FF90 pop r15
  96. 94 0098 EF90 pop r14
  97. 95 009a DF90 pop r13
  98. 96 009c CF90 pop r12
  99. 97 009e 0895 ret
  100. 98 .size At45dStatus, .-At45dStatus
  101. 99 .section .text.At45dCommand,"ax",@progbits
  102. 100 .type At45dCommand, @function
  103. 101 At45dCommand:
  104. 102 0000 2F92 push r2
  105. 103 0002 3F92 push r3
  106. 104 0004 4F92 push r4
  107. 105 0006 5F92 push r5
  108. 106 0008 6F92 push r6
  109. 107 000a 7F92 push r7
  110. 108 000c 8F92 push r8
  111. 109 000e 9F92 push r9
  112. 110 0010 AF92 push r10
  113. 111 0012 BF92 push r11
  114. 112 0014 CF92 push r12
  115. 113 0016 DF92 push r13
  116. 114 0018 EF92 push r14
  117. GAS LISTING /tmp/cc2yJz4P.s page 3
  118. 115 001a FF92 push r15
  119. 116 001c 0F93 push r16
  120. 117 001e 1F93 push r17
  121. 118 0020 CF93 push r28
  122. 119 0022 DF93 push r29
  123. 120 0024 CDB7 in r28,__SP_L__
  124. 121 0026 DEB7 in r29,__SP_H__
  125. 122 0028 2997 sbiw r28,9
  126. 123 002a 0FB6 in __tmp_reg__,__SREG__
  127. 124 002c F894 cli
  128. 125 002e DEBF out __SP_H__,r29
  129. 126 0030 0FBE out __SREG__,__tmp_reg__
  130. 127 0032 CDBF out __SP_L__,r28
  131. 128 /* prologue: function */
  132. 129 /* frame size = 9 */
  133. 130 /* stack size = 27 */
  134. 131 .L__stack_usage = 27
  135. 132 0034 4C01 movw r8,r24
  136. 133 0036 6987 std Y+9,r22
  137. 134 0038 2901 movw r4,r18
  138. 135 003a 3A01 movw r6,r20
  139. 136 003c DC01 movw r26,r24
  140. 137 003e 2D90 ld r2,X+
  141. 138 0040 3C90 ld r3,X
  142. 139 0042 A801 movw r20,r16
  143. 140 0044 60E0 ldi r22,0
  144. 141 0046 70E0 ldi r23,0
  145. 142 0048 CE01 movw r24,r28
  146. 143 004a 0196 adiw r24,1
  147. 144 004c 0E94 0000 call memset
  148. 145 0050 B985 ldd r27,Y+9
  149. 146 0052 B983 std Y+1,r27
  150. 147 0054 4114 cp r4,__zero_reg__
  151. 148 0056 5104 cpc r5,__zero_reg__
  152. 149 0058 6104 cpc r6,__zero_reg__
  153. 150 005a 7104 cpc r7,__zero_reg__
  154. 151 005c 01F0 breq .L6
  155. 152 005e 6A82 std Y+2,r6
  156. 153 0060 5B82 std Y+3,r5
  157. 154 0062 4C82 std Y+4,r4
  158. 155 .L6:
  159. 156 0064 D101 movw r26,r2
  160. 157 0066 1A96 adiw r26,10
  161. 158 0068 ED91 ld r30,X+
  162. 159 006a FC91 ld r31,X
  163. 160 006c 1B97 sbiw r26,10+1
  164. 161 006e 48EE ldi r20,lo8(-24)
  165. 162 0070 53E0 ldi r21,lo8(3)
  166. 163 0072 60E0 ldi r22,0
  167. 164 0074 70E0 ldi r23,0
  168. 165 0076 C401 movw r24,r8
  169. 166 0078 1995 eicall
  170. 167 007a 3C01 movw r6,r24
  171. 168 007c 892B or r24,r25
  172. 169 007e 01F4 brne .L7
  173. 170 0080 D101 movw r26,r2
  174. 171 0082 1E96 adiw r26,14
  175. GAS LISTING /tmp/cc2yJz4P.s page 4
  176. 172 0084 ED91 ld r30,X+
  177. 173 0086 FC91 ld r31,X
  178. 174 0088 1F97 sbiw r26,14+1
  179. 175 008a 9801 movw r18,r16
  180. 176 008c 40E0 ldi r20,0
  181. 177 008e 50E0 ldi r21,0
  182. 178 0090 BE01 movw r22,r28
  183. 179 0092 6F5F subi r22,-1
  184. 180 0094 7F4F sbci r23,-1
  185. 181 0096 C401 movw r24,r8
  186. 182 0098 1995 eicall
  187. 183 009a 3C01 movw r6,r24
  188. 184 009c 892B or r24,r25
  189. 185 009e 01F4 brne .L8
  190. 186 00a0 A114 cp r10,__zero_reg__
  191. 187 00a2 B104 cpc r11,__zero_reg__
  192. 188 00a4 01F0 breq .L8
  193. 189 00a6 D101 movw r26,r2
  194. 190 00a8 1E96 adiw r26,14
  195. 191 00aa ED91 ld r30,X+
  196. 192 00ac FC91 ld r31,X
  197. 193 00ae 1F97 sbiw r26,14+1
  198. 194 00b0 9501 movw r18,r10
  199. 195 00b2 A601 movw r20,r12
  200. 196 00b4 B701 movw r22,r14
  201. 197 00b6 C401 movw r24,r8
  202. 198 00b8 1995 eicall
  203. 199 00ba 3C01 movw r6,r24
  204. 200 .L8:
  205. 201 00bc D101 movw r26,r2
  206. 202 00be 1C96 adiw r26,12
  207. 203 00c0 ED91 ld r30,X+
  208. 204 00c2 FC91 ld r31,X
  209. 205 00c4 1D97 sbiw r26,12+1
  210. 206 00c6 C401 movw r24,r8
  211. 207 00c8 1995 eicall
  212. 208 .L7:
  213. 209 00ca C301 movw r24,r6
  214. 210 /* epilogue start */
  215. 211 00cc 2996 adiw r28,9
  216. 212 00ce 0FB6 in __tmp_reg__,__SREG__
  217. 213 00d0 F894 cli
  218. 214 00d2 DEBF out __SP_H__,r29
  219. 215 00d4 0FBE out __SREG__,__tmp_reg__
  220. 216 00d6 CDBF out __SP_L__,r28
  221. 217 00d8 DF91 pop r29
  222. 218 00da CF91 pop r28
  223. 219 00dc 1F91 pop r17
  224. 220 00de 0F91 pop r16
  225. 221 00e0 FF90 pop r15
  226. 222 00e2 EF90 pop r14
  227. 223 00e4 DF90 pop r13
  228. 224 00e6 CF90 pop r12
  229. 225 00e8 BF90 pop r11
  230. 226 00ea AF90 pop r10
  231. 227 00ec 9F90 pop r9
  232. 228 00ee 8F90 pop r8
  233. GAS LISTING /tmp/cc2yJz4P.s page 5
  234. 229 00f0 7F90 pop r7
  235. 230 00f2 6F90 pop r6
  236. 231 00f4 5F90 pop r5
  237. 232 00f6 4F90 pop r4
  238. 233 00f8 3F90 pop r3
  239. 234 00fa 2F90 pop r2
  240. 235 00fc 0895 ret
  241. 236 .size At45dCommand, .-At45dCommand
  242. 237 .section .text.SpiAt45dCommand,"ax",@progbits
  243. 238 .global SpiAt45dCommand
  244. 239 .type SpiAt45dCommand, @function
  245. 240 SpiAt45dCommand:
  246. 241 0000 AF92 push r10
  247. 242 0002 BF92 push r11
  248. 243 0004 CF92 push r12
  249. 244 0006 DF92 push r13
  250. 245 0008 EF92 push r14
  251. 246 000a FF92 push r15
  252. 247 000c 0F93 push r16
  253. 248 000e 1F93 push r17
  254. 249 /* prologue: function */
  255. 250 /* frame size = 0 */
  256. 251 /* stack size = 8 */
  257. 252 .L__stack_usage = 8
  258. 253 0010 FC01 movw r30,r24
  259. 254 0012 8785 ldd r24,Z+15
  260. 255 0014 9089 ldd r25,Z+16
  261. 256 0016 0E94 0000 call At45dCommand
  262. 257 /* epilogue start */
  263. 258 001a 1F91 pop r17
  264. 259 001c 0F91 pop r16
  265. 260 001e FF90 pop r15
  266. 261 0020 EF90 pop r14
  267. 262 0022 DF90 pop r13
  268. 263 0024 CF90 pop r12
  269. 264 0026 BF90 pop r11
  270. 265 0028 AF90 pop r10
  271. 266 002a 0895 ret
  272. 267 .size SpiAt45dCommand, .-SpiAt45dCommand
  273. 268 .section .text.SpiAt45dStatus,"ax",@progbits
  274. 269 .global SpiAt45dStatus
  275. 270 .type SpiAt45dStatus, @function
  276. 271 SpiAt45dStatus:
  277. 272 /* prologue: function */
  278. 273 /* frame size = 0 */
  279. 274 /* stack size = 0 */
  280. 275 .L__stack_usage = 0
  281. 276 0000 FC01 movw r30,r24
  282. 277 0002 8785 ldd r24,Z+15
  283. 278 0004 9089 ldd r25,Z+16
  284. 279 0006 0C94 0000 jmp At45dStatus
  285. 280 .size SpiAt45dStatus, .-SpiAt45dStatus
  286. 281 .section .text.SpiAt45dWaitReady,"ax",@progbits
  287. 282 .global SpiAt45dWaitReady
  288. 283 .type SpiAt45dWaitReady, @function
  289. 284 SpiAt45dWaitReady:
  290. 285 0000 CF92 push r12
  291. GAS LISTING /tmp/cc2yJz4P.s page 6
  292. 286 0002 DF92 push r13
  293. 287 0004 EF92 push r14
  294. 288 0006 FF92 push r15
  295. 289 0008 0F93 push r16
  296. 290 000a 1F93 push r17
  297. 291 000c CF93 push r28
  298. 292 000e DF93 push r29
  299. 293 /* prologue: function */
  300. 294 /* frame size = 0 */
  301. 295 /* stack size = 8 */
  302. 296 .L__stack_usage = 8
  303. 297 0010 6A01 movw r12,r20
  304. 298 0012 7B01 movw r14,r22
  305. 299 0014 8901 movw r16,r18
  306. 300 0016 FC01 movw r30,r24
  307. 301 0018 C785 ldd r28,Z+15
  308. 302 001a D089 ldd r29,Z+16
  309. 303 .L18:
  310. 304 001c CE01 movw r24,r28
  311. 305 001e 0E94 0000 call At45dStatus
  312. 306 0022 87FD sbrc r24,7
  313. 307 0024 00C0 rjmp .L23
  314. 308 0026 0115 cp r16,__zero_reg__
  315. 309 0028 1105 cpc r17,__zero_reg__
  316. 310 002a 01F4 brne .L19
  317. 311 002c 61E0 ldi r22,lo8(1)
  318. 312 002e 70E0 ldi r23,0
  319. 313 0030 80E0 ldi r24,0
  320. 314 0032 90E0 ldi r25,0
  321. 315 0034 0E94 0000 call NutSleep
  322. 316 .L19:
  323. 317 0038 D701 movw r26,r14
  324. 318 003a C601 movw r24,r12
  325. 319 003c 0197 sbiw r24,1
  326. 320 003e A109 sbc r26,__zero_reg__
  327. 321 0040 B109 sbc r27,__zero_reg__
  328. 322 0042 CD28 or r12,r13
  329. 323 0044 CE28 or r12,r14
  330. 324 0046 CF28 or r12,r15
  331. 325 0048 01F0 breq .L22
  332. 326 004a 6C01 movw r12,r24
  333. 327 004c 7D01 movw r14,r26
  334. 328 004e 00C0 rjmp .L18
  335. 329 .L23:
  336. 330 0050 80E0 ldi r24,0
  337. 331 0052 90E0 ldi r25,0
  338. 332 0054 00C0 rjmp .L20
  339. 333 .L22:
  340. 334 0056 8FEF ldi r24,lo8(-1)
  341. 335 0058 9FEF ldi r25,lo8(-1)
  342. 336 .L20:
  343. 337 /* epilogue start */
  344. 338 005a DF91 pop r29
  345. 339 005c CF91 pop r28
  346. 340 005e 1F91 pop r17
  347. 341 0060 0F91 pop r16
  348. 342 0062 FF90 pop r15
  349. GAS LISTING /tmp/cc2yJz4P.s page 7
  350. 343 0064 EF90 pop r14
  351. 344 0066 DF90 pop r13
  352. 345 0068 CF90 pop r12
  353. 346 006a 0895 ret
  354. 347 .size SpiAt45dWaitReady, .-SpiAt45dWaitReady
  355. 348 .section .text.SpiAt45dPageErase,"ax",@progbits
  356. 349 .global SpiAt45dPageErase
  357. 350 .type SpiAt45dPageErase, @function
  358. 351 SpiAt45dPageErase:
  359. 352 0000 AF92 push r10
  360. 353 0002 BF92 push r11
  361. 354 0004 CF92 push r12
  362. 355 0006 DF92 push r13
  363. 356 0008 EF92 push r14
  364. 357 000a FF92 push r15
  365. 358 000c 0F93 push r16
  366. 359 000e 1F93 push r17
  367. 360 /* prologue: function */
  368. 361 /* frame size = 0 */
  369. 362 /* stack size = 8 */
  370. 363 .L__stack_usage = 8
  371. 364 0010 DC01 movw r26,r24
  372. 365 0012 5196 adiw r26,17
  373. 366 0014 ED91 ld r30,X+
  374. 367 0016 FC91 ld r31,X
  375. 368 0018 5297 sbiw r26,17+1
  376. 369 001a 0190 ld __tmp_reg__,Z+
  377. 370 001c F081 ld r31,Z
  378. 371 001e E02D mov r30,__tmp_reg__
  379. 372 0020 0181 ldd r16,Z+1
  380. 373 0022 1281 ldd r17,Z+2
  381. 374 0024 2381 ldd r18,Z+3
  382. 375 0026 3481 ldd r19,Z+4
  383. 376 0028 4017 cp r20,r16
  384. 377 002a 5107 cpc r21,r17
  385. 378 002c 6207 cpc r22,r18
  386. 379 002e 7307 cpc r23,r19
  387. 380 0030 00F4 brsh .L26
  388. 381 0032 9A01 movw r18,r20
  389. 382 0034 AB01 movw r20,r22
  390. 383 0036 0080 ld r0,Z
  391. 384 0038 00C0 rjmp 2f
  392. 385 1:
  393. 386 003a 220F lsl r18
  394. 387 003c 331F rol r19
  395. 388 003e 441F rol r20
  396. 389 0040 551F rol r21
  397. 390 2:
  398. 391 0042 0A94 dec r0
  399. 392 0044 02F4 brpl 1b
  400. 393 0046 A12C mov r10,__zero_reg__
  401. 394 0048 B12C mov r11,__zero_reg__
  402. 395 004a C12C mov r12,__zero_reg__
  403. 396 004c D12C mov r13,__zero_reg__
  404. 397 004e E12C mov r14,__zero_reg__
  405. 398 0050 F12C mov r15,__zero_reg__
  406. 399 0052 04E0 ldi r16,lo8(4)
  407. GAS LISTING /tmp/cc2yJz4P.s page 8
  408. 400 0054 10E0 ldi r17,0
  409. 401 0056 61E8 ldi r22,lo8(-127)
  410. 402 0058 1F96 adiw r26,15
  411. 403 005a 8D91 ld r24,X+
  412. 404 005c 9C91 ld r25,X
  413. 405 005e 5097 sbiw r26,15+1
  414. 406 0060 0E94 0000 call At45dCommand
  415. 407 0064 00C0 rjmp .L25
  416. 408 .L26:
  417. 409 0066 8FEF ldi r24,lo8(-1)
  418. 410 0068 9FEF ldi r25,lo8(-1)
  419. 411 .L25:
  420. 412 /* epilogue start */
  421. 413 006a 1F91 pop r17
  422. 414 006c 0F91 pop r16
  423. 415 006e FF90 pop r15
  424. 416 0070 EF90 pop r14
  425. 417 0072 DF90 pop r13
  426. 418 0074 CF90 pop r12
  427. 419 0076 BF90 pop r11
  428. 420 0078 AF90 pop r10
  429. 421 007a 0895 ret
  430. 422 .size SpiAt45dPageErase, .-SpiAt45dPageErase
  431. 423 .section .text.SpiAt45dChipErase,"ax",@progbits
  432. 424 .global SpiAt45dChipErase
  433. 425 .type SpiAt45dChipErase, @function
  434. 426 SpiAt45dChipErase:
  435. 427 /* prologue: function */
  436. 428 /* frame size = 0 */
  437. 429 /* stack size = 0 */
  438. 430 .L__stack_usage = 0
  439. 431 0000 8FEF ldi r24,lo8(-1)
  440. 432 0002 9FEF ldi r25,lo8(-1)
  441. 433 0004 0895 ret
  442. 434 .size SpiAt45dChipErase, .-SpiAt45dChipErase
  443. 435 .section .text.SpiAt45dInit,"ax",@progbits
  444. 436 .global SpiAt45dInit
  445. 437 .type SpiAt45dInit, @function
  446. 438 SpiAt45dInit:
  447. 439 0000 EF92 push r14
  448. 440 0002 FF92 push r15
  449. 441 0004 0F93 push r16
  450. 442 0006 1F93 push r17
  451. 443 0008 CF93 push r28
  452. 444 000a DF93 push r29
  453. 445 /* prologue: function */
  454. 446 /* frame size = 0 */
  455. 447 /* stack size = 6 */
  456. 448 .L__stack_usage = 6
  457. 449 000c FC01 movw r30,r24
  458. 450 000e C189 ldd r28,Z+17
  459. 451 0010 D289 ldd r29,Z+18
  460. 452 0012 E784 ldd r14,Z+15
  461. 453 0014 F088 ldd r15,Z+16
  462. 454 0016 00E0 ldi r16,0
  463. 455 0018 10E0 ldi r17,0
  464. 456 .L29:
  465. GAS LISTING /tmp/cc2yJz4P.s page 9
  466. 457 001a C701 movw r24,r14
  467. 458 001c 0E94 0000 call At45dStatus
  468. 459 0020 87FD sbrc r24,7
  469. 460 0022 00C0 rjmp .L41
  470. 461 0024 0F5F subi r16,-1
  471. 462 0026 1F4F sbci r17,-1
  472. 463 0028 0B30 cpi r16,11
  473. 464 002a 1105 cpc r17,__zero_reg__
  474. 465 002c 01F4 brne .L29
  475. 466 .L35:
  476. 467 002e 8FEF ldi r24,lo8(-1)
  477. 468 0030 9FEF ldi r25,lo8(-1)
  478. 469 0032 00C0 rjmp .L39
  479. 470 .L41:
  480. 471 0034 C701 movw r24,r14
  481. 472 0036 0E94 0000 call At45dStatus
  482. 473 003a 8F3F cpi r24,lo8(-1)
  483. 474 003c 01F0 breq .L35
  484. 475 003e 8D73 andi r24,lo8(61)
  485. 476 0040 9091 0000 lds r25,at45d_known_types
  486. 477 .L33:
  487. 478 0044 9150 subi r25,lo8(-(-1))
  488. 479 0046 97FD sbrc r25,7
  489. 480 0048 00C0 rjmp .L35
  490. 481 004a 28E0 ldi r18,lo8(8)
  491. 482 004c 9202 muls r25,r18
  492. 483 004e F001 movw r30,r0
  493. 484 0050 1124 clr __zero_reg__
  494. 485 0052 E050 subi r30,lo8(-(at45d_info))
  495. 486 0054 F040 sbci r31,hi8(-(at45d_info))
  496. 487 0056 2781 ldd r18,Z+7
  497. 488 0058 8213 cpse r24,r18
  498. 489 005a 00C0 rjmp .L33
  499. 490 005c F983 std Y+1,r31
  500. 491 005e E883 st Y,r30
  501. 492 0060 8181 ldd r24,Z+1
  502. 493 0062 9281 ldd r25,Z+2
  503. 494 0064 A381 ldd r26,Z+3
  504. 495 0066 B481 ldd r27,Z+4
  505. 496 0068 8A83 std Y+2,r24
  506. 497 006a 9B83 std Y+3,r25
  507. 498 006c AC83 std Y+4,r26
  508. 499 006e BD83 std Y+5,r27
  509. 500 0070 8581 ldd r24,Z+5
  510. 501 0072 9681 ldd r25,Z+6
  511. 502 0074 A0E0 ldi r26,0
  512. 503 0076 B0E0 ldi r27,0
  513. 504 0078 8E83 std Y+6,r24
  514. 505 007a 9F83 std Y+7,r25
  515. 506 007c A887 std Y+8,r26
  516. 507 007e B987 std Y+9,r27
  517. 508 0080 80E0 ldi r24,0
  518. 509 0082 90E0 ldi r25,0
  519. 510 .L39:
  520. 511 /* epilogue start */
  521. 512 0084 DF91 pop r29
  522. 513 0086 CF91 pop r28
  523. GAS LISTING /tmp/cc2yJz4P.s page 10
  524. 514 0088 1F91 pop r17
  525. 515 008a 0F91 pop r16
  526. 516 008c FF90 pop r15
  527. 517 008e EF90 pop r14
  528. 518 0090 0895 ret
  529. 519 .size SpiAt45dInit, .-SpiAt45dInit
  530. 520 .section .text.SpiAt45dPageRead,"ax",@progbits
  531. 521 .global SpiAt45dPageRead
  532. 522 .type SpiAt45dPageRead, @function
  533. 523 SpiAt45dPageRead:
  534. 524 0000 AF92 push r10
  535. 525 0002 BF92 push r11
  536. 526 0004 CF92 push r12
  537. 527 0006 DF92 push r13
  538. 528 0008 EF92 push r14
  539. 529 000a FF92 push r15
  540. 530 000c 0F93 push r16
  541. 531 000e 1F93 push r17
  542. 532 0010 CF93 push r28
  543. 533 0012 DF93 push r29
  544. 534 /* prologue: function */
  545. 535 /* frame size = 0 */
  546. 536 /* stack size = 10 */
  547. 537 .L__stack_usage = 10
  548. 538 0014 6901 movw r12,r18
  549. 539 0016 D02F mov r29,r16
  550. 540 0018 C12F mov r28,r17
  551. 541 001a DC01 movw r26,r24
  552. 542 001c 5196 adiw r26,17
  553. 543 001e ED91 ld r30,X+
  554. 544 0020 FC91 ld r31,X
  555. 545 0022 5297 sbiw r26,17+1
  556. 546 0024 0190 ld __tmp_reg__,Z+
  557. 547 0026 F081 ld r31,Z
  558. 548 0028 E02D mov r30,__tmp_reg__
  559. 549 002a 0181 ldd r16,Z+1
  560. 550 002c 1281 ldd r17,Z+2
  561. 551 002e 2381 ldd r18,Z+3
  562. 552 0030 3481 ldd r19,Z+4
  563. 553 0032 4017 cp r20,r16
  564. 554 0034 5107 cpc r21,r17
  565. 555 0036 6207 cpc r22,r18
  566. 556 0038 7307 cpc r23,r19
  567. 557 003a 00F0 brlo .L43
  568. 558 .L45:
  569. 559 003c 8FEF ldi r24,lo8(-1)
  570. 560 003e 9FEF ldi r25,lo8(-1)
  571. 561 0040 00C0 rjmp .L44
  572. 562 .L43:
  573. 563 0042 9A01 movw r18,r20
  574. 564 0044 AB01 movw r20,r22
  575. 565 0046 0080 ld r0,Z
  576. 566 0048 00C0 rjmp 2f
  577. 567 1:
  578. 568 004a 220F lsl r18
  579. 569 004c 331F rol r19
  580. 570 004e 441F rol r20
  581. GAS LISTING /tmp/cc2yJz4P.s page 11
  582. 571 0050 551F rol r21
  583. 572 2:
  584. 573 0052 0A94 dec r0
  585. 574 0054 02F4 brpl 1b
  586. 575 0056 AD2E mov r10,r29
  587. 576 0058 BC2E mov r11,r28
  588. 577 005a E12C mov r14,__zero_reg__
  589. 578 005c F12C mov r15,__zero_reg__
  590. 579 005e 08E0 ldi r16,lo8(8)
  591. 580 0060 10E0 ldi r17,0
  592. 581 0062 68EE ldi r22,lo8(-24)
  593. 582 0064 FC01 movw r30,r24
  594. 583 0066 8785 ldd r24,Z+15
  595. 584 0068 9089 ldd r25,Z+16
  596. 585 006a 0E94 0000 call At45dCommand
  597. 586 006e 892B or r24,r25
  598. 587 0070 01F4 brne .L45
  599. 588 0072 8D2F mov r24,r29
  600. 589 0074 9C2F mov r25,r28
  601. 590 .L44:
  602. 591 /* epilogue start */
  603. 592 0076 DF91 pop r29
  604. 593 0078 CF91 pop r28
  605. 594 007a 1F91 pop r17
  606. 595 007c 0F91 pop r16
  607. 596 007e FF90 pop r15
  608. 597 0080 EF90 pop r14
  609. 598 0082 DF90 pop r13
  610. 599 0084 CF90 pop r12
  611. 600 0086 BF90 pop r11
  612. 601 0088 AF90 pop r10
  613. 602 008a 0895 ret
  614. 603 .size SpiAt45dPageRead, .-SpiAt45dPageRead
  615. 604 .section .text.SpiAt45dPageWrite,"ax",@progbits
  616. 605 .global SpiAt45dPageWrite
  617. 606 .type SpiAt45dPageWrite, @function
  618. 607 SpiAt45dPageWrite:
  619. 608 0000 2F92 push r2
  620. 609 0002 3F92 push r3
  621. 610 0004 4F92 push r4
  622. 611 0006 5F92 push r5
  623. 612 0008 6F92 push r6
  624. 613 000a 7F92 push r7
  625. 614 000c 8F92 push r8
  626. 615 000e 9F92 push r9
  627. 616 0010 AF92 push r10
  628. 617 0012 BF92 push r11
  629. 618 0014 CF92 push r12
  630. 619 0016 DF92 push r13
  631. 620 0018 EF92 push r14
  632. 621 001a FF92 push r15
  633. 622 001c 0F93 push r16
  634. 623 001e 1F93 push r17
  635. 624 0020 CF93 push r28
  636. 625 0022 DF93 push r29
  637. 626 0024 CDB7 in r28,__SP_L__
  638. 627 0026 DEB7 in r29,__SP_H__
  639. GAS LISTING /tmp/cc2yJz4P.s page 12
  640. 628 0028 2B97 sbiw r28,11
  641. 629 002a 0FB6 in __tmp_reg__,__SREG__
  642. 630 002c F894 cli
  643. 631 002e DEBF out __SP_H__,r29
  644. 632 0030 0FBE out __SREG__,__tmp_reg__
  645. 633 0032 CDBF out __SP_L__,r28
  646. 634 /* prologue: function */
  647. 635 /* frame size = 11 */
  648. 636 /* stack size = 29 */
  649. 637 .L__stack_usage = 29
  650. 638 0034 2A01 movw r4,r20
  651. 639 0036 3B01 movw r6,r22
  652. 640 0038 3C83 std Y+4,r19
  653. 641 003a 2B83 std Y+3,r18
  654. 642 003c 4801 movw r8,r16
  655. 643 003e 012B or r16,r17
  656. 644 0040 01F4 brne .+2
  657. 645 0042 00C0 rjmp .L56
  658. 646 0044 DC01 movw r26,r24
  659. 647 0046 1F96 adiw r26,15
  660. 648 0048 0D90 ld __tmp_reg__,X+
  661. 649 004a BC91 ld r27,X
  662. 650 004c A02D mov r26,__tmp_reg__
  663. 651 004e BA83 std Y+2,r27
  664. 652 0050 A983 std Y+1,r26
  665. 653 0052 DC01 movw r26,r24
  666. 654 0054 5196 adiw r26,17
  667. 655 0056 ED91 ld r30,X+
  668. 656 0058 FC91 ld r31,X
  669. 657 005a 5297 sbiw r26,17+1
  670. 658 005c 2081 ld r18,Z
  671. 659 005e 3181 ldd r19,Z+1
  672. 660 0060 F901 movw r30,r18
  673. 661 0062 F081 ld r31,Z
  674. 662 0064 FD83 std Y+5,r31
  675. 663 0066 D901 movw r26,r18
  676. 664 0068 1596 adiw r26,5
  677. 665 006a 2D90 ld r2,X+
  678. 666 006c 3C90 ld r3,X
  679. 667 006e 1697 sbiw r26,5+1
  680. 668 0070 1196 adiw r26,1
  681. 669 0072 8D91 ld r24,X+
  682. 670 0074 9D91 ld r25,X+
  683. 671 0076 0D90 ld __tmp_reg__,X+
  684. 672 0078 BC91 ld r27,X
  685. 673 007a A02D mov r26,__tmp_reg__
  686. 674 007c 8E83 std Y+6,r24
  687. 675 007e 9F83 std Y+7,r25
  688. 676 0080 A887 std Y+8,r26
  689. 677 0082 B987 std Y+9,r27
  690. 678 0084 EFEF ldi r30,lo8(-1)
  691. 679 0086 FFEF ldi r31,lo8(-1)
  692. 680 0088 FB87 std Y+11,r31
  693. 681 008a EA87 std Y+10,r30
  694. 682 .L53:
  695. 683 008c 8214 cp r8,r2
  696. 684 008e 9304 cpc r9,r3
  697. GAS LISTING /tmp/cc2yJz4P.s page 13
  698. 685 0090 04F4 brge .L48
  699. 686 0092 1401 movw r2,r8
  700. 687 .L48:
  701. 688 0094 5101 movw r10,r2
  702. 689 0096 C12C mov r12,__zero_reg__
  703. 690 0098 D12C mov r13,__zero_reg__
  704. 691 009a EB80 ldd r14,Y+3
  705. 692 009c FC80 ldd r15,Y+4
  706. 693 009e 04E0 ldi r16,lo8(4)
  707. 694 00a0 10E0 ldi r17,0
  708. 695 00a2 20E0 ldi r18,0
  709. 696 00a4 30E0 ldi r19,0
  710. 697 00a6 A901 movw r20,r18
  711. 698 00a8 64E8 ldi r22,lo8(-124)
  712. 699 00aa 8981 ldd r24,Y+1
  713. 700 00ac 9A81 ldd r25,Y+2
  714. 701 00ae 0E94 0000 call At45dCommand
  715. 702 00b2 892B or r24,r25
  716. 703 00b4 01F0 breq .+2
  717. 704 00b6 00C0 rjmp .L60
  718. 705 00b8 A12C mov r10,__zero_reg__
  719. 706 00ba B12C mov r11,__zero_reg__
  720. 707 00bc E12C mov r14,__zero_reg__
  721. 708 00be F12C mov r15,__zero_reg__
  722. 709 00c0 A301 movw r20,r6
  723. 710 00c2 9201 movw r18,r4
  724. 711 00c4 0D80 ldd r0,Y+5
  725. 712 00c6 00C0 rjmp 2f
  726. 713 1:
  727. 714 00c8 220F lsl r18
  728. 715 00ca 331F rol r19
  729. 716 00cc 441F rol r20
  730. 717 00ce 551F rol r21
  731. 718 2:
  732. 719 00d0 0A94 dec r0
  733. 720 00d2 02F4 brpl 1b
  734. 721 00d4 63E8 ldi r22,lo8(-125)
  735. 722 00d6 8981 ldd r24,Y+1
  736. 723 00d8 9A81 ldd r25,Y+2
  737. 724 00da 0E94 0000 call At45dCommand
  738. 725 00de 892B or r24,r25
  739. 726 00e0 01F4 brne .L60
  740. 727 00e2 00E0 ldi r16,0
  741. 728 00e4 10E0 ldi r17,0
  742. 729 .L50:
  743. 730 00e6 8981 ldd r24,Y+1
  744. 731 00e8 9A81 ldd r25,Y+2
  745. 732 00ea 0E94 0000 call At45dStatus
  746. 733 00ee 87FD sbrc r24,7
  747. 734 00f0 00C0 rjmp .L65
  748. 735 00f2 0F5F subi r16,-1
  749. 736 00f4 1F4F sbci r17,-1
  750. 737 00f6 093E cpi r16,-23
  751. 738 00f8 F3E0 ldi r31,3
  752. 739 00fa 1F07 cpc r17,r31
  753. 740 00fc 01F4 brne .L50
  754. 741 00fe 00C0 rjmp .L60
  755. GAS LISTING /tmp/cc2yJz4P.s page 14
  756. 742 .L56:
  757. 743 0100 80E0 ldi r24,0
  758. 744 0102 90E0 ldi r25,0
  759. 745 0104 00C0 rjmp .L63
  760. 746 .L65:
  761. 747 0106 8A85 ldd r24,Y+10
  762. 748 0108 9B85 ldd r25,Y+11
  763. 749 010a 97FF sbrs r25,7
  764. 750 010c 00C0 rjmp .L54
  765. 751 010e 80E0 ldi r24,0
  766. 752 0110 90E0 ldi r25,0
  767. 753 .L54:
  768. 754 0112 9C01 movw r18,r24
  769. 755 0114 220D add r18,r2
  770. 756 0116 331D adc r19,r3
  771. 757 0118 3B87 std Y+11,r19
  772. 758 011a 2A87 std Y+10,r18
  773. 759 011c 8B81 ldd r24,Y+3
  774. 760 011e 9C81 ldd r25,Y+4
  775. 761 0120 820D add r24,r2
  776. 762 0122 931D adc r25,r3
  777. 763 0124 9C83 std Y+4,r25
  778. 764 0126 8B83 std Y+3,r24
  779. 765 0128 8218 sub r8,r2
  780. 766 012a 9308 sbc r9,r3
  781. 767 012c 9FEF ldi r25,-1
  782. 768 012e 491A sub r4,r25
  783. 769 0130 590A sbc r5,r25
  784. 770 0132 690A sbc r6,r25
  785. 771 0134 790A sbc r7,r25
  786. 772 0136 8E81 ldd r24,Y+6
  787. 773 0138 9F81 ldd r25,Y+7
  788. 774 013a A885 ldd r26,Y+8
  789. 775 013c B985 ldd r27,Y+9
  790. 776 013e 4816 cp r4,r24
  791. 777 0140 5906 cpc r5,r25
  792. 778 0142 6A06 cpc r6,r26
  793. 779 0144 7B06 cpc r7,r27
  794. 780 0146 00F4 brsh .L60
  795. 781 0148 8114 cp r8,__zero_reg__
  796. 782 014a 9104 cpc r9,__zero_reg__
  797. 783 014c 01F0 breq .+2
  798. 784 014e 00C0 rjmp .L53
  799. 785 .L60:
  800. 786 0150 8A85 ldd r24,Y+10
  801. 787 0152 9B85 ldd r25,Y+11
  802. 788 .L63:
  803. 789 /* epilogue start */
  804. 790 0154 2B96 adiw r28,11
  805. 791 0156 0FB6 in __tmp_reg__,__SREG__
  806. 792 0158 F894 cli
  807. 793 015a DEBF out __SP_H__,r29
  808. 794 015c 0FBE out __SREG__,__tmp_reg__
  809. 795 015e CDBF out __SP_L__,r28
  810. 796 0160 DF91 pop r29
  811. 797 0162 CF91 pop r28
  812. 798 0164 1F91 pop r17
  813. GAS LISTING /tmp/cc2yJz4P.s page 15
  814. 799 0166 0F91 pop r16
  815. 800 0168 FF90 pop r15
  816. 801 016a EF90 pop r14
  817. 802 016c DF90 pop r13
  818. 803 016e CF90 pop r12
  819. 804 0170 BF90 pop r11
  820. 805 0172 AF90 pop r10
  821. 806 0174 9F90 pop r9
  822. 807 0176 8F90 pop r8
  823. 808 0178 7F90 pop r7
  824. 809 017a 6F90 pop r6
  825. 810 017c 5F90 pop r5
  826. 811 017e 4F90 pop r4
  827. 812 0180 3F90 pop r3
  828. 813 0182 2F90 pop r2
  829. 814 0184 0895 ret
  830. 815 .size SpiAt45dPageWrite, .-SpiAt45dPageWrite
  831. 816 .section .text.SpiAt45dPageWrite_P,"ax",@progbits
  832. 817 .global SpiAt45dPageWrite_P
  833. 818 .type SpiAt45dPageWrite_P, @function
  834. 819 SpiAt45dPageWrite_P:
  835. 820 /* prologue: function */
  836. 821 /* frame size = 0 */
  837. 822 /* stack size = 0 */
  838. 823 .L__stack_usage = 0
  839. 824 0000 8FEF ldi r24,lo8(-1)
  840. 825 0002 9FEF ldi r25,lo8(-1)
  841. 826 0004 0895 ret
  842. 827 .size SpiAt45dPageWrite_P, .-SpiAt45dPageWrite_P
  843. 828 .section .text.SpiAt45dPages,"ax",@progbits
  844. 829 .global SpiAt45dPages
  845. 830 .type SpiAt45dPages, @function
  846. 831 SpiAt45dPages:
  847. 832 /* prologue: function */
  848. 833 /* frame size = 0 */
  849. 834 /* stack size = 0 */
  850. 835 .L__stack_usage = 0
  851. 836 0000 DC01 movw r26,r24
  852. 837 0002 5196 adiw r26,17
  853. 838 0004 ED91 ld r30,X+
  854. 839 0006 FC91 ld r31,X
  855. 840 0008 5297 sbiw r26,17+1
  856. 841 000a 0190 ld __tmp_reg__,Z+
  857. 842 000c F081 ld r31,Z
  858. 843 000e E02D mov r30,__tmp_reg__
  859. 844 0010 6181 ldd r22,Z+1
  860. 845 0012 7281 ldd r23,Z+2
  861. 846 0014 8381 ldd r24,Z+3
  862. 847 0016 9481 ldd r25,Z+4
  863. 848 0018 0895 ret
  864. 849 .size SpiAt45dPages, .-SpiAt45dPages
  865. 850 .section .text.SpiAt45dPageSize,"ax",@progbits
  866. 851 .global SpiAt45dPageSize
  867. 852 .type SpiAt45dPageSize, @function
  868. 853 SpiAt45dPageSize:
  869. 854 /* prologue: function */
  870. 855 /* frame size = 0 */
  871. GAS LISTING /tmp/cc2yJz4P.s page 16
  872. 856 /* stack size = 0 */
  873. 857 .L__stack_usage = 0
  874. 858 0000 DC01 movw r26,r24
  875. 859 0002 5196 adiw r26,17
  876. 860 0004 ED91 ld r30,X+
  877. 861 0006 FC91 ld r31,X
  878. 862 0008 5297 sbiw r26,17+1
  879. 863 000a 0190 ld __tmp_reg__,Z+
  880. 864 000c F081 ld r31,Z
  881. 865 000e E02D mov r30,__tmp_reg__
  882. 866 0010 8581 ldd r24,Z+5
  883. 867 0012 9681 ldd r25,Z+6
  884. 868 0014 0895 ret
  885. 869 .size SpiAt45dPageSize, .-SpiAt45dPageSize
  886. 870 .section .text.SpiAt45dIOCtl,"ax",@progbits
  887. 871 .global SpiAt45dIOCtl
  888. 872 .type SpiAt45dIOCtl, @function
  889. 873 SpiAt45dIOCtl:
  890. 874 /* prologue: function */
  891. 875 /* frame size = 0 */
  892. 876 /* stack size = 0 */
  893. 877 .L__stack_usage = 0
  894. 878 0000 6115 cp r22,__zero_reg__
  895. 879 0002 82E1 ldi r24,18
  896. 880 0004 7807 cpc r23,r24
  897. 881 0006 01F0 breq .L71
  898. 882 0008 6130 cpi r22,1
  899. 883 000a 7241 sbci r23,18
  900. 884 000c 01F4 brne .L76
  901. 885 000e FA01 movw r30,r20
  902. 886 0010 1182 std Z+1,__zero_reg__
  903. 887 0012 1082 st Z,__zero_reg__
  904. 888 0014 00C0 rjmp .L75
  905. 889 .L71:
  906. 890 0016 81E0 ldi r24,lo8(1)
  907. 891 0018 90E0 ldi r25,0
  908. 892 001a FA01 movw r30,r20
  909. 893 001c 9183 std Z+1,r25
  910. 894 001e 8083 st Z,r24
  911. 895 .L75:
  912. 896 0020 80E0 ldi r24,0
  913. 897 0022 90E0 ldi r25,0
  914. 898 0024 0895 ret
  915. 899 .L76:
  916. 900 0026 8FEF ldi r24,lo8(-1)
  917. 901 0028 9FEF ldi r25,lo8(-1)
  918. 902 002a 0895 ret
  919. 903 .size SpiAt45dIOCtl, .-SpiAt45dIOCtl
  920. 904 .ident "GCC: (GNU) 5.3.0"
  921. GAS LISTING /tmp/cc2yJz4P.s page 17
  922. DEFINED SYMBOLS
  923. *ABS*:0000000000000000 spi_at45d.c
  924. /tmp/cc2yJz4P.s:2 *ABS*:000000000000003e __SP_H__
  925. /tmp/cc2yJz4P.s:3 *ABS*:000000000000003d __SP_L__
  926. /tmp/cc2yJz4P.s:4 *ABS*:000000000000003f __SREG__
  927. /tmp/cc2yJz4P.s:5 *ABS*:000000000000003b __RAMPZ__
  928. /tmp/cc2yJz4P.s:6 *ABS*:0000000000000000 __tmp_reg__
  929. /tmp/cc2yJz4P.s:7 *ABS*:0000000000000001 __zero_reg__
  930. /tmp/cc2yJz4P.s:10 .text.At45dStatus:0000000000000000 At45dStatus
  931. /tmp/cc2yJz4P.s:101 .text.At45dCommand:0000000000000000 At45dCommand
  932. /tmp/cc2yJz4P.s:240 .text.SpiAt45dCommand:0000000000000000 SpiAt45dCommand
  933. /tmp/cc2yJz4P.s:271 .text.SpiAt45dStatus:0000000000000000 SpiAt45dStatus
  934. /tmp/cc2yJz4P.s:284 .text.SpiAt45dWaitReady:0000000000000000 SpiAt45dWaitReady
  935. /tmp/cc2yJz4P.s:351 .text.SpiAt45dPageErase:0000000000000000 SpiAt45dPageErase
  936. /tmp/cc2yJz4P.s:426 .text.SpiAt45dChipErase:0000000000000000 SpiAt45dChipErase
  937. /tmp/cc2yJz4P.s:438 .text.SpiAt45dInit:0000000000000000 SpiAt45dInit
  938. /tmp/cc2yJz4P.s:523 .text.SpiAt45dPageRead:0000000000000000 SpiAt45dPageRead
  939. /tmp/cc2yJz4P.s:607 .text.SpiAt45dPageWrite:0000000000000000 SpiAt45dPageWrite
  940. /tmp/cc2yJz4P.s:819 .text.SpiAt45dPageWrite_P:0000000000000000 SpiAt45dPageWrite_P
  941. /tmp/cc2yJz4P.s:831 .text.SpiAt45dPages:0000000000000000 SpiAt45dPages
  942. /tmp/cc2yJz4P.s:853 .text.SpiAt45dPageSize:0000000000000000 SpiAt45dPageSize
  943. /tmp/cc2yJz4P.s:873 .text.SpiAt45dIOCtl:0000000000000000 SpiAt45dIOCtl
  944. UNDEFINED SYMBOLS
  945. memset
  946. NutSleep
  947. at45d_known_types
  948. at45d_info