From a3c1de878af3464ea44dd4f3118d12b55a053ffb Mon Sep 17 00:00:00 2001 From: Alexander Heldt Date: Sat, 3 Aug 2024 11:50:37 +0200 Subject: [PATCH] Blink LED with timer --- build/final.elf | Bin 49840 -> 55116 bytes build/final.elf.map | 315 ++- build/main.S | 1743 ++++++++------ build/main.i | 113 +- build/main.o | Bin 47756 -> 48600 bytes build/timer.S | 5608 +++++++++++++++++++++++++++++++++++++++++++ build/timer.i | 2148 +++++++++++++++++ build/timer.o | Bin 0 -> 44612 bytes src/main.c | 25 +- src/rcc.h | 3 + 10 files changed, 9001 insertions(+), 954 deletions(-) create mode 100644 build/timer.S create mode 100644 build/timer.i create mode 100644 build/timer.o diff --git a/build/final.elf b/build/final.elf index 40a2191924ffe6be03801548097ea2bc3143d238..72a7ae973eff74ae76774e019bb5abccd9df6700 100755 GIT binary patch delta 6985 zcmdnc%6w)W^8^X5N)`qV69xu`kSi0FlvqEoFfe@B=((F;6eQls!oY!oCo2jH*TX~@ z7#J8}Y&z2Qs7^w6A`ST<4>K@q))Gu+s^8kQfnojs?~(r*K2-l;_%QQ_!zW(l>IO+~ z>FlZwA+AZA1l<^wx*P=EM7_A3g_Em07!@Vl{(pb@Pslqu>vsc#a&;lUcU0Ezj>}R% zwSV5Mu4K>_+0UrVpnQ8%^9M%e+ncHjt1Fp5FfvycR#jGa2)coE|Nh4W*8T7~2ZIHZ z0|N(x!(;)GkopfS3>*v$3<@yZuodLCQ~&>eZ~4!#|L^mLEez{nG>^A*4!4){2Nq`G z6fSQDC8-2XZw95P1a@!lZ}mpAl32a{zx^+|mBg@ruUqU7mg)j`hW#+hK<2P|OJ}fn zIe%be7EXYw;e;sSU~t&nBO=9A@5REvz{M6s*6GBEJ5ux92lmoP9-))3dLXL1f=U}0YXvXjv) z5@axl&BACN#=yYB31V|FIeP{%uyBFcJdBTH85mf&L2Lm=;TQ%679J2=gs~o^o>zd0 zfkA@tcoYKz3m-^afiVnZCO?R+!q^E?BLGsP!N?8LE4ZMZfq}t*u_T;%Lb_WC4vmoUHjSLJ7j124yObiTyllMp% z)pO1cW?+zDo5jSyz~ty0#J~m(_*D@M3~U@A?JSJTL2PKi2L~~*LBbsrO>EF$&yHna zV1ooZ14lu55d#PNUXY2-K@98=1HtZRhZxAfSrg8{5Wum6nW3J6$vMc7fdi%}$cTXh zqKNTXGy?+%#8$?W5ey6*P-}yO7&su-GP$}3F>pYvW%LebVBp{dIaq=*5X1(@whZGL zkTKu@P+)TQ3t`|80I5-73J7*);1H|_aWt45gMt`1z_G2v6yzMlz#$A0H(*>I!oa`* zj%^dh$|wc~4sdK+Fs=cKi-FYGFm42~!LjYYXcf!AzyXeJ7bX{wIg%hX9*prIHQ?Cx zVc`0r!oZ+$mYIQpt%ISSfq@OgWMF1wN(*9O;8Ij)U{HSvkz`+?u3=E8O7+M%1**~9&fq@;I{Z-;1+1~+_ z6&V;9J}@ybluuTWYO0?a$H2gt$v1<6fq|8o0Tl3dAQ5I>KCtsxc=8w+82B?lV##bB zEDRi=a*lD1KtD)Cl&yk=fkOc7a6u!G2pgLS3j;?ASfq)Ofq|(aj)8$gxQ2m&fyoQR zQ~)zWKuql#1_nt6rj|Gc20n<2co0(_q(Vq)vX!)Ey$uTks4QY&PAM*7;1>d$I5CHT zfeoaF!H^l^&uPpsf3AW0Gal;CTg(g$3i_b(jjUo$5obBa0V?Mp#hhF{>l6kC2F{}7 zWQHCVHV!6ecA;LuCxpM?1DB2hAVu(!4@bcVQbVZV1F0cY@PX7I3ch*<2K15-RPccm z5i0mVYKSZNz(oc~IX9%>V+92>54iNHXJz9MVP=4oKdeaQ4=Ymn!-`b?u!0TaVG0gn zU_~l_Sdq#fR;2QW6{-ATMJj(-q2*6Kr~qOW1eFhv@`n|v{9#2Ze^`;qA6BIDhZU*( zVMQu`Sdq#fR;2QW6Cbr~$h~*o1+ZWAj;AZ^k%AUXcADRWRQ%;r1^B1B)0;Ik%@U0|Tom1BhaS z`3&R@MK*Owh-FohlO5!g4TTw*IluwLZ3%W77t90PU=MIJFz~>`5UgafsJu3#%4A1* z=}1r!4lRoqbU=k5Lk1fI0}EIPR#L*sP*~{-mSkXHPyws|zz$Oni`NUF_?|pfUL`^t zRBA&_WA|WU;5fp>4z5ZV8KjY=z&5di?O})5B8n^xHkci3ECVa3L9w~ec{SJO6t5R=wvSQePyLfq~WNek20}YrSzeNRgR$2m=GFxju+(bu^ZNfz`S$ zih+UEP8=j+uMA>4T>xowwgFk-aswpdwjLzwt^~5c^M5!41FKg*NUygINTqKGi0u~* zQtw{?QWN+aWPMO4hzxE6sR^%N15y;>4KglT2*i$&0ZGSi1ZhiH4H8e@3o<&@9OT5b zHy|~c+d%B>M38t+ILPRHb`ZPp8puIKFF-~Yr-0Oy$$`YnZ-Cg9Euc`TS{MwDcLr9b zo3RY_46OWxAR`5)fE0>c1X(Wn1r#(Aq97+oegtWfxdxJzvjd6CzXn;T&=v_ZCLQER zZjLwx23DTWAP4a80;v#^1F05P09h?^JPf8f9AuJgCP+?hRg4G&1FJ$2$O^@@7_bti z4@{d2oiB2+SL%V%#reseerH%%8JKQuE^uDUl>muhW)?PBnq-HiNe|jEwYE&%nS+wFE{+`f_Ao zr7(eQ7V?*5DJ3xamb8>%xCo?lQr75#8BUqIUE2AwF$EM)YVEYhHUz2#} zpm=9jzj!Cl5CsEFRCDsd)n8bgor8=v?^@%}DCg|#8U(Q>C_cc)C&(odY>|;EL$I%N&}7+l zH4xKW{T!WqTop776>Mx2z~+O4b@GGdVv|>_6H)~UDQIXEmlTyImneY!rJ$t=QRxJ8 z$>bgDB6V_7Q{waU7>bLM^>Y(5^YoG#oLoYJ7y^8JJdJ`u;RNwxW?p6q!{mo+MJ8LX z_Y?*NUqC>RYrKnRSiGOVpR0nwdz`*eT|NsAt3`{kAJiH7blVlhf7(gi&)C`2F3*+T=I?l%cmj|U# zP_q#x?*W#dm?$~<@|M4bpe6&PA;QGK$H2gl0vX`~H%Yh|7#KjA3nmZZcT8s7HoG3A zk_SnpAw&t7WMTODAEXlGF0cRt#N-o5>Ot}#cOlEaL6WzGj(CFnuf)K_V2{eLXYfT8 zU`t8_2}47ft>+8vhI=s6Y|PAW+Z1 z!f+i;!Cf@|D>VLlH2xnXKFGm5jF3TQScr+B@#T^D^`JOWV+1=1;vxnX27NG}3Cd?= zutw4VQtyh!_d(-_pz&kC=7Gmr83Y)Z88Q&^^$Z{ba~T;JCPMo_ARm+?6oBQc85tNv zp`#Qa`F1q+3X#6>7{N-?dJp2Uh@*KaIw}fyRG;#(#>&e}l&V3FCtX zJV7DA#>BwT3msAd`H-6lH4X*Q_%djG6*Rss8s7?yZwKYq!xD)TQ~<{JK;!$N@q!X z*vT?E?w}Ie*;EFG9dVP}4k|IV9+|xApc>PuBa<&3RAc>jgn^-X^528XtS!euMyMWA z*8OmTfgyn%6x)!FE~rZkDkC{TGYjAX1VRK{U|_JATzW`ZqT@0H!)b^hn1p091_l7X C$xu`P delta 4473 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 diff --git a/build/final.elf.map b/build/final.elf.map index 8e44d1b..64b9935 100644 --- a/build/final.elf.map +++ b/build/final.elf.map @@ -35,6 +35,7 @@ Discarded input sections .group 0x00000000 0xc build/main.o .group 0x00000000 0xc build/main.o .group 0x00000000 0xc build/main.o + .group 0x00000000 0xc build/main.o .text 0x00000000 0x0 build/main.o .data 0x00000000 0x0 build/main.o .bss 0x00000000 0x0 build/main.o @@ -51,6 +52,7 @@ Discarded input sections .debug_macro 0x00000000 0x89 build/main.o .debug_macro 0x00000000 0x4cc build/main.o .debug_macro 0x00000000 0x22 build/main.o + .debug_macro 0x00000000 0x34 build/main.o .group 0x00000000 0xc build/startup.o .group 0x00000000 0xc build/startup.o .group 0x00000000 0xc build/startup.o @@ -64,6 +66,36 @@ Discarded input sections .debug_macro 0x00000000 0x103 build/startup.o .debug_macro 0x00000000 0x6a build/startup.o .debug_macro 0x00000000 0x1df build/startup.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .group 0x00000000 0xc build/timer.o + .text 0x00000000 0x0 build/timer.o + .data 0x00000000 0x0 build/timer.o + .bss 0x00000000 0x0 build/timer.o + .debug_macro 0x00000000 0x22 build/timer.o + .debug_macro 0x00000000 0x75 build/timer.o + .debug_macro 0x00000000 0x2a build/timer.o + .debug_macro 0x00000000 0x5c build/timer.o + .debug_macro 0x00000000 0x3c build/timer.o + .debug_macro 0x00000000 0x103 build/timer.o + .debug_macro 0x00000000 0x3a build/timer.o + .debug_macro 0x00000000 0x57 build/timer.o + .debug_macro 0x00000000 0x6a build/timer.o + .debug_macro 0x00000000 0x1df build/timer.o + .debug_macro 0x00000000 0x89 build/timer.o + .debug_macro 0x00000000 0x4cc build/timer.o + .debug_macro 0x00000000 0x22 build/timer.o Memory Configuration @@ -79,6 +111,7 @@ LOAD /nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/bin/ LOAD build/gpio.o LOAD build/main.o LOAD build/startup.o +LOAD build/timer.o 0x20020000 stack_start = (ORIGIN (sram) + LENGTH (sram)) .isr_vector 0x08000000 0x198 @@ -88,7 +121,7 @@ LOAD build/startup.o 0x08000000 interrupt_vector_table 0x08000198 . = ALIGN (0x4) -.text 0x08000198 0x2f4 +.text 0x08000198 0x358 0x08000198 . = ALIGN (0x4) *(.text) *(.text.*) @@ -101,109 +134,113 @@ LOAD build/startup.o *fill* 0x08000246 0x2 .text.system_clock_init 0x08000248 0x144 build/main.o - .text.spin 0x0800038c 0x22 build/main.o - *fill* 0x080003ae 0x2 - .text.main 0x080003b0 0x60 build/main.o - 0x080003b0 main + .text.main 0x0800038c 0x88 build/main.o + 0x0800038c main .text.init_memory - 0x08000410 0x64 build/startup.o - 0x08000410 init_memory - .text.reset 0x08000474 0x10 build/startup.o - 0x08000474 reset + 0x08000414 0x64 build/startup.o + 0x08000414 init_memory + .text.reset 0x08000478 0x10 build/startup.o + 0x08000478 reset .text.default_handler - 0x08000484 0x8 build/startup.o - 0x08000484 exti0 - 0x08000484 debug_monitor - 0x08000484 rcc - 0x08000484 x - 0x08000484 sdio - 0x08000484 usage_fault - 0x08000484 tim1_up_tim10 - 0x08000484 usart1 - 0x08000484 i2c3_er - 0x08000484 spi2 - 0x08000484 dma1_stream1 - 0x08000484 bus_fault - 0x08000484 spi5 - 0x08000484 exti3 - 0x08000484 dma2_stream5 - 0x08000484 tim2 - 0x08000484 dma1_stream6 - 0x08000484 default_handler - 0x08000484 i2c1_er - 0x08000484 hard_fault - 0x08000484 usart6 - 0x08000484 exti15_10 - 0x08000484 usart2 - 0x08000484 pend_sv - 0x08000484 i2c1_ev - 0x08000484 wwdg - 0x08000484 adc - 0x08000484 rtc_alarm - 0x08000484 spi3 - 0x08000484 exti1 - 0x08000484 mem_manage - 0x08000484 dma2_stream1 - 0x08000484 dma1_stream2 - 0x08000484 dma2_stream3 - 0x08000484 sv_call - 0x08000484 tim3 - 0x08000484 otg_fs - 0x08000484 dma1_stream5 - 0x08000484 dma2_stream6 - 0x08000484 flash - 0x08000484 tamp_stamp - 0x08000484 i2c3_ev - 0x08000484 rtc_wkup - 0x08000484 dma2_stream0 - 0x08000484 pvd - 0x08000484 fpu - 0x08000484 exti4 - 0x08000484 exti2 - 0x08000484 spi1 - 0x08000484 dma1_stream0 - 0x08000484 tim1_brk_tim9 - 0x08000484 i2c2_ev - 0x08000484 otg_fs_wkup - 0x08000484 spi4 - 0x08000484 dma2_stream2 - 0x08000484 tim1_cc - 0x08000484 tim1_trg_com_tim11 - 0x08000484 exti9_5 - 0x08000484 dma1_stream3 - 0x08000484 dma2_stream4 - 0x08000484 i2c2_er - 0x08000484 dma2_stream7 - 0x08000484 dma1_stream7 - 0x08000484 nmi - 0x08000484 systick - 0x08000484 tim4 - 0x08000484 tim5 - 0x08000484 dma1_stream4 + 0x08000488 0x8 build/startup.o + 0x08000488 exti0 + 0x08000488 debug_monitor + 0x08000488 rcc + 0x08000488 x + 0x08000488 sdio + 0x08000488 usage_fault + 0x08000488 tim1_up_tim10 + 0x08000488 usart1 + 0x08000488 i2c3_er + 0x08000488 spi2 + 0x08000488 dma1_stream1 + 0x08000488 bus_fault + 0x08000488 spi5 + 0x08000488 exti3 + 0x08000488 dma2_stream5 + 0x08000488 tim2 + 0x08000488 dma1_stream6 + 0x08000488 default_handler + 0x08000488 i2c1_er + 0x08000488 hard_fault + 0x08000488 usart6 + 0x08000488 exti15_10 + 0x08000488 usart2 + 0x08000488 pend_sv + 0x08000488 i2c1_ev + 0x08000488 wwdg + 0x08000488 adc + 0x08000488 rtc_alarm + 0x08000488 spi3 + 0x08000488 exti1 + 0x08000488 mem_manage + 0x08000488 dma2_stream1 + 0x08000488 dma1_stream2 + 0x08000488 dma2_stream3 + 0x08000488 sv_call + 0x08000488 tim3 + 0x08000488 otg_fs + 0x08000488 dma1_stream5 + 0x08000488 dma2_stream6 + 0x08000488 flash + 0x08000488 tamp_stamp + 0x08000488 i2c3_ev + 0x08000488 rtc_wkup + 0x08000488 dma2_stream0 + 0x08000488 pvd + 0x08000488 fpu + 0x08000488 exti4 + 0x08000488 exti2 + 0x08000488 spi1 + 0x08000488 dma1_stream0 + 0x08000488 tim1_brk_tim9 + 0x08000488 i2c2_ev + 0x08000488 otg_fs_wkup + 0x08000488 spi4 + 0x08000488 dma2_stream2 + 0x08000488 tim1_cc + 0x08000488 tim1_trg_com_tim11 + 0x08000488 exti9_5 + 0x08000488 dma1_stream3 + 0x08000488 dma2_stream4 + 0x08000488 i2c2_er + 0x08000488 dma2_stream7 + 0x08000488 dma1_stream7 + 0x08000488 nmi + 0x08000488 systick + 0x08000488 tim4 + 0x08000488 tim5 + 0x08000488 dma1_stream4 + .text.tim4_init + 0x08000490 0x40 build/timer.o + 0x08000490 tim4_init + .text.tim4_start + 0x080004d0 0x20 build/timer.o + 0x080004d0 tim4_start *(.rodata) *(.rodata.*) - 0x0800048c . = ALIGN (0x4) - 0x0800048c _data_addr = LOADADDR (.data) + 0x080004f0 . = ALIGN (0x4) + 0x080004f0 _data_addr = LOADADDR (.data) -.glue_7 0x0800048c 0x0 - .glue_7 0x0800048c 0x0 linker stubs +.glue_7 0x080004f0 0x0 + .glue_7 0x080004f0 0x0 linker stubs -.glue_7t 0x0800048c 0x0 - .glue_7t 0x0800048c 0x0 linker stubs +.glue_7t 0x080004f0 0x0 + .glue_7t 0x080004f0 0x0 linker stubs -.vfp11_veneer 0x0800048c 0x0 - .vfp11_veneer 0x0800048c 0x0 linker stubs +.vfp11_veneer 0x080004f0 0x0 + .vfp11_veneer 0x080004f0 0x0 linker stubs -.v4_bx 0x0800048c 0x0 - .v4_bx 0x0800048c 0x0 linker stubs +.v4_bx 0x080004f0 0x0 + .v4_bx 0x080004f0 0x0 linker stubs -.iplt 0x0800048c 0x0 - .iplt 0x0800048c 0x0 build/main.o +.iplt 0x080004f0 0x0 + .iplt 0x080004f0 0x0 build/main.o -.rel.dyn 0x0800048c 0x0 - .rel.iplt 0x0800048c 0x0 build/main.o +.rel.dyn 0x080004f0 0x0 + .rel.iplt 0x080004f0 0x0 build/main.o -.data 0x20000000 0x0 load address 0x0800048c +.data 0x20000000 0x0 load address 0x080004f0 0x20000000 . = ALIGN (0x4) 0x20000000 _data_start = . *(.data) @@ -211,10 +248,10 @@ LOAD build/startup.o 0x20000000 . = ALIGN (0x4) 0x20000000 _data_end = . -.igot.plt 0x20000000 0x0 load address 0x0800048c +.igot.plt 0x20000000 0x0 load address 0x080004f0 .igot.plt 0x20000000 0x0 build/main.o -.bss 0x20000000 0x0 load address 0x0800048c +.bss 0x20000000 0x0 load address 0x080004f0 0x20000000 . = ALIGN (0x4) 0x20000000 _bss_start = . *(.bss) @@ -224,34 +261,40 @@ LOAD build/startup.o OUTPUT(build/final.elf elf32-littlearm) LOAD linker stubs -.debug_info 0x00000000 0x6f5 +.debug_info 0x00000000 0xb25 .debug_info 0x00000000 0x21a build/gpio.o - .debug_info 0x0000021a 0x353 build/main.o - .debug_info 0x0000056d 0x188 build/startup.o + .debug_info 0x0000021a 0x44e build/main.o + .debug_info 0x00000668 0x188 build/startup.o + .debug_info 0x000007f0 0x335 build/timer.o -.debug_abbrev 0x00000000 0x397 +.debug_abbrev 0x00000000 0x44b .debug_abbrev 0x00000000 0x12b build/gpio.o - .debug_abbrev 0x0000012b 0x145 build/main.o - .debug_abbrev 0x00000270 0x127 build/startup.o + .debug_abbrev 0x0000012b 0x144 build/main.o + .debug_abbrev 0x0000026f 0x127 build/startup.o + .debug_abbrev 0x00000396 0xb5 build/timer.o -.debug_aranges 0x00000000 0x88 +.debug_aranges 0x00000000 0xa8 .debug_aranges 0x00000000 0x28 build/gpio.o .debug_aranges - 0x00000028 0x30 build/main.o + 0x00000028 0x28 build/main.o .debug_aranges - 0x00000058 0x30 build/startup.o + 0x00000050 0x30 build/startup.o + .debug_aranges + 0x00000080 0x28 build/timer.o .debug_rnglists - 0x00000000 0x58 + 0x00000000 0x6c .debug_rnglists 0x00000000 0x19 build/gpio.o .debug_rnglists - 0x00000019 0x20 build/main.o + 0x00000019 0x1b build/main.o .debug_rnglists - 0x00000039 0x1f build/startup.o + 0x00000034 0x1f build/startup.o + .debug_rnglists + 0x00000053 0x19 build/timer.o -.debug_macro 0x00000000 0x2f1d +.debug_macro 0x00000000 0x3ba0 .debug_macro 0x00000000 0xb56 build/gpio.o .debug_macro 0x00000b56 0x22 build/gpio.o .debug_macro 0x00000b78 0x75 build/gpio.o @@ -267,33 +310,39 @@ LOAD linker stubs .debug_macro 0x00001115 0x4cc build/gpio.o .debug_macro 0x000015e1 0x22 build/gpio.o .debug_macro 0x00001603 0x34 build/gpio.o - .debug_macro 0x00001637 0xb7d build/main.o - .debug_macro 0x000021b4 0x11e build/main.o - .debug_macro 0x000022d2 0x2e build/main.o - .debug_macro 0x00002300 0x46 build/main.o - .debug_macro 0x00002346 0x2e build/main.o - .debug_macro 0x00002374 0xb02 build/startup.o - .debug_macro 0x00002e76 0x56 build/startup.o - .debug_macro 0x00002ecc 0x51 build/startup.o + .debug_macro 0x00001637 0xb80 build/main.o + .debug_macro 0x000021b7 0x12a build/main.o + .debug_macro 0x000022e1 0x46 build/main.o + .debug_macro 0x00002327 0x2e build/main.o + .debug_macro 0x00002355 0x22 build/main.o + .debug_macro 0x00002377 0xb02 build/startup.o + .debug_macro 0x00002e79 0x56 build/startup.o + .debug_macro 0x00002ecf 0x51 build/startup.o + .debug_macro 0x00002f20 0xb5c build/timer.o + .debug_macro 0x00003a7c 0x124 build/timer.o -.debug_line 0x00000000 0x3ee +.debug_line 0x00000000 0x4b9 .debug_line 0x00000000 0x116 build/gpio.o - .debug_line 0x00000116 0x1ee build/main.o - .debug_line 0x00000304 0xea build/startup.o + .debug_line 0x00000116 0x1da build/main.o + .debug_line 0x000002f0 0xea build/startup.o + .debug_line 0x000003da 0xdf build/timer.o -.debug_str 0x00000000 0x5d86 +.debug_str 0x00000000 0x5eb8 .debug_str 0x00000000 0x5372 build/gpio.o 0x551a (size before relaxing) - .debug_str 0x00005372 0x98c build/main.o - 0x5e56 (size before relaxing) - .debug_str 0x00005cfe 0x88 build/startup.o + .debug_str 0x00005372 0xab2 build/main.o + 0x5f7c (size before relaxing) + .debug_str 0x00005e24 0x88 build/startup.o 0x3cdf (size before relaxing) + .debug_str 0x00005eac 0xc build/timer.o + 0x5b1a (size before relaxing) .comment 0x00000000 0x45 .comment 0x00000000 0x45 build/gpio.o 0x46 (size before relaxing) .comment 0x00000045 0x46 build/main.o .comment 0x00000045 0x46 build/startup.o + .comment 0x00000045 0x46 build/timer.o .ARM.attributes 0x00000000 0x34 @@ -303,20 +352,26 @@ LOAD linker stubs 0x00000034 0x34 build/main.o .ARM.attributes 0x00000068 0x34 build/startup.o + .ARM.attributes + 0x0000009c 0x34 build/timer.o .debug_line_str - 0x00000000 0x273 + 0x00000000 0x283 .debug_line_str 0x00000000 0x24e build/gpio.o 0x260 (size before relaxing) .debug_line_str - 0x0000024e 0x1b build/main.o - 0x274 (size before relaxing) + 0x0000024e 0x23 build/main.o + 0x27c (size before relaxing) .debug_line_str - 0x00000269 0xa build/startup.o + 0x00000271 0xa build/startup.o 0x21b (size before relaxing) + .debug_line_str + 0x0000027b 0x8 build/timer.o + 0x25e (size before relaxing) -.debug_frame 0x00000000 0x144 +.debug_frame 0x00000000 0x16c .debug_frame 0x00000000 0x60 build/gpio.o - .debug_frame 0x00000060 0x78 build/main.o - .debug_frame 0x000000d8 0x6c build/startup.o + .debug_frame 0x00000060 0x50 build/main.o + .debug_frame 0x000000b0 0x6c build/startup.o + .debug_frame 0x0000011c 0x50 build/timer.o diff --git a/build/main.S b/build/main.S index 6c86b0f..347c88a 100644 --- a/build/main.S +++ b/build/main.S @@ -25,7 +25,7 @@ .type system_clock_init, %function system_clock_init: .LFB0: - .loc 1 9 37 + .loc 1 12 37 .cfi_startproc @ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, uses_anonymous_args = 0 @@ -35,189 +35,189 @@ system_clock_init: .cfi_offset 7, -4 add r7, sp, #0 .cfi_def_cfa_register 7 - .loc 1 11 33 + .loc 1 14 33 ldr r3, .L5 ldr r3, [r3, #64] ldr r2, .L5 - .loc 1 11 43 + .loc 1 14 43 orr r3, r3, #268435456 str r3, [r2, #64] - .loc 1 14 33 + .loc 1 17 33 ldr r3, .L5+4 ldr r3, [r3] ldr r2, .L5+4 - .loc 1 14 38 + .loc 1 17 38 bic r3, r3, #49152 str r3, [r2] - .loc 1 15 33 + .loc 1 18 33 ldr r3, .L5+4 ldr r3, [r3] ldr r2, .L5+4 - .loc 1 15 38 + .loc 1 18 38 orr r3, r3, #49152 str r3, [r2] - .loc 1 18 33 + .loc 1 21 33 ldr r3, .L5 ldr r3, [r3] ldr r2, .L5 - .loc 1 18 38 + .loc 1 21 38 orr r3, r3, #65536 str r3, [r2] - .loc 1 22 9 + .loc 1 25 9 nop .L2: - .loc 1 22 42 discriminator 1 + .loc 1 25 42 discriminator 1 ldr r3, .L5 ldr r3, [r3] - .loc 1 22 47 discriminator 1 + .loc 1 25 47 discriminator 1 and r3, r3, #131072 - .loc 1 22 10 discriminator 1 + .loc 1 25 10 discriminator 1 cmp r3, #0 beq .L2 - .loc 1 26 33 + .loc 1 29 33 ldr r3, .L5 ldr r3, [r3] ldr r2, .L5 - .loc 1 26 38 + .loc 1 29 38 bic r3, r3, #16777216 str r3, [r2] - .loc 1 29 33 + .loc 1 32 33 ldr r3, .L5 ldr r3, [r3, #4] ldr r2, .L5 - .loc 1 29 43 + .loc 1 32 43 orr r3, r3, #4194304 str r3, [r2, #4] - .loc 1 32 33 + .loc 1 35 33 ldr r3, .L5 ldr r2, [r3, #4] ldr r1, .L5 - .loc 1 32 43 + .loc 1 35 43 ldr r3, .L5+8 orrs r3, r3, r2 str r3, [r1, #4] - .loc 1 35 33 + .loc 1 38 33 ldr r3, .L5 ldr r3, [r3, #8] ldr r2, .L5 - .loc 1 35 40 + .loc 1 38 40 bic r3, r3, #240 str r3, [r2, #8] - .loc 1 36 33 - ldr r3, .L5 - ldr r2, .L5 - ldr r3, [r3, #8] - .loc 1 36 40 - str r3, [r2, #8] .loc 1 39 33 ldr r3, .L5 - ldr r3, [r3, #8] ldr r2, .L5 + ldr r3, [r3, #8] .loc 1 39 40 - bic r3, r3, #7168 str r3, [r2, #8] - .loc 1 40 33 + .loc 1 42 33 ldr r3, .L5 ldr r3, [r3, #8] ldr r2, .L5 - .loc 1 40 40 - orr r3, r3, #4096 + .loc 1 42 40 + bic r3, r3, #7168 str r3, [r2, #8] .loc 1 43 33 ldr r3, .L5 ldr r3, [r3, #8] ldr r2, .L5 .loc 1 43 40 - bic r3, r3, #57344 + orr r3, r3, #4096 str r3, [r2, #8] - .loc 1 44 33 + .loc 1 46 33 ldr r3, .L5 - ldr r2, .L5 ldr r3, [r3, #8] - .loc 1 44 40 + ldr r2, .L5 + .loc 1 46 40 + bic r3, r3, #57344 str r3, [r2, #8] .loc 1 47 33 ldr r3, .L5 - ldr r3, [r3] ldr r2, .L5 - .loc 1 47 38 - orr r3, r3, #16777216 - str r3, [r2] - .loc 1 51 9 - nop -.L3: - .loc 1 51 42 discriminator 1 + ldr r3, [r3, #8] + .loc 1 47 40 + str r3, [r2, #8] + .loc 1 50 33 ldr r3, .L5 ldr r3, [r3] - .loc 1 51 47 discriminator 1 + ldr r2, .L5 + .loc 1 50 38 + orr r3, r3, #16777216 + str r3, [r2] + .loc 1 54 9 + nop +.L3: + .loc 1 54 42 discriminator 1 + ldr r3, .L5 + ldr r3, [r3] + .loc 1 54 47 discriminator 1 and r3, r3, #131072 - .loc 1 51 10 discriminator 1 + .loc 1 54 10 discriminator 1 cmp r3, #0 beq .L3 - .loc 1 54 35 + .loc 1 57 35 ldr r3, .L5+12 ldr r3, [r3] ldr r2, .L5+12 - .loc 1 54 41 + .loc 1 57 41 orr r3, r3, #1024 str r3, [r2] - .loc 1 55 35 - ldr r3, .L5+12 - ldr r3, [r3] - ldr r2, .L5+12 - .loc 1 55 41 - orr r3, r3, #512 - str r3, [r2] .loc 1 58 35 ldr r3, .L5+12 ldr r3, [r3] ldr r2, .L5+12 .loc 1 58 41 + orr r3, r3, #512 + str r3, [r2] + .loc 1 61 35 + ldr r3, .L5+12 + ldr r3, [r3] + ldr r2, .L5+12 + .loc 1 61 41 bic r3, r3, #15 str r3, [r2] - .loc 1 59 33 - ldr r3, .L5 - ldr r3, [r3, #8] - ldr r2, .L5 - .loc 1 59 40 - orr r3, r3, #272 - orr r3, r3, #1 - str r3, [r2, #8] .loc 1 62 33 ldr r3, .L5 ldr r3, [r3, #8] ldr r2, .L5 .loc 1 62 40 - bic r3, r3, #3 + orr r3, r3, #272 + orr r3, r3, #1 str r3, [r2, #8] - .loc 1 63 33 + .loc 1 65 33 ldr r3, .L5 ldr r3, [r3, #8] ldr r2, .L5 - .loc 1 63 40 - orr r3, r3, #2 + .loc 1 65 40 + bic r3, r3, #3 str r3, [r2, #8] - .loc 1 67 9 - nop -.L4: - .loc 1 67 42 discriminator 1 + .loc 1 66 33 ldr r3, .L5 ldr r3, [r3, #8] - .loc 1 67 49 discriminator 1 + ldr r2, .L5 + .loc 1 66 40 + orr r3, r3, #2 + str r3, [r2, #8] + .loc 1 70 9 + nop +.L4: + .loc 1 70 42 discriminator 1 + ldr r3, .L5 + ldr r3, [r3, #8] + .loc 1 70 49 discriminator 1 lsrs r3, r3, #2 - .loc 1 67 55 discriminator 1 + .loc 1 70 55 discriminator 1 and r3, r3, #3 - .loc 1 67 65 discriminator 1 + .loc 1 70 65 discriminator 1 cmp r3, #2 bne .L4 - .loc 1 70 33 + .loc 1 73 33 ldr r3, .L5 ldr r3, [r3] ldr r2, .L5 - .loc 1 70 38 + .loc 1 73 38 bic r3, r3, #1 str r3, [r2] - .loc 1 71 1 + .loc 1 74 1 nop mov sp, r7 .cfi_def_cfa_register 13 @@ -236,52 +236,6 @@ system_clock_init: .cfi_endproc .LFE0: .size system_clock_init, .-system_clock_init - .section .text.spin,"ax",%progbits - .align 1 - .syntax unified - .thumb - .thumb_func - .type spin, %function -spin: -.LFB1: - .loc 1 73 50 - .cfi_startproc - @ args = 0, pretend = 0, frame = 8 - @ frame_needed = 1, uses_anonymous_args = 0 - @ link register save eliminated. - push {r7} - .cfi_def_cfa_offset 4 - .cfi_offset 7, -4 - sub sp, sp, #12 - .cfi_def_cfa_offset 16 - add r7, sp, #0 - .cfi_def_cfa_register 7 - str r0, [r7, #4] - .loc 1 74 9 - nop -.L8: - .loc 1 74 15 discriminator 1 - ldr r3, [r7, #4] - subs r2, r3, #1 - str r2, [r7, #4] - .loc 1 74 10 discriminator 1 - cmp r3, #0 - bne .L8 - .loc 1 75 1 - nop - nop - adds r7, r7, #12 - .cfi_def_cfa_offset 4 - mov sp, r7 - .cfi_def_cfa_register 13 - @ sp needed - ldr r7, [sp], #4 - .cfi_restore 7 - .cfi_def_cfa_offset 0 - bx lr - .cfi_endproc -.LFE1: - .size spin, .-spin .section .text.main,"ax",%progbits .align 1 .global main @@ -290,8 +244,8 @@ spin: .thumb_func .type main, %function main: -.LFB2: - .loc 1 77 16 +.LFB1: + .loc 1 76 16 .cfi_startproc @ args = 0, pretend = 0, frame = 8 @ frame_needed = 1, uses_anonymous_args = 0 @@ -303,60 +257,89 @@ main: .cfi_def_cfa_offset 16 add r7, sp, #0 .cfi_def_cfa_register 7 - .loc 1 78 3 + .loc 1 77 3 bl system_clock_init - .loc 1 80 12 + .loc 1 78 3 + bl tim4_init + .loc 1 80 3 + bl tim4_start + .loc 1 82 12 movw r3, #525 - strh r3, [r7, #6] @ movhi - .loc 1 81 33 - ldr r3, .L11 + strh r3, [r7, #2] @ movhi + .loc 1 83 33 + ldr r3, .L10 ldr r3, [r3, #48] - .loc 1 81 57 - ldrh r2, [r7, #6] + .loc 1 83 57 + ldrh r2, [r7, #2] lsrs r2, r2, #8 uxth r2, r2 mov r1, r2 - .loc 1 81 49 + .loc 1 83 49 movs r2, #1 lsls r2, r2, r1 mov r1, r2 - .loc 1 81 33 - ldr r2, .L11 - .loc 1 81 43 + .loc 1 83 33 + ldr r2, .L10 + .loc 1 83 43 orrs r3, r3, r1 str r3, [r2, #48] - .loc 1 82 3 - ldrh r3, [r7, #6] + .loc 1 84 3 + ldrh r3, [r7, #2] movs r1, #1 mov r0, r3 bl gpio_set_mode -.L10: - .loc 1 84 5 discriminator 1 + .loc 1 86 54 + ldr r3, .L10+4 + ldr r3, [r3, #36] + .loc 1 86 12 + strh r3, [r7, #6] @ movhi + .loc 1 87 7 + movs r3, #0 + strb r3, [r7, #5] +.L9: + .loc 1 89 39 + ldr r3, .L10+4 + ldr r2, [r3, #36] + .loc 1 89 45 ldrh r3, [r7, #6] - movs r1, #1 + subs r3, r2, r3 + .loc 1 89 5 + cmp r3, #249 + bls .L9 + .loc 1 90 3 + ldrb r3, [r7, #5] @ zero_extendqisi2 + cmp r3, #0 + ite ne + movne r3, #1 + moveq r3, #0 + uxtb r3, r3 + eor r3, r3, #1 + uxtb r3, r3 + .loc 1 90 10 + strb r3, [r7, #5] + ldrb r3, [r7, #5] + and r3, r3, #1 + strb r3, [r7, #5] + .loc 1 91 3 + ldrb r2, [r7, #5] @ zero_extendqisi2 + ldrh r3, [r7, #2] + mov r1, r2 mov r0, r3 bl gpio_write - .loc 1 85 5 discriminator 1 - ldr r0, .L11+4 - bl spin - .loc 1 86 5 discriminator 1 - ldrh r3, [r7, #6] - movs r1, #0 - mov r0, r3 - bl gpio_write - .loc 1 87 5 discriminator 1 - ldr r0, .L11+4 - bl spin - .loc 1 84 5 discriminator 1 - nop - b .L10 -.L12: - .align 2 + .loc 1 93 45 + ldr r3, .L10+4 + ldr r3, [r3, #36] + .loc 1 93 11 + strh r3, [r7, #6] @ movhi + .loc 1 89 5 + b .L9 .L11: + .align 2 +.L10: .word 1073887232 - .word 999999 + .word 1073743872 .cfi_endproc -.LFE2: +.LFE1: .size main, .-main .text .Letext0: @@ -366,82 +349,83 @@ main: .file 5 "src/gpio.h" .file 6 "src/flash.h" .file 7 "src/pwr.h" + .file 8 "src/timer.h" .section .debug_info,"",%progbits .Ldebug_info0: - .4byte 0x34f + .4byte 0x44a .2byte 0x5 .byte 0x1 .byte 0x4 .4byte .Ldebug_abbrev0 - .uleb128 0xa - .4byte .LASF979 + .uleb128 0xd + .4byte .LASF1002 .byte 0x1d - .4byte .LASF980 - .4byte .LASF981 + .4byte .LASF1003 + .4byte .LASF1004 .4byte .LLRL0 .4byte 0 .4byte .Ldebug_line0 .4byte .Ldebug_macro0 - .uleb128 0x2 + .uleb128 0x3 .byte 0x1 .byte 0x6 - .4byte .LASF929 - .uleb128 0x2 + .4byte .LASF936 + .uleb128 0x3 .byte 0x1 .byte 0x8 - .4byte .LASF930 - .uleb128 0x2 + .4byte .LASF937 + .uleb128 0x3 .byte 0x2 .byte 0x5 - .4byte .LASF931 + .4byte .LASF938 .uleb128 0x4 - .4byte .LASF934 + .4byte .LASF941 .byte 0x2 .byte 0x39 .byte 0x1c .4byte 0x4b - .uleb128 0x2 + .uleb128 0x3 .byte 0x2 .byte 0x7 - .4byte .LASF932 - .uleb128 0x2 + .4byte .LASF939 + .uleb128 0x3 .byte 0x4 .byte 0x5 - .4byte .LASF933 + .4byte .LASF940 .uleb128 0x4 - .4byte .LASF935 + .4byte .LASF942 .byte 0x2 .byte 0x4f .byte 0x1b .4byte 0x65 - .uleb128 0x2 + .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF936 - .uleb128 0x2 + .4byte .LASF943 + .uleb128 0x3 .byte 0x8 .byte 0x5 - .4byte .LASF937 - .uleb128 0x2 + .4byte .LASF944 + .uleb128 0x3 .byte 0x8 .byte 0x7 - .4byte .LASF938 - .uleb128 0xb + .4byte .LASF945 + .uleb128 0xe .byte 0x4 .byte 0x5 .ascii "int\000" - .uleb128 0x2 + .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF939 + .4byte .LASF946 .uleb128 0x4 - .4byte .LASF940 + .4byte .LASF947 .byte 0x3 .byte 0x24 .byte 0x14 .4byte 0x3f .uleb128 0x4 - .4byte .LASF941 + .4byte .LASF948 .byte 0x3 .byte 0x30 .byte 0x14 @@ -453,185 +437,185 @@ main: .byte 0x8c .byte 0x4 .4byte 0x200 - .uleb128 0x3 + .uleb128 0x2 .ascii "CR\000" .byte 0x4 .byte 0x7 .4byte 0xa0 .byte 0 .uleb128 0x1 - .4byte .LASF942 + .4byte .LASF949 .byte 0x4 .byte 0x8 .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF943 + .4byte .LASF950 .byte 0x4 .byte 0x9 .4byte 0xa0 .byte 0x8 - .uleb128 0x3 + .uleb128 0x2 .ascii "CIR\000" .byte 0x4 .byte 0xa .4byte 0xa0 .byte 0xc .uleb128 0x1 - .4byte .LASF944 + .4byte .LASF951 .byte 0x4 .byte 0xb .4byte 0xa0 .byte 0x10 .uleb128 0x1 - .4byte .LASF945 + .4byte .LASF952 .byte 0x4 .byte 0xc .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF946 + .4byte .LASF953 .byte 0x4 .byte 0xd .4byte 0x210 .byte 0x18 .uleb128 0x1 - .4byte .LASF947 + .4byte .LASF954 .byte 0x4 .byte 0xe .4byte 0xa0 .byte 0x20 .uleb128 0x1 - .4byte .LASF948 + .4byte .LASF955 .byte 0x4 .byte 0xf .4byte 0xa0 .byte 0x24 .uleb128 0x1 - .4byte .LASF949 + .4byte .LASF956 .byte 0x4 .byte 0x10 .4byte 0x210 .byte 0x28 .uleb128 0x1 - .4byte .LASF950 + .4byte .LASF957 .byte 0x4 .byte 0x11 .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF951 + .4byte .LASF958 .byte 0x4 .byte 0x12 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF952 + .4byte .LASF959 .byte 0x4 .byte 0x13 .4byte 0x210 .byte 0x38 .uleb128 0x1 - .4byte .LASF953 + .4byte .LASF960 .byte 0x4 .byte 0x14 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF954 + .4byte .LASF961 .byte 0x4 .byte 0x15 .4byte 0xa0 .byte 0x44 .uleb128 0x1 - .4byte .LASF955 + .4byte .LASF962 .byte 0x4 .byte 0x16 .4byte 0x210 .byte 0x48 .uleb128 0x1 - .4byte .LASF956 + .4byte .LASF963 .byte 0x4 .byte 0x17 .4byte 0xa0 .byte 0x50 .uleb128 0x1 - .4byte .LASF957 + .4byte .LASF964 .byte 0x4 .byte 0x18 .4byte 0xa0 .byte 0x54 .uleb128 0x1 - .4byte .LASF958 + .4byte .LASF965 .byte 0x4 .byte 0x19 .4byte 0x210 .byte 0x58 .uleb128 0x1 - .4byte .LASF959 + .4byte .LASF966 .byte 0x4 .byte 0x1a .4byte 0xa0 .byte 0x60 .uleb128 0x1 - .4byte .LASF960 + .4byte .LASF967 .byte 0x4 .byte 0x1b .4byte 0xa0 .byte 0x64 .uleb128 0x1 - .4byte .LASF961 + .4byte .LASF968 .byte 0x4 .byte 0x1c .4byte 0x210 .byte 0x68 .uleb128 0x1 - .4byte .LASF962 + .4byte .LASF969 .byte 0x4 .byte 0x1d .4byte 0xa0 .byte 0x70 - .uleb128 0x3 + .uleb128 0x2 .ascii "CSR\000" .byte 0x4 .byte 0x1e .4byte 0xa0 .byte 0x74 .uleb128 0x1 - .4byte .LASF963 + .4byte .LASF970 .byte 0x4 .byte 0x1f .4byte 0x210 .byte 0x78 .uleb128 0x1 - .4byte .LASF964 + .4byte .LASF971 .byte 0x4 .byte 0x20 .4byte 0xa0 .byte 0x80 .uleb128 0x1 - .4byte .LASF965 + .4byte .LASF972 .byte 0x4 .byte 0x21 .4byte 0xa0 .byte 0x84 .uleb128 0x1 - .4byte .LASF966 + .4byte .LASF973 .byte 0x4 .byte 0x22 .4byte 0xa0 .byte 0x88 .byte 0 - .uleb128 0xc + .uleb128 0xf .4byte 0xa0 .4byte 0x210 - .uleb128 0xd + .uleb128 0x10 .4byte 0x81 .byte 0x1 .byte 0 .uleb128 0x7 .4byte 0x200 - .uleb128 0xe + .uleb128 0x11 .byte 0x7 .byte 0x1 .4byte 0x31 @@ -640,63 +624,61 @@ main: .byte 0xe .4byte 0x23c .uleb128 0x5 - .4byte .LASF967 + .4byte .LASF974 .byte 0 .uleb128 0x5 - .4byte .LASF968 + .4byte .LASF975 .byte 0x1 .uleb128 0x5 - .4byte .LASF969 + .4byte .LASF976 .byte 0x2 .uleb128 0x5 - .4byte .LASF970 + .4byte .LASF977 .byte 0x3 .byte 0 .uleb128 0x4 - .4byte .LASF971 + .4byte .LASF978 .byte 0x5 .byte 0x25 .byte 0x3 .4byte 0x215 - .uleb128 0xf - .4byte .LASF972 + .uleb128 0x9 + .4byte .LASF979 .byte 0x18 .byte 0x6 - .byte 0x6 - .byte 0x8 - .4byte 0x29c - .uleb128 0x3 + .4byte 0x29a + .uleb128 0x2 .ascii "ACR\000" .byte 0x6 .byte 0x7 .4byte 0xa0 .byte 0 .uleb128 0x1 - .4byte .LASF973 + .4byte .LASF980 .byte 0x6 .byte 0x8 .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF974 + .4byte .LASF981 .byte 0x6 .byte 0x9 .4byte 0xa0 .byte 0x8 - .uleb128 0x3 + .uleb128 0x2 .ascii "SR\000" .byte 0x6 .byte 0xa .4byte 0xa0 .byte 0xc - .uleb128 0x3 + .uleb128 0x2 .ascii "CR\000" .byte 0x6 .byte 0xb .4byte 0xa0 .byte 0x10 .uleb128 0x1 - .4byte .LASF975 + .4byte .LASF982 .byte 0x6 .byte 0xc .4byte 0xa0 @@ -706,14 +688,14 @@ main: .ascii "pwr\000" .byte 0x8 .byte 0x7 - .4byte 0x2bf - .uleb128 0x3 + .4byte 0x2bd + .uleb128 0x2 .ascii "CR\000" .byte 0x7 .byte 0x7 .4byte 0xa0 .byte 0 - .uleb128 0x3 + .uleb128 0x2 .ascii "CSR\000" .byte 0x7 .byte 0x8 @@ -721,72 +703,200 @@ main: .byte 0x4 .byte 0 .uleb128 0x9 - .4byte .LASF977 + .4byte .LASF983 + .byte 0x50 + .byte 0x8 + .4byte 0x3b8 + .uleb128 0x2 + .ascii "CR1\000" + .byte 0x8 + .byte 0x7 + .4byte 0xa0 + .byte 0 + .uleb128 0x2 + .ascii "CR2\000" + .byte 0x8 + .byte 0x8 + .4byte 0xa0 + .byte 0x4 + .uleb128 0x1 + .4byte .LASF984 + .byte 0x8 + .byte 0x9 + .4byte 0xa0 + .byte 0x8 + .uleb128 0x1 + .4byte .LASF985 + .byte 0x8 + .byte 0xa + .4byte 0xa0 + .byte 0xc + .uleb128 0x2 + .ascii "SR\000" + .byte 0x8 + .byte 0xb + .4byte 0xa0 + .byte 0x10 + .uleb128 0x2 + .ascii "EGR\000" + .byte 0x8 + .byte 0xc + .4byte 0xa0 + .byte 0x14 + .uleb128 0x1 + .4byte .LASF986 + .byte 0x8 + .byte 0xd + .4byte 0xa0 + .byte 0x18 + .uleb128 0x1 + .4byte .LASF987 + .byte 0x8 + .byte 0xe + .4byte 0xa0 + .byte 0x1c + .uleb128 0x1 + .4byte .LASF988 + .byte 0x8 + .byte 0xf + .4byte 0xa0 + .byte 0x20 + .uleb128 0x2 + .ascii "CNT\000" + .byte 0x8 + .byte 0x10 + .4byte 0xa0 + .byte 0x24 + .uleb128 0x2 + .ascii "PSC\000" + .byte 0x8 + .byte 0x11 + .4byte 0xa0 .byte 0x28 - .4byte 0x2d4 + .uleb128 0x2 + .ascii "ARR\000" + .byte 0x8 + .byte 0x12 + .4byte 0xa0 + .byte 0x2c + .uleb128 0x2 + .ascii "RCR\000" + .byte 0x8 + .byte 0x13 + .4byte 0xa0 + .byte 0x30 + .uleb128 0x1 + .4byte .LASF989 + .byte 0x8 + .byte 0x14 + .4byte 0xa0 + .byte 0x34 + .uleb128 0x1 + .4byte .LASF990 + .byte 0x8 + .byte 0x15 + .4byte 0xa0 + .byte 0x38 + .uleb128 0x1 + .4byte .LASF991 + .byte 0x8 + .byte 0x16 + .4byte 0xa0 + .byte 0x3c + .uleb128 0x1 + .4byte .LASF992 + .byte 0x8 + .byte 0x17 + .4byte 0xa0 + .byte 0x40 + .uleb128 0x1 + .4byte .LASF993 + .byte 0x8 + .byte 0x18 + .4byte 0xa0 + .byte 0x44 + .uleb128 0x2 + .ascii "DCR\000" + .byte 0x8 + .byte 0x19 + .4byte 0xa0 + .byte 0x48 + .uleb128 0x1 + .4byte .LASF994 + .byte 0x8 + .byte 0x1a + .4byte 0xa0 + .byte 0x4c + .byte 0 + .uleb128 0xa + .4byte .LASF996 + .byte 0x28 + .4byte 0x3cd .uleb128 0x6 .4byte 0x88 .uleb128 0x6 - .4byte 0x2d4 + .4byte 0x3cd .byte 0 - .uleb128 0x2 + .uleb128 0x3 .byte 0x1 .byte 0x2 - .4byte .LASF976 - .uleb128 0x9 - .4byte .LASF978 + .4byte .LASF995 + .uleb128 0xa + .4byte .LASF997 .byte 0x27 - .4byte 0x2f0 + .4byte 0x3e9 .uleb128 0x6 .4byte 0x88 .uleb128 0x6 .4byte 0x23c .byte 0 - .uleb128 0x10 - .4byte .LASF982 + .uleb128 0xb + .4byte .LASF998 + .byte 0x24 + .uleb128 0xb + .4byte .LASF999 + .byte 0x23 + .uleb128 0x12 + .4byte .LASF1005 .byte 0x1 - .byte 0x4d + .byte 0x4c .byte 0x5 .4byte 0x7a - .4byte .LFB2 - .4byte .LFE2-.LFB2 + .4byte .LFB1 + .4byte .LFE1-.LFB1 .uleb128 0x1 .byte 0x9c - .4byte 0x31a - .uleb128 0x11 + .4byte 0x43b + .uleb128 0x13 .ascii "led\000" .byte 0x1 - .byte 0x50 + .byte 0x52 + .byte 0xc + .4byte 0x88 + .uleb128 0x2 + .byte 0x91 + .sleb128 -14 + .uleb128 0xc + .4byte .LASF1000 + .byte 0x56 .byte 0xc .4byte 0x88 .uleb128 0x2 .byte 0x91 .sleb128 -10 - .byte 0 - .uleb128 0x12 - .4byte .LASF983 - .byte 0x1 - .byte 0x49 - .byte 0x14 - .4byte .LFB1 - .4byte .LFE1-.LFB1 - .uleb128 0x1 - .byte 0x9c - .4byte 0x340 - .uleb128 0x13 - .4byte .LASF984 - .byte 0x1 - .byte 0x49 - .byte 0x2b - .4byte 0xa0 + .uleb128 0xc + .4byte .LASF1001 + .byte 0x57 + .byte 0x7 + .4byte 0x3cd .uleb128 0x2 .byte 0x91 - .sleb128 -12 + .sleb128 -11 .byte 0 .uleb128 0x14 - .4byte .LASF985 + .4byte .LASF1006 .byte 0x1 - .byte 0x9 + .byte 0xc .byte 0xd .4byte .LFB0 .4byte .LFE0-.LFB0 @@ -814,17 +924,6 @@ main: .byte 0 .byte 0 .uleb128 0x2 - .uleb128 0x24 - .byte 0 - .uleb128 0xb - .uleb128 0xb - .uleb128 0x3e - .uleb128 0xb - .uleb128 0x3 - .uleb128 0xe - .byte 0 - .byte 0 - .uleb128 0x3 .uleb128 0xd .byte 0 .uleb128 0x3 @@ -842,6 +941,17 @@ main: .uleb128 0xb .byte 0 .byte 0 + .uleb128 0x3 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 .uleb128 0x4 .uleb128 0x16 .byte 0 @@ -900,6 +1010,25 @@ main: .byte 0 .byte 0 .uleb128 0x9 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x21 + .sleb128 6 + .uleb128 0x39 + .uleb128 0x21 + .sleb128 8 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xa .uleb128 0x2e .byte 0x1 .uleb128 0x3f @@ -922,7 +1051,46 @@ main: .uleb128 0x13 .byte 0 .byte 0 - .uleb128 0xa + .uleb128 0xb + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 8 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 6 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0xd .uleb128 0x11 .byte 0x1 .uleb128 0x25 @@ -943,7 +1111,7 @@ main: .uleb128 0x17 .byte 0 .byte 0 - .uleb128 0xb + .uleb128 0xe .uleb128 0x24 .byte 0 .uleb128 0xb @@ -954,7 +1122,7 @@ main: .uleb128 0x8 .byte 0 .byte 0 - .uleb128 0xc + .uleb128 0xf .uleb128 0x1 .byte 0x1 .uleb128 0x49 @@ -963,7 +1131,7 @@ main: .uleb128 0x13 .byte 0 .byte 0 - .uleb128 0xd + .uleb128 0x10 .uleb128 0x21 .byte 0 .uleb128 0x49 @@ -972,7 +1140,7 @@ main: .uleb128 0xb .byte 0 .byte 0 - .uleb128 0xe + .uleb128 0x11 .uleb128 0x4 .byte 0x1 .uleb128 0x3e @@ -991,24 +1159,7 @@ main: .uleb128 0x13 .byte 0 .byte 0 - .uleb128 0xf - .uleb128 0x13 - .byte 0x1 - .uleb128 0x3 - .uleb128 0xe - .uleb128 0xb - .uleb128 0xb - .uleb128 0x3a - .uleb128 0xb - .uleb128 0x3b - .uleb128 0xb - .uleb128 0x39 - .uleb128 0xb - .uleb128 0x1 - .uleb128 0x13 - .byte 0 - .byte 0 - .uleb128 0x10 + .uleb128 0x12 .uleb128 0x2e .byte 0x1 .uleb128 0x3f @@ -1037,7 +1188,7 @@ main: .uleb128 0x13 .byte 0 .byte 0 - .uleb128 0x11 + .uleb128 0x13 .uleb128 0x34 .byte 0 .uleb128 0x3 @@ -1054,48 +1205,6 @@ main: .uleb128 0x18 .byte 0 .byte 0 - .uleb128 0x12 - .uleb128 0x2e - .byte 0x1 - .uleb128 0x3 - .uleb128 0xe - .uleb128 0x3a - .uleb128 0xb - .uleb128 0x3b - .uleb128 0xb - .uleb128 0x39 - .uleb128 0xb - .uleb128 0x27 - .uleb128 0x19 - .uleb128 0x11 - .uleb128 0x1 - .uleb128 0x12 - .uleb128 0x6 - .uleb128 0x40 - .uleb128 0x18 - .uleb128 0x7a - .uleb128 0x19 - .uleb128 0x1 - .uleb128 0x13 - .byte 0 - .byte 0 - .uleb128 0x13 - .uleb128 0x5 - .byte 0 - .uleb128 0x3 - .uleb128 0xe - .uleb128 0x3a - .uleb128 0xb - .uleb128 0x3b - .uleb128 0xb - .uleb128 0x39 - .uleb128 0xb - .uleb128 0x49 - .uleb128 0x13 - .uleb128 0x2 - .uleb128 0x18 - .byte 0 - .byte 0 .uleb128 0x14 .uleb128 0x2e .byte 0 @@ -1121,7 +1230,7 @@ main: .byte 0 .byte 0 .section .debug_aranges,"",%progbits - .4byte 0x2c + .4byte 0x24 .2byte 0x2 .4byte .Ldebug_info0 .byte 0x4 @@ -1132,8 +1241,6 @@ main: .4byte .LFE0-.LFB0 .4byte .LFB1 .4byte .LFE1-.LFB1 - .4byte .LFB2 - .4byte .LFE2-.LFB2 .4byte 0 .4byte 0 .section .debug_rnglists,"",%progbits @@ -1151,9 +1258,6 @@ main: .byte 0x7 .4byte .LFB1 .uleb128 .LFE1-.LFB1 - .byte 0x7 - .4byte .LFB2 - .uleb128 .LFE2-.LFB2 .byte 0 .Ldebug_ranges3: .section .debug_macro,"",%progbits @@ -2526,76 +2630,76 @@ main: .byte 0x5 .uleb128 0 .4byte .LASF453 - .file 8 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" + .file 9 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" .byte 0x3 .uleb128 0x1 - .uleb128 0x8 + .uleb128 0x9 .byte 0x5 .uleb128 0xe .4byte .LASF454 - .file 9 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" + .file 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" .byte 0x3 .uleb128 0x10 - .uleb128 0x9 + .uleb128 0xa .byte 0x5 .uleb128 0x7 .4byte .LASF455 - .file 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_newlib_version.h" + .file 11 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_newlib_version.h" .byte 0x3 .uleb128 0xa - .uleb128 0xa + .uleb128 0xb .byte 0x7 .4byte .Ldebug_macro2 .byte 0x4 .byte 0x7 .4byte .Ldebug_macro3 .byte 0x4 - .file 11 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" + .file 12 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" .byte 0x3 .uleb128 0x11 - .uleb128 0xb + .uleb128 0xc .byte 0x5 .uleb128 0x2 .4byte .LASF478 - .file 12 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/ieeefp.h" + .file 13 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/ieeefp.h" .byte 0x3 .uleb128 0x4 - .uleb128 0xc + .uleb128 0xd .byte 0x7 .4byte .Ldebug_macro4 .byte 0x4 - .file 13 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" + .file 14 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" .byte 0x3 .uleb128 0x5 - .uleb128 0xd + .uleb128 0xe .byte 0x7 .4byte .Ldebug_macro5 .byte 0x4 .byte 0x7 .4byte .Ldebug_macro6 .byte 0x4 - .file 14 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" + .file 15 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" .byte 0x3 .uleb128 0x12 - .uleb128 0xe + .uleb128 0xf .byte 0x7 .4byte .Ldebug_macro7 .byte 0x4 - .file 15 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_ansi.h" + .file 16 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_ansi.h" .byte 0x3 .uleb128 0x13 - .uleb128 0xf + .uleb128 0x10 .byte 0x7 .4byte .Ldebug_macro8 .byte 0x4 - .file 16 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdint.h" + .file 17 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdint.h" .byte 0x3 .uleb128 0x14 - .uleb128 0x10 - .file 17 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" + .uleb128 0x11 + .file 18 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" .byte 0x3 .uleb128 0x9 - .uleb128 0x11 + .uleb128 0x12 .byte 0x5 .uleb128 0xa .4byte .LASF546 @@ -2621,53 +2725,56 @@ main: .byte 0x5 .uleb128 0x15 .4byte .LASF647 - .file 18 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" + .file 19 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" .byte 0x3 .uleb128 0x16 - .uleb128 0x12 + .uleb128 0x13 .byte 0x7 .4byte .Ldebug_macro12 .byte 0x4 .byte 0x7 .4byte .Ldebug_macro13 .byte 0x4 + .file 20 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" .byte 0x3 .uleb128 0x2 - .uleb128 0x4 + .uleb128 0x14 .byte 0x7 .4byte .Ldebug_macro14 .byte 0x4 .byte 0x3 - .uleb128 0x3 - .uleb128 0x5 - .byte 0x5 - .uleb128 0x2 - .4byte .LASF897 - .file 19 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" - .byte 0x3 .uleb128 0x4 - .uleb128 0x13 + .uleb128 0x4 .byte 0x7 .4byte .Ldebug_macro15 .byte 0x4 + .byte 0x3 + .uleb128 0x5 + .uleb128 0x5 .byte 0x7 .4byte .Ldebug_macro16 .byte 0x4 .byte 0x3 - .uleb128 0x4 + .uleb128 0x6 .uleb128 0x6 .byte 0x7 .4byte .Ldebug_macro17 .byte 0x4 .byte 0x3 - .uleb128 0x5 + .uleb128 0x7 .uleb128 0x7 .byte 0x7 .4byte .Ldebug_macro18 .byte 0x4 + .byte 0x3 + .uleb128 0x8 + .uleb128 0x8 + .byte 0x7 + .4byte .Ldebug_macro19 + .byte 0x4 .byte 0x5 - .uleb128 0x7 - .4byte .LASF928 + .uleb128 0xa + .4byte .LASF935 .byte 0x4 .byte 0 .section .debug_macro,"G",%progbits,wm4._newlib_version.h.4.6d111ab2e95434b664b53815e5c8ccba,comdat @@ -3927,197 +4034,206 @@ main: .uleb128 0x135 .4byte .LASF849 .byte 0 - .section .debug_macro,"G",%progbits,wm4.rcc.h.2.f63dea3638ca6807414aa0ffe92775a0,comdat + .section .debug_macro,"G",%progbits,wm4.stdbool.h.29.eb124ecb79face0a1d832a352bec45e0,comdat .Ldebug_macro14: .2byte 0x5 .byte 0 .byte 0x5 - .uleb128 0x2 + .uleb128 0x1d .4byte .LASF850 .byte 0x5 - .uleb128 0x25 + .uleb128 0x21 .4byte .LASF851 .byte 0x5 - .uleb128 0x26 + .uleb128 0x23 .4byte .LASF852 .byte 0x5 - .uleb128 0x2a + .uleb128 0x24 .4byte .LASF853 .byte 0x5 - .uleb128 0x2b - .4byte .LASF854 - .byte 0x5 - .uleb128 0x2e - .4byte .LASF855 - .byte 0x5 - .uleb128 0x2f - .4byte .LASF856 - .byte 0x5 .uleb128 0x32 - .4byte .LASF857 - .byte 0x5 - .uleb128 0x33 - .4byte .LASF858 - .byte 0x5 - .uleb128 0x36 - .4byte .LASF859 - .byte 0x5 - .uleb128 0x37 - .4byte .LASF860 - .byte 0x5 - .uleb128 0x3a - .4byte .LASF861 - .byte 0x5 - .uleb128 0x3b - .4byte .LASF862 - .byte 0x5 - .uleb128 0x3e - .4byte .LASF863 - .byte 0x5 - .uleb128 0x3f - .4byte .LASF864 - .byte 0x5 - .uleb128 0x42 - .4byte .LASF865 - .byte 0x5 - .uleb128 0x43 - .4byte .LASF866 - .byte 0x5 - .uleb128 0x44 - .4byte .LASF867 - .byte 0x5 - .uleb128 0x46 - .4byte .LASF868 - .byte 0x5 - .uleb128 0x47 - .4byte .LASF869 - .byte 0x5 - .uleb128 0x49 - .4byte .LASF870 - .byte 0x5 - .uleb128 0x4a - .4byte .LASF871 - .byte 0x5 - .uleb128 0x4b - .4byte .LASF872 - .byte 0x5 - .uleb128 0x4d - .4byte .LASF873 - .byte 0x5 - .uleb128 0x4e - .4byte .LASF874 - .byte 0x5 - .uleb128 0x4f - .4byte .LASF875 - .byte 0x5 - .uleb128 0x51 - .4byte .LASF876 - .byte 0x5 - .uleb128 0x52 - .4byte .LASF877 - .byte 0x5 - .uleb128 0x53 - .4byte .LASF878 - .byte 0x5 - .uleb128 0x57 - .4byte .LASF879 - .byte 0x5 - .uleb128 0x58 - .4byte .LASF880 - .byte 0x5 - .uleb128 0x5b - .4byte .LASF881 - .byte 0x5 - .uleb128 0x5c - .4byte .LASF882 - .byte 0x5 - .uleb128 0x5f - .4byte .LASF883 - .byte 0x5 - .uleb128 0x60 - .4byte .LASF884 - .byte 0x5 - .uleb128 0x63 - .4byte .LASF885 - .byte 0x5 - .uleb128 0x65 - .4byte .LASF886 - .byte 0x5 - .uleb128 0x66 - .4byte .LASF887 - .byte 0x5 - .uleb128 0x69 - .4byte .LASF888 - .byte 0x5 - .uleb128 0x6b - .4byte .LASF889 - .byte 0x5 - .uleb128 0x6c - .4byte .LASF890 - .byte 0x5 - .uleb128 0x6f - .4byte .LASF891 - .byte 0x5 - .uleb128 0x71 - .4byte .LASF892 - .byte 0x5 - .uleb128 0x72 - .4byte .LASF893 - .byte 0x5 - .uleb128 0x73 - .4byte .LASF894 - .byte 0x5 - .uleb128 0x76 - .4byte .LASF895 - .byte 0x5 - .uleb128 0x77 - .4byte .LASF896 + .4byte .LASF854 .byte 0 - .section .debug_macro,"G",%progbits,wm4.stdbool.h.29.eb124ecb79face0a1d832a352bec45e0,comdat + .section .debug_macro,"G",%progbits,wm4.rcc.h.2.b760e7ff526d570de1c04ddc6fae6ff8,comdat .Ldebug_macro15: .2byte 0x5 .byte 0 .byte 0x5 - .uleb128 0x1d - .4byte .LASF898 + .uleb128 0x2 + .4byte .LASF855 .byte 0x5 - .uleb128 0x21 - .4byte .LASF899 + .uleb128 0x25 + .4byte .LASF856 .byte 0x5 - .uleb128 0x23 - .4byte .LASF900 + .uleb128 0x26 + .4byte .LASF857 .byte 0x5 - .uleb128 0x24 - .4byte .LASF901 + .uleb128 0x2a + .4byte .LASF858 + .byte 0x5 + .uleb128 0x2b + .4byte .LASF859 + .byte 0x5 + .uleb128 0x2e + .4byte .LASF860 + .byte 0x5 + .uleb128 0x2f + .4byte .LASF861 .byte 0x5 .uleb128 0x32 + .4byte .LASF862 + .byte 0x5 + .uleb128 0x33 + .4byte .LASF863 + .byte 0x5 + .uleb128 0x36 + .4byte .LASF864 + .byte 0x5 + .uleb128 0x37 + .4byte .LASF865 + .byte 0x5 + .uleb128 0x3a + .4byte .LASF866 + .byte 0x5 + .uleb128 0x3b + .4byte .LASF867 + .byte 0x5 + .uleb128 0x3e + .4byte .LASF868 + .byte 0x5 + .uleb128 0x3f + .4byte .LASF869 + .byte 0x5 + .uleb128 0x42 + .4byte .LASF870 + .byte 0x5 + .uleb128 0x43 + .4byte .LASF871 + .byte 0x5 + .uleb128 0x44 + .4byte .LASF872 + .byte 0x5 + .uleb128 0x46 + .4byte .LASF873 + .byte 0x5 + .uleb128 0x47 + .4byte .LASF874 + .byte 0x5 + .uleb128 0x49 + .4byte .LASF875 + .byte 0x5 + .uleb128 0x4a + .4byte .LASF876 + .byte 0x5 + .uleb128 0x4b + .4byte .LASF877 + .byte 0x5 + .uleb128 0x4d + .4byte .LASF878 + .byte 0x5 + .uleb128 0x4e + .4byte .LASF879 + .byte 0x5 + .uleb128 0x4f + .4byte .LASF880 + .byte 0x5 + .uleb128 0x51 + .4byte .LASF881 + .byte 0x5 + .uleb128 0x52 + .4byte .LASF882 + .byte 0x5 + .uleb128 0x53 + .4byte .LASF883 + .byte 0x5 + .uleb128 0x57 + .4byte .LASF884 + .byte 0x5 + .uleb128 0x58 + .4byte .LASF885 + .byte 0x5 + .uleb128 0x5b + .4byte .LASF886 + .byte 0x5 + .uleb128 0x5c + .4byte .LASF887 + .byte 0x5 + .uleb128 0x5f + .4byte .LASF888 + .byte 0x5 + .uleb128 0x60 + .4byte .LASF889 + .byte 0x5 + .uleb128 0x63 + .4byte .LASF890 + .byte 0x5 + .uleb128 0x65 + .4byte .LASF891 + .byte 0x5 + .uleb128 0x66 + .4byte .LASF892 + .byte 0x5 + .uleb128 0x69 + .4byte .LASF893 + .byte 0x5 + .uleb128 0x6b + .4byte .LASF894 + .byte 0x5 + .uleb128 0x6c + .4byte .LASF895 + .byte 0x5 + .uleb128 0x6f + .4byte .LASF896 + .byte 0x5 + .uleb128 0x71 + .4byte .LASF897 + .byte 0x5 + .uleb128 0x72 + .4byte .LASF898 + .byte 0x5 + .uleb128 0x73 + .4byte .LASF899 + .byte 0x5 + .uleb128 0x76 + .4byte .LASF900 + .byte 0x5 + .uleb128 0x77 + .4byte .LASF901 + .byte 0x5 + .uleb128 0x79 .4byte .LASF902 + .byte 0x5 + .uleb128 0x7a + .4byte .LASF903 .byte 0 - .section .debug_macro,"G",%progbits,wm4.gpio.h.20.f43cb24618dcbca74136a185a6bbf080,comdat + .section .debug_macro,"G",%progbits,wm4.gpio.h.2.d78c96d470f4347bf35ed0e3d72ef81e,comdat .Ldebug_macro16: .2byte 0x5 .byte 0 .byte 0x5 - .uleb128 0x14 - .4byte .LASF903 - .byte 0x5 - .uleb128 0x15 + .uleb128 0x2 .4byte .LASF904 .byte 0x5 - .uleb128 0x16 + .uleb128 0x14 .4byte .LASF905 .byte 0x5 - .uleb128 0x18 + .uleb128 0x15 .4byte .LASF906 .byte 0x5 - .uleb128 0x1a + .uleb128 0x16 .4byte .LASF907 .byte 0x5 - .uleb128 0x1c + .uleb128 0x18 .4byte .LASF908 .byte 0x5 - .uleb128 0x1e + .uleb128 0x1a .4byte .LASF909 + .byte 0x5 + .uleb128 0x1c + .4byte .LASF910 + .byte 0x5 + .uleb128 0x1e + .4byte .LASF911 .byte 0 .section .debug_macro,"G",%progbits,wm4.flash.h.2.51d6f0499046dca8c8d7cee08875e55f,comdat .Ldebug_macro17: @@ -4125,37 +4241,37 @@ main: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF910 - .byte 0x5 - .uleb128 0xf - .4byte .LASF911 - .byte 0x5 - .uleb128 0x10 .4byte .LASF912 .byte 0x5 - .uleb128 0x14 + .uleb128 0xf .4byte .LASF913 .byte 0x5 - .uleb128 0x15 + .uleb128 0x10 .4byte .LASF914 .byte 0x5 - .uleb128 0x18 + .uleb128 0x14 .4byte .LASF915 .byte 0x5 - .uleb128 0x19 + .uleb128 0x15 .4byte .LASF916 .byte 0x5 - .uleb128 0x1c + .uleb128 0x18 .4byte .LASF917 .byte 0x5 - .uleb128 0x1e + .uleb128 0x19 .4byte .LASF918 .byte 0x5 - .uleb128 0x1f + .uleb128 0x1c .4byte .LASF919 .byte 0x5 - .uleb128 0x20 + .uleb128 0x1e .4byte .LASF920 + .byte 0x5 + .uleb128 0x1f + .4byte .LASF921 + .byte 0x5 + .uleb128 0x20 + .4byte .LASF922 .byte 0 .section .debug_macro,"G",%progbits,wm4.pwr.h.2.b22d01f8fafa27268c4600cc8f787804,comdat .Ldebug_macro18: @@ -4163,29 +4279,51 @@ main: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF921 - .byte 0x5 - .uleb128 0xb - .4byte .LASF922 - .byte 0x5 - .uleb128 0xc .4byte .LASF923 .byte 0x5 - .uleb128 0xf + .uleb128 0xb .4byte .LASF924 .byte 0x5 - .uleb128 0x12 + .uleb128 0xc .4byte .LASF925 .byte 0x5 - .uleb128 0x13 + .uleb128 0xf .4byte .LASF926 .byte 0x5 - .uleb128 0x14 + .uleb128 0x12 .4byte .LASF927 + .byte 0x5 + .uleb128 0x13 + .4byte .LASF928 + .byte 0x5 + .uleb128 0x14 + .4byte .LASF929 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.timer.h.2.a5bec0ee8e2998a7b121820fb4e4e9a6,comdat +.Ldebug_macro19: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x2 + .4byte .LASF930 + .byte 0x5 + .uleb128 0x1d + .4byte .LASF931 + .byte 0x5 + .uleb128 0x1e + .4byte .LASF932 + .byte 0x5 + .uleb128 0x20 + .4byte .LASF933 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF934 .byte 0 .section .debug_line,"",%progbits .Ldebug_line0: .section .debug_str,"MS",%progbits,1 +.LASF933: + .ascii "TIM4_CR_CEN_BIT 0\000" .LASF734: .ascii "SCNxLEAST16 __SCN16LEAST(x)\000" .LASF635: @@ -4198,12 +4336,10 @@ main: .ascii "__UHA_FBIT__ 8\000" .LASF814: .ascii "PRIiFAST64 __PRI64FAST(i)\000" -.LASF930: +.LASF937: .ascii "unsigned char\000" .LASF225: .ascii "__FLT64_DENORM_MIN__ 4.9406564584124654e-324F64\000" -.LASF76: - .ascii "__WCHAR_MIN__ 0U\000" .LASF375: .ascii "__GCC_ATOMIC_WCHAR_T_LOCK_FREE 2\000" .LASF840: @@ -4220,8 +4356,6 @@ main: .ascii "__UHQ_FBIT__ 16\000" .LASF310: .ascii "__LACCUM_EPSILON__ 0x1P-31LK\000" -.LASF809: - .ascii "SCNiLEAST64 __SCN64LEAST(i)\000" .LASF79: .ascii "__PTRDIFF_MAX__ 0x7fffffff\000" .LASF541: @@ -4232,7 +4366,7 @@ main: .ascii "__WINT_MIN__ 0U\000" .LASF90: .ascii "__INTMAX_MAX__ 0x7fffffffffffffffLL\000" -.LASF969: +.LASF976: .ascii "GPIO_MODE_AF\000" .LASF335: .ascii "__TQ_IBIT__ 0\000" @@ -4246,6 +4380,8 @@ main: .ascii "__WCHAR_MAX__ 0xffffffffU\000" .LASF513: .ascii "__int20__\000" +.LASF902: + .ascii "RCC_APB1ENR_TIM4_BIT 2\000" .LASF18: .ascii "__SIZEOF_LONG_LONG__ 8\000" .LASF169: @@ -4256,7 +4392,7 @@ main: .ascii "__FRACT_MIN__ (-0.5R-0.5R)\000" .LASF324: .ascii "__ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULLK\000" -.LASF972: +.LASF979: .ascii "flash\000" .LASF294: .ascii "__USACCUM_MAX__ 0XFFFFP-8UHK\000" @@ -4272,6 +4408,9 @@ main: .ascii "__ORDER_PDP_ENDIAN__ 3412\000" .LASF34: .ascii "__SIZE_TYPE__ unsigned int\000" +.LASF903: + .ascii "RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT)" + .ascii "\000" .LASF620: .ascii "UINT_FAST32_MAX (__UINT_FAST32_MAX__)\000" .LASF43: @@ -4298,9 +4437,13 @@ main: .ascii "__FLT64_MAX__ 1.7976931348623157e+308F64\000" .LASF491: .ascii "__ISO_C_VISIBLE 2011\000" +.LASF309: + .ascii "__LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK\000" +.LASF809: + .ascii "SCNiLEAST64 __SCN64LEAST(i)\000" .LASF779: .ascii "PRIXFAST32 __PRI32FAST(X)\000" -.LASF851: +.LASF856: .ascii "RCC_BASE_ADDR (0x40023800U)\000" .LASF525: .ascii "__INT8 \"hh\"\000" @@ -4324,9 +4467,9 @@ main: .ascii "_LDBL_EQ_DBL 1\000" .LASF675: .ascii "PRIi8 __PRI8(i)\000" -.LASF916: +.LASF918: .ascii "FLASH_ACR_ICEN_ENABLE (1 <> 8)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" -.LASF884: +.LASF889: .ascii "RCC_CFGR_PPRE1_MASK (0b111)\000" .LASF645: .ascii "UINTMAX_C(x) __UINTMAX_C(x)\000" @@ -5540,17 +5705,17 @@ main: .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1\000" .LASF733: .ascii "SCNuLEAST16 __SCN16LEAST(u)\000" -.LASF947: +.LASF954: .ascii "APB1RSTR\000" .LASF298: .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" .LASF393: .ascii "__ARM_FEATURE_CRYPTO\000" -.LASF953: +.LASF960: .ascii "APB1ENR\000" .LASF741: .ascii "SCNdFAST16 __SCN16FAST(d)\000" -.LASF867: +.LASF872: .ascii "RCC_PLLCFGR_PLLQ(q) ((q & RCC_PLLCFGR_PLLQ_MASK) <<" .ascii " RCC_PLLCFGR_PLLQ_BIT)\000" .LASF787: @@ -5571,18 +5736,18 @@ main: .ascii "__NEWLIB_PATCHLEVEL__ 0\000" .LASF26: .ascii "__ORDER_LITTLE_ENDIAN__ 1234\000" -.LASF869: +.LASF874: .ascii "RCC_PLLCFGR_PLLSRC_HSE (1 << RCC_PLLCFGR_PLLSRC_BIT" .ascii ")\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF938: +.LASF945: .ascii "long long unsigned int\000" .LASF611: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" .LASF150: .ascii "__FLT_MIN_10_EXP__ (-37)\000" -.LASF890: +.LASF895: .ascii "RCC_CFGR_SWS_MASK (0b11)\000" .LASF312: .ascii "__ULACCUM_IBIT__ 32\000" @@ -5592,6 +5757,8 @@ main: .ascii "__SHRT_MAX__ 0x7fff\000" .LASF196: .ascii "__LDBL_IS_IEC_60559__ 2\000" +.LASF695: + .ascii "SCNxLEAST8 __SCN8LEAST(x)\000" .LASF325: .ascii "__ULLACCUM_EPSILON__ 0x1P-32ULLK\000" .LASF569: @@ -5608,25 +5775,25 @@ main: .ascii "__UHQ_IBIT__ 0\000" .LASF60: .ascii "__INT_FAST16_TYPE__ int\000" -.LASF631: - .ascii "PTRDIFF_MIN (-PTRDIFF_MAX - 1)\000" +.LASF679: + .ascii "PRIX8 __PRI8(X)\000" .LASF61: .ascii "__INT_FAST32_TYPE__ int\000" .LASF288: .ascii "__SACCUM_MIN__ (-0X1P7HK-0X1P7HK)\000" .LASF274: .ascii "__ULFRACT_MAX__ 0XFFFFFFFFP-32ULR\000" -.LASF875: +.LASF880: .ascii "RCC_PLLCFGR_PLLN(n) ((n & RCC_PLLCFGR_PLLN_MASK) <<" .ascii " RCC_PLLCFGR_PLLN_BIT)\000" .LASF56: .ascii "__UINT_LEAST16_TYPE__ short unsigned int\000" -.LASF924: +.LASF926: .ascii "PWR_SCALE3 (0b11)\000" .LASF573: .ascii "_INTMAX_T_DECLARED \000" -.LASF309: - .ascii "__LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK\000" +.LASF988: + .ascii "CCER\000" .LASF40: .ascii "__CHAR16_TYPE__ short unsigned int\000" .LASF231: @@ -5635,7 +5802,7 @@ main: .ascii "PRIXFAST16 __PRI16FAST(X)\000" .LASF833: .ascii "SCNiMAX __SCNMAX(i)\000" -.LASF853: +.LASF858: .ascii "RCC_CR_PLLRDY_BIT 25\000" .LASF767: .ascii "PRIxLEAST32 __PRI32LEAST(x)\000" @@ -5675,21 +5842,23 @@ main: .ascii "__ARM_BF16_FORMAT_ALTERNATIVE\000" .LASF45: .ascii "__INT32_TYPE__ long int\000" +.LASF472: + .ascii "_UNBUF_STREAM_OPT 1\000" .LASF568: .ascii "_UINT32_T_DECLARED \000" .LASF520: .ascii "__int20__ +2\000" .LASF654: .ascii "_WCHAR_T_ \000" -.LASF570: - .ascii "_INT64_T_DECLARED \000" +.LASF984: + .ascii "SMCR\000" .LASF828: .ascii "PRIoMAX __PRIMAX(o)\000" .LASF747: .ascii "__SCN32(x) __INT32 __STRINGIFY(x)\000" -.LASF919: +.LASF921: .ascii "FLASH_ACR_LATENCY_MASK (0b1111)\000" -.LASF967: +.LASF974: .ascii "GPIO_MODE_INPUT\000" .LASF743: .ascii "SCNoFAST16 __SCN16FAST(o)\000" @@ -5731,8 +5900,8 @@ main: .ascii "UINT64_C(x) __UINT64_C(x)\000" .LASF316: .ascii "__LLACCUM_FBIT__ 31\000" -.LASF39: - .ascii "__UINTMAX_TYPE__ long long unsigned int\000" +.LASF716: + .ascii "PRIu16 __PRI16(u)\000" .LASF233: .ascii "__FLT32X_MIN_10_EXP__ (-307)\000" .LASF593: @@ -5741,23 +5910,23 @@ main: .ascii "__USQ_IBIT__ 0\000" .LASF6: .ascii "__GNUC_MINOR__ 3\000" -.LASF537: - .ascii "_ANSIDECL_H_ \000" .LASF57: .ascii "__UINT_LEAST32_TYPE__ long unsigned int\000" .LASF405: .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" -.LASF903: +.LASF905: .ascii "GPIO_BASE_ADDR (0x40020000U)\000" .LASF38: .ascii "__INTMAX_TYPE__ long long int\000" .LASF377: .ascii "__GCC_ATOMIC_INT_LOCK_FREE 2\000" +.LASF561: + .ascii "_INT8_T_DECLARED \000" .LASF436: .ascii "__ARM_ARCH_7EM__ 1\000" .LASF428: .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" -.LASF950: +.LASF957: .ascii "AHB1ENR\000" .LASF295: .ascii "__USACCUM_EPSILON__ 0x1P-8UHK\000" @@ -5797,15 +5966,15 @@ main: .ascii "__DBL_DIG__ 15\000" .LASF275: .ascii "__ULFRACT_EPSILON__ 0x1P-32ULR\000" -.LASF945: +.LASF952: .ascii "AHB2RSTR\000" .LASF671: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" -.LASF882: +.LASF887: .ascii "RCC_CFGR_PPRE2_MASK (0b111)\000" .LASF23: .ascii "__SIZEOF_SIZE_T__ 4\000" -.LASF854: +.LASF859: .ascii "RCC_CR_PLLRDY_LOCKED (1 << RCC_CR_PLLRDY_BIT)\000" .LASF50: .ascii "__UINT64_TYPE__ long long unsigned int\000" @@ -5813,34 +5982,36 @@ main: .ascii "__int_least32_t_defined 1\000" .LASF116: .ascii "__INT64_C(c) c ## LL\000" -.LASF699: - .ascii "PRIuFAST8 __PRI8FAST(u)\000" +.LASF463: + .ascii "_FVWRITE_IN_STREAMIO 1\000" +.LASF183: + .ascii "__LDBL_MIN_10_EXP__ (-307)\000" .LASF190: .ascii "__LDBL_MIN__ 2.2250738585072014e-308L\000" .LASF445: .ascii "__ARM_FEATURE_CDE\000" -.LASF973: +.LASF980: .ascii "KEYR\000" -.LASF716: - .ascii "PRIu16 __PRI16(u)\000" .LASF509: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF931: +.LASF938: .ascii "short int\000" .LASF835: .ascii "SCNuMAX __SCNMAX(u)\000" .LASF121: .ascii "__UINT16_C(c) c\000" +.LASF934: + .ascii "TIM4_ENABLE (1 << TIM4_CR_CEN_BIT)\000" .LASF359: .ascii "__UDA_IBIT__ 32\000" .LASF534: .ascii "__LEAST16 \"h\"\000" -.LASF877: +.LASF882: .ascii "RCC_PLLCFGR_PLLM_MASK (0b111111)\000" -.LASF586: - .ascii "INTPTR_MAX (__INTPTR_MAX__)\000" +.LASF365: + .ascii "__NO_INLINE__ 1\000" .LASF710: .ascii "__SCN16(x) __INT16 __STRINGIFY(x)\000" .LASF606: @@ -5851,17 +6022,19 @@ main: .ascii "_ATTRIBUTE(attrs) __attribute__ (attrs)\000" .LASF443: .ascii "__ARM_FEATURE_COPROC\000" -.LASF970: +.LASF977: .ascii "GPIO_MODE_ANALOG\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" +.LASF932: + .ascii "TIM4 ((struct timer *) TIM4_BASE_ADDR)\000" .LASF95: .ascii "__SIG_ATOMIC_MAX__ 0x7fffffff\000" .LASF608: .ascii "UINT64_MAX (__UINT64_MAX__)\000" .LASF471: .ascii "_RETARGETABLE_LOCKING 1\000" -.LASF913: +.LASF915: .ascii "FLASH_ACR_DCEN_BIT 10\000" .LASF453: .ascii "__USES_INITFINI__ 1\000" @@ -5871,7 +6044,7 @@ main: .ascii "__DBL_DECIMAL_DIG__ 17\000" .LASF550: .ascii "__have_long32 1\000" -.LASF855: +.LASF860: .ascii "RCC_CR_PLLON_BIT 24\000" .LASF657: .ascii "_WCHAR_T_DEFINED \000" @@ -5885,7 +6058,7 @@ main: .ascii "__INT16_MAX__ 0x7fff\000" .LASF478: .ascii "__SYS_CONFIG_H__ \000" -.LASF876: +.LASF881: .ascii "RCC_PLLCFGR_PLLM_BIT 0\000" .LASF8: .ascii "__VERSION__ \"12.3.1 20230626\"\000" @@ -5921,7 +6094,7 @@ main: .ascii "PRIdMAX __PRIMAX(d)\000" .LASF388: .ascii "__SIZEOF_WINT_T__ 4\000" -.LASF881: +.LASF886: .ascii "RCC_CFGR_PPRE2_BIT 13\000" .LASF782: .ascii "SCNoFAST32 __SCN32FAST(o)\000" @@ -5933,9 +6106,11 @@ main: .ascii "__LDBL_DECIMAL_DIG__ 17\000" .LASF701: .ascii "PRIXFAST8 __PRI8FAST(X)\000" +.LASF1001: + .ascii "led_on\000" .LASF308: .ascii "__LACCUM_MIN__ (-0X1P31LK-0X1P31LK)\000" -.LASF980: +.LASF1003: .ascii "src/main.c\000" .LASF126: .ascii "__INT_FAST8_MAX__ 0x7fffffff\000" @@ -5967,17 +6142,19 @@ main: .ascii "__PRI32(x) __INT32 __STRINGIFY(x)\000" .LASF437: .ascii "__ARM_PCS_VFP 1\000" +.LASF699: + .ascii "PRIuFAST8 __PRI8FAST(u)\000" .LASF283: .ascii "__ULLFRACT_MIN__ 0.0ULLR\000" .LASF651: .ascii "_T_WCHAR_ \000" -.LASF561: - .ascii "_INT8_T_DECLARED \000" +.LASF993: + .ascii "BDTR\000" .LASF382: .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" .LASF664: .ascii "_BSD_WCHAR_T_\000" -.LASF965: +.LASF972: .ascii "PLLI2SCFGR\000" .LASF277: .ascii "__LLFRACT_IBIT__ 0\000" @@ -5985,23 +6162,23 @@ main: .ascii "UINT16_C(x) __UINT16_C(x)\000" .LASF756: .ascii "PRIx32 __PRI32(x)\000" -.LASF278: - .ascii "__LLFRACT_MIN__ (-0.5LLR-0.5LLR)\000" -.LASF941: +.LASF999: + .ascii "tim4_init\000" +.LASF948: .ascii "uint32_t\000" -.LASF873: +.LASF878: .ascii "RCC_PLLCFGR_PLLN_BIT 6\000" .LASF689: .ascii "PRIxLEAST8 __PRI8LEAST(x)\000" .LASF506: .ascii "_SYS__INTSUP_H \000" -.LASF975: +.LASF982: .ascii "OPTCR\000" .LASF290: .ascii "__SACCUM_EPSILON__ 0x1P-7HK\000" .LASF415: .ascii "__GCC_ASM_FLAG_OUTPUTS__ 1\000" -.LASF911: +.LASF913: .ascii "FLASH_BASE_ADDR (0x40023C00U)\000" .LASF745: .ascii "SCNxFAST16 __SCN16FAST(x)\000" @@ -6027,7 +6204,7 @@ main: .ascii "__LDBL_DIG__ 15\000" .LASF89: .ascii "__SIZE_WIDTH__ 32\000" -.LASF871: +.LASF876: .ascii "RCC_PLLCFGR_PLLP_MASK (0b11)\000" .LASF480: .ascii "_SUPPORTS_ERREXCEPT \000" @@ -6035,21 +6212,25 @@ main: .ascii "__FLT64_DIG__ 15\000" .LASF524: .ascii "_INT32_EQ_LONG \000" +.LASF884: + .ascii "RCC_CFGR_PPRE_DIV_NONE 0\000" .LASF77: .ascii "__WINT_MAX__ 0xffffffffU\000" .LASF108: .ascii "__INT_LEAST8_WIDTH__ 8\000" .LASF52: .ascii "__INT_LEAST16_TYPE__ short int\000" +.LASF707: + .ascii "__PRI16(x) __INT16 __STRINGIFY(x)\000" .LASF159: .ascii "__FLT_HAS_DENORM__ 1\000" -.LASF908: +.LASF910: .ascii "PINNUM(pin) (pin & 0b1111)\000" .LASF768: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF932: +.LASF939: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -6063,20 +6244,20 @@ main: .ascii "PRIXLEAST8 __PRI8LEAST(X)\000" .LASF328: .ascii "__HQ_FBIT__ 15\000" -.LASF902: +.LASF854: .ascii "__bool_true_false_are_defined 1\000" -.LASF905: +.LASF907: .ascii "GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADD" .ascii "R + (GPIO_PORT_OFFSET * port)))\000" .LASF798: .ascii "SCNi64 __SCN64(i)\000" -.LASF861: +.LASF866: .ascii "RCC_CR_HSIRDY_BIT 1\000" .LASF80: .ascii "__SIZE_MAX__ 0xffffffffU\000" .LASF818: .ascii "PRIXFAST64 __PRI64FAST(X)\000" -.LASF910: +.LASF912: .ascii "FLASH_H_ \000" .LASF412: .ascii "__ARM_ARCH\000" @@ -6094,7 +6275,7 @@ main: .ascii "SCNuFAST32 __SCN32FAST(u)\000" .LASF522: .ascii "long +4\000" -.LASF944: +.LASF951: .ascii "AHB1RSTR\000" .LASF723: .ascii "SCNx16 __SCN16(x)\000" @@ -6112,6 +6293,8 @@ main: .ascii "__FLT32X_MANT_DIG__ 53\000" .LASF86: .ascii "__WCHAR_WIDTH__ 32\000" +.LASF570: + .ascii "_INT64_T_DECLARED \000" .LASF761: .ascii "SCNu32 __SCN32(u)\000" .LASF817: @@ -6122,8 +6305,6 @@ main: .ascii "__INT16_C(c) c\000" .LASF351: .ascii "__DA_IBIT__ 32\000" -.LASF707: - .ascii "__PRI16(x) __INT16 __STRINGIFY(x)\000" .LASF252: .ascii "__USFRACT_IBIT__ 0\000" .LASF518: @@ -6146,19 +6327,17 @@ main: .ascii "INT_FAST32_MAX (__INT_FAST32_MAX__)\000" .LASF205: .ascii "__FLT32_NORM_MAX__ 3.4028234663852886e+38F32\000" -.LASF899: +.LASF851: .ascii "bool _Bool\000" -.LASF698: - .ascii "PRIoFAST8 __PRI8FAST(o)\000" +.LASF631: + .ascii "PTRDIFF_MIN (-PTRDIFF_MAX - 1)\000" .LASF92: .ascii "__UINTMAX_MAX__ 0xffffffffffffffffULL\000" .LASF164: .ascii "__DBL_MANT_DIG__ 53\000" .LASF272: .ascii "__ULFRACT_IBIT__ 0\000" -.LASF852: - .ascii "RCC ((struct rcc *) RCC_BASE_ADDR)\000" -.LASF887: +.LASF892: .ascii "RCC_CFGR_HPRE_MASK (0b1111)\000" .LASF72: .ascii "__INT_MAX__ 0x7fffffff\000" @@ -6166,7 +6345,7 @@ main: .ascii "__INT_LEAST64_TYPE__ long long int\000" .LASF103: .ascii "__UINT16_MAX__ 0xffff\000" -.LASF922: +.LASF924: .ascii "PWR_BASE_ADDR (0x40007000U)\000" .LASF446: .ascii "__ARM_FEATURE_CDE_COPROC\000" diff --git a/build/main.i b/build/main.i index ed3b075..1404660 100644 --- a/build/main.i +++ b/build/main.i @@ -1963,6 +1963,20 @@ extern intmax_t _wcstoimax_r(struct _reent *, const wchar_t *__restrict, wchar_t extern uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int); extern uintmax_t _wcstoumax_r(struct _reent *, const wchar_t *__restrict, wchar_t **__restrict, int); # 2 "src/main.c" 2 +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" 1 3 4 +# 29 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" 3 4 +#define _STDBOOL_H + + + +#define bool _Bool + +#define true ((_Bool)+1u) +#define false ((_Bool)+0u) +# 50 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" 3 4 +#define __bool_true_false_are_defined 1 +# 3 "src/main.c" 2 + # 1 "src/rcc.h" 1 #define RCC_H_ @@ -2085,26 +2099,17 @@ struct rcc { #define RCC_APB1ENR_PWREN_BIT 28 #define RCC_APB1ENR_PWREN_CLOCK_ENABLE (1 << RCC_APB1ENR_PWREN_BIT) -# 3 "src/main.c" 2 + +#define RCC_APB1ENR_TIM4_BIT 2 +#define RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT) +# 5 "src/main.c" 2 # 1 "src/gpio.h" 1 #define GPIO_H_ -# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" 1 3 4 -# 29 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" 3 4 -#define _STDBOOL_H -#define bool _Bool - -#define true ((_Bool)+1u) -#define false ((_Bool)+0u) -# 50 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" 3 4 -#define __bool_true_false_are_defined 1 -# 5 "src/gpio.h" 2 - - struct gpio { volatile uint32_t MODER; volatile uint32_t OTYPER; @@ -2143,7 +2148,7 @@ void gpio_write(uint16_t pin, _Bool # 40 "src/gpio.h" val); -# 4 "src/main.c" 2 +# 6 "src/main.c" 2 # 1 "src/flash.h" 1 #define FLASH_H_ @@ -2177,7 +2182,7 @@ struct flash { #define FLASH_ACR_LATENCY_BIT 0 #define FLASH_ACR_LATENCY_MASK (0b1111) #define FLASH_ACR_LATENCY(latency) ((latency & FLASH_ACR_LATENCY_MASK) << FLASH_ACR_LATENCY_BIT) -# 5 "src/main.c" 2 +# 7 "src/main.c" 2 # 1 "src/pwr.h" 1 #define PWR_H_ @@ -2199,7 +2204,45 @@ struct pwr { #define PWR_CR_VOS_BIT 14 #define PWR_CR_VOS_MASK (0b11) #define PWR_CR_VOS(scale) ((scale & PWR_CR_VOS_MASK) << PWR_CR_VOS_BIT) -# 6 "src/main.c" 2 +# 8 "src/main.c" 2 +# 1 "src/timer.h" 1 + +#define TIMER_H_ + + + +struct timer { + volatile uint32_t CR1; + volatile uint32_t CR2; + volatile uint32_t SMCR; + volatile uint32_t DIER; + volatile uint32_t SR; + volatile uint32_t EGR; + volatile uint32_t CCMR1; + volatile uint32_t CCMR2; + volatile uint32_t CCER; + volatile uint32_t CNT; + volatile uint32_t PSC; + volatile uint32_t ARR; + volatile uint32_t RCR; + volatile uint32_t CCR1; + volatile uint32_t CCR2; + volatile uint32_t CCR3; + volatile uint32_t CCR4; + volatile uint32_t BDTR; + volatile uint32_t DCR; + volatile uint32_t DMAR; +}; + +#define TIM4_BASE_ADDR (0x40000800U) +#define TIM4 ((struct timer *) TIM4_BASE_ADDR) + +#define TIM4_CR_CEN_BIT 0 +#define TIM4_ENABLE (1 << TIM4_CR_CEN_BIT) + +void tim4_init(void); +void tim4_start(void); +# 9 "src/main.c" 2 #define exit 42 @@ -2267,29 +2310,33 @@ static void system_clock_init(void) { ((struct rcc *) (0x40023800U))->CR &= ~(1 << 0); } -static inline void spin(volatile uint32_t count) { - while (count--) (void) 0; -} - int main(void) { (void) system_clock_init(); + (void) tim4_init(); + + (void) tim4_start(); uint16_t led = (((('C') - 'A') << 8) | 13); ((struct rcc *) (0x40023800U))->AHB1ENR |= (1 << (led >> 8)); gpio_set_mode(led, GPIO_MODE_OUTPUT); - for (;;) { - gpio_write(led, -# 84 "src/main.c" 3 4 - ((_Bool)+1u) -# 84 "src/main.c" - ); - spin(999999); - gpio_write(led, -# 86 "src/main.c" 3 4 - ((_Bool)+0u) -# 86 "src/main.c" - ); - spin(999999); + + uint16_t counter = ((struct timer *) (0x40000800U))->CNT; + +# 87 "src/main.c" 3 4 + _Bool +# 87 "src/main.c" + led_on = +# 87 "src/main.c" 3 4 + ((_Bool)+0u) +# 87 "src/main.c" + ; + while(1) { + if ((((struct timer *) (0x40000800U))->CNT - counter) >= 250) { + led_on = !led_on; + gpio_write(led, led_on); + + counter = ((struct timer *) (0x40000800U))->CNT; + } }; return 42; diff --git a/build/main.o b/build/main.o index 12ff0e92e775672f785ee46b7cbc586dd5143efb..7baa25a3a5ce343d9fe13e2cda2b95d1fcc6e8b0 100644 GIT binary patch delta 21027 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 X+SA3raAtDgE@f7Y4GavdAio0u;)3Io delta 20393 zcmccdo2ln3(*y-!lXVOrz-j^_88jID8T=+1pWV#E=*n2XrFjFx`icaG{nZ&!a#aZo z+P^L`>}S}|W4_ld_6JLKfja|3!`7w^4D0`Y|M%bF6R+~`20?G>>|Y&1T$45lx-lws zIS9J(dT~1oC;#qXRFrT7sY9^XJs^Ars0=fh&#?dPbB6s47EBKH_D=i^{>%&vtPG4S zAm?!zSQ{7+BaBfE>X%&5(hCg#*N9VLYe8z`()@ zVskJ%dj>JEaDmu7jO(Kq7+APLYyn0CUj_yi9uQlE@wFHO0}HPJ69a<;V~qm?0}CHW zT!Asjh=GBHAH-H+{0dSd08*pDDCW(;z#_Pyo`HeEfbpmd0|Sc?NRbKSe~=7IBbx0HX#k0|Sc$h#kTxEzZEe zA_-Cx!B}O*z`!B}5>H^fV8Xz_A`N1vFcwJFGcd5ofD~mg?oec4V37q$6fipn2Qje7 zf!HOC;UI(LL24=(Cs{Kvuqc4U8yNFK85md;LF^XBFCa%Kf!G}k-~a(B=WS$QU|?im zXJBGr;A3YrWME)mRp7H>Vqjps?hfJ{kYcE3U}W`UVqjom-RRH2z|6q1Ta4H`|# zVGImxU{{GSa1@jmF>tW&2bt&`#K2w;F%j%xc8G}#oL@B<7&NXhF)*-oFfcH%fmjSo zj7*m$85lUVv>6!GKfvWczF`nZ5@KLr^kuCAr6L9fh6Iqm=SVR#FbL+PrZ6xD@PN!= znpnml^u>gMfzeY0q)-W@N@k7&GXsM#rzuES8x(*{6H6FGe#tU0Fmg_oVwaavVc_Pr z<7Vb#U|{BDVCJymw&u1}6!jFg;GP`JZX>S8XfMgkXQjvr5@u7Ew2@>KW?yF)6g2TyG8pN*m0g;ozq^TT;Ee(zu z9jB1y^J9C;YbjTH&V|R`L zNF+KMM5cjF+rbTDSAosZ0-NIy2NDqmTO2D0V)ueW`er>iA$OLeLvH(X)2{`5Jfdf_=oFvbI zLr7Wzr1An-b_YL*y#t)W1i-SkydaShaOx2-1gC#Kuu!rgNJ5qaM0SAB5RyL?(o-?W70DI7@JVGlA3XA8;UNgHvxR*!m~n*v$n;Ru$MBBU6yB zUtoWK1&16n*m3j0(RTw+k=e$uLvTW!3k3VoaV2Bj4g9VXz7HI^cXi z9h}Q&fvvv<&Nhd^zVrl(RDcVO-(Vvqf*o-I?AN_uYq-G1iOGPh{0$C|ePGX&f^$JE zIPM>UBX=D*Rb_(JNP)|S7xiG{n8Dd;KREq2gEL_PI9_?d*>5K}01twbo(nit+kuN9 z2XIQh04|iKfP=anoMIk;1K$7~eaFD1;RKnz)5T)IO0;lW#wOR`rrr4)`BBFH3*#kH61|Odces<3~Xo$I0a~ei`8Io z9J7O?qY#`L;=n$W16v>i4(e0j?9>W2rxxsV18@rX3C?(3U^Qi6H7a07Oa+^^6l8Ke zLj<^3a0RD>&tU6Yz_C6RoJ{V4b8Ry?gqDK+?F}}13OLr!g9FwVto|K13f_aGV4oz& zOE%ytcstl+9k8P%@1SiH7;8+g@Cq@CVh|3JONEQzO4%4(g&YOvem<~|b-;c-3XV7xaE-78EPe>=rB7fF z`~;h}9h~vLfz7dY0H^=cVB@}lE#LyXS_Pa_kAOA21-Awcf_;_>j)-!w57I#K$50D) zgey2%T?Jdr2~G#k!Req1Y|Sok(q030;vsPOF@OXAn<_Z{U)5z`U}IPY*7hL?#BQ?% zk%3_L@emN(7@WVi+kx1n8X(ft07Qm^jXMRd%emD+BAH-^P63w%@v&HUxKsKMsT1#@Bk^b1c$+EaHM<%%Rb`)iTi*<;smHw z&#(~etXiH%fs>~^*eQ%cAQ1*x1_rizhQ;7Knhws9_rPxd4{j9+(KGJWrr|W+50pZ7+4rUsh7nc6lH8bK=m8@b5Klk^n>aM&RdS)6wAOW zJxiaVo`F>{092f+Yyy=x>L)<4r(F-qcX|n+xP8pj1u7X|GWmjX`5UH9pv3x>X$B|_ z{9qCWRqDT)Y(Tll!e-|Uz{ks{# z9@xVO_Q768kh9qiF@k+^m=WX^a025n24zHfFHrHJuoGm5qCUuM)f=D^U%Ld9`CP?7 zZuH~=m7QLbKqEpR_p@CEg*Cr|38-k1vIGUSVhboG=`({$dfRAFIttbSMRD#uP;0D* zkr@;%%NYAWjgUQzmqF#kImYG23=C{v7?*>Fr9kF#*@IeBqQ;loueVYZ%8A7thR z#(AK?*}-@pMD1j}1M>YYMj24^;RvH8NZ(P$3m|tNWAp$O09P0ffn0i(u?a+7WBdea zm^@>2@(20as-tSGnjHfhAv}D1%=ddrum>Wy@H7o)EwHzv}wlh5gH4S$#?EppU zF{UlDpz`N9Q#&ZC&NF=nnSGt<87Mv6WikTA**zwGPy_N2QyeIOo-y4A#nfvi7f@Jy zW6}g=g9hefARo3eg9jvfm@7azrb8kY$)L0|iRlw4jwdq-gPbshX$8m$Q<GbMyFFtFWavgBZ3V4KA(p$biGG6A4MPo5DJA`0g~rGes0kbXT&P{Pyi z13ASY4b&PpsRBiX=}Zu5_5~zj9snwTEp$NPXBi99YZn2^vGz?M(xLt^NW$?asD5>N z4XXd#8A0ClPzA-l=VOphy#9bf#``D8<35a_reI(^NM%q7sOcIk0E*}kZcu6q6#*F< znG9k_tpp|U=-(jO7+z4>6MG#L&vCk-wq|l3D3(*0>On3|%?C-OfyQ}R)3<}H%((<= z=H;q_vQ8cosMyR`042@>dytid;-DZc;Q+-_={rz>mUV!VS$Pu3nu={8*~-hHBD#7R zs9jz22UIN9J^;l|ofRm?>UV$=a1&!#Jt%oKGe&`OP7C8{kh)ez29TyU#{HmvNju{y zP@3&zlmayyyBJ@9nyTH5(?GWNFeZT7W4(-^;V;$+jD;WzCNjPSC9g@0NuZ){GNTG8 z7N#(AfvBmB0U+(u84rW>&0uWh0_DG%jL$*IXBMLlC|k^CtOL1x9^+k*{`rhkL2?Ti z`$6%skg*0NxQKBZC`J}Ds(}iMrHmUvfwGKo7pRt6&UhS@Oja-!fqb@-aTzGqRxt{K zl&oPq2x@SyWn=)Ae(M;8bV2!VJ!2jyus1O70Tp1I8J$4cVGHABP{P>Cr~(?4*~WMs zRK9O#oD6dQ4#qf8>uwjLA*g!Z%{U7b-g_7`K-qUMqYJ2r-p8m6vhX0IGbrC5Vq6FE z(qYC=pt9r$qa`RO9c7eP1m(YDj1i!CJi#~*l($bZvV-cmQ;gR@4dK&_y`XqH!zc~P zi5D2(gL3ml#ukv*E;FiwQuYE_72{cu^{*L&L5cPaBL}ENeamPH%0cfL^*|Zm1LHza#C&8t1G4@TV;m?%KQoGg zg6lh@87LwBV2lQ3?w|FH1)wzdi*XjnHNP1fK-3?`J0QpWV_X3;`#<9?kl77PcR=ym z$aD`B7EMeUAe*|FoIts(n@I#@#YCnVpirB{bP(jF$xMx)q%(zS9VpbMGQ9@*ej1Y} zs0^6F6aaF?Os4uQP>jxE+6?mAY^H^v3^a#nBS>-?Q!gm{EoZ6$rG!;X_dtc`YNn?k zcduc(0@AmZ=`tumtz+T`S+SmJHpt$MOm?8OzKJOaL~Uj|08+VyX)Q?QR;J&aApHys ztV~xx-l!>s0;tojRR>b4-3cny^rnEqPJb(?Y%@v#CC&{ z0hCaDAAxd--*J!z|0qzcAE*opt)R!C@CaTBO48vMKo&Qjx+cQ>dj(NuUtmeh=~;Pai0k^PdHUm{1`oT?*d-=@+>z&cML%3X};LSQutZ zzOG=#C^DH(QOAjem5G6Yg%3n1faY{GL32q)AeJqNa0f~FgT@ddK&(U%D+@%hsxp9d zGB8L@ZdSZjZv^ErpI~5Q<@9FdXJBGsRAA)-Q8uiM`b_K$jEt-TFjZ$57+INZS$Pat z6>V89^;iwPSQTwpwG~*I^;ua#dZIu?B#5vD5nz@j*pOgnzX~5$$KVh{Glls0U}rx= zGauK<=am-lg*$sV2F3e&`o+g97=%vFQNA}hLPKV=mx=)6=0a5)#?24a{25sSf;=N8 zPjnI9+^vzwGI?&b^yJSvDwDNzy(YKmX7b0!`}xOv`uTYJxyHvU7;b*28^_2Q@8=)l z5#%4PFxfdsY4c=#J;u$C4X!h9zHPFMk=@nD4Xm=x%!F~Wb)59(P3BcBlMfmwZPu}A zW}I9XAUAoht<>g+wzHWgH#w}G?CW?Ji*?h{`kWtjf(b+lF zH{Q+3GbBDDKvlJKMgvlg6gG%7SFUyMs-4Gwm851Jep|7^0pqugejgt=@i@$sQPll4`^C-bHE zPJY&)FnLY-=g9^d8f@|LptLnPCPQ}f@eDSm$q%!%gg^mdW)dF~@8at0;~3=XqOh4i zTZ4%?K0b7^K%T_pglN9WUb)Evj()+OASLl0@d^we$$$Wf$;We>H^=1ZF^dHRd6v34 z28V#02#P%rTcdRHu0nf3kQ6wP2LyQwr!qMoWs1C zzx)*AWM#?Z9VUvKr&qEuP2N@=xLLEtj(KubeHwE>kmuxsMY5ak z)pIaT-ryn2?CTgYnLky2vQDGML0oM>)hXl#~fXknUYmXwrcU|}$MW^XJ@ZenKMWV=4liU~Fb1_scu zogRqxV_>iV(f$k!b|9LYfx!br`!g{3foN_922k>05@28e)x=Dq3=Be`cok(}5QEZE zAXYx&TVoK=4P#Tm-LFzz> z6hwzW#bId(v^E1Io(2`qfztIwP(}rmu7lFB#MK4mPk_?Xp!6Ily$DLLfYPAVYaolZ zK>53%G^m^di64XV&p_yUhD#6z!wo2X4@y6Q(yyTO2PpjwO8Br^?*Z{a`F|3KA(o3N9Dk!}HN^gVGd!Y0oD18D-pM%m@ zp!6*${QycogVJwc`TrAC;0Kic2c=m+xk8kIfeT85mVtp>E(YbxKxri?tpTO=ptK2; zwt~_QP}&Vj`!GTCe-Kmv)T{?t5C`R_Kxt4TA0%D?<(EO}8YtZar8}T>AC#T~rDs9u z1yFh!lwJeN|C^u!JD~JFD18J=4P#Ro7f$9<{KLkogLFoi2od%`rbD)eO zC|v=i>!5TClPvvzd`9gP@0JaQgm}bX+9_|0;Q#(v;ve?1Jm^k3_4&21A`Hiwt&)h zP}&7bdqL>{C>;i+W1w^rl+J+Cc~H6pN>@SY1}NPIqCxq;2gDF%V3-7@XF%zBP2px}3Y5MDr9tbHK)LA|3$*@!1C{s$rGG%_e^8o*6%w>u zP+9;=i$Q4_D6IsgHK4Q}ls19VR#4gjO1rT_^S=*NAP7o>#{57ojDzx1pmY|LE`ZWy zP`U<6H$mwRC=Hqq1DP`g$_K5c1MwF?`O8?L_5T{Ez$PfY14{3M(np~5DJXpbN?(K0 zpeYuR!H=N)7f|{gl>P#xe?e(b0|KO;t)2}Mv^-E+2ue#pX*npZ0;RQ}v;mYhgVHuo z+6hW~KxscH9Rj7JpmYM1u1|w9a-eh(l&*l%bx^tmN`vNmK`x&Fq&GaQ337|uZHOHdj#R0Oi<9+dwCO22~AAE5L%DE$XYgVvdX^l`95 zLKZZ`4&sYI`BG3?0Zi93FsOkU3=E)25RgJ6DBl7~+d*j;DD4HM1E6#ml#YSYNl-ci zO6Ni85-42-r5ivrDF3&C7@`aeJy3cQl%4^l=RxTuPp0j1AD z=_^qB7LcQ_d)3+Q2G>BAPfznP;+5<}aLFo`E9R;Q96QGPVD4hePi=cD`l&*u) zEl|1(N>6~&)1dSmD7^?uuYl6)p!60fy$eFuGaP_07>+^dGf?^xl)eF_??LG&Q2G^= z{s5)FLFqqGnu!Y%vK&yF4@!$bX(=#W&%mGnW-u_QL1`T*Z3Lw)ptK#7c7f7fP&xog zhe7EWD4hhQGoW-HlrDkNRUjIa{~JIIQ3i%KDBT04Cqd~MPsGg(V+PP5G@OpXNA&) z)G0&N!Fti4O)DUCKtntr+MWTL|3M2kKmxu{4Y2MrXc`VAo&*)ogwh32nvg?a-FeWc zAjljH_2~V7d8onQK_gKdgGQnZ46uH`Cscg^ln#f|-~kFz=s<)hbRa^Mfk7H74<4Kn zWnie+gbKh07|fx343|R1(W3$u#QIQq&_oc(r{K{o(8vi?95f^d5{HE_Xu%h_{STV1 z0!hR}6@s^ai83%`L-~bJx*ST^LTS()g24tT7DLsqg3=qI^bRmx z&%m%B%wS-EjZB<{@~=SY+fe!ul!gsNe24P?L1|J$3>@;H{Er@VWElj?j!=id#)xd8 zd>1GUT3`hVp&%$9WDj`!kJxMkb}^DgB*rxZmZ*k||AAZrav8Y}A=bw*2f#+d(qZ{O z4;m!kjf$cS3^hBMC8|1Qt@?k@|_3lssKPVjv zrD3C6$xwb4lrDtQ6;Qe!O2bCAK+9b~4u*~W&W6e_g3>FYG;}blo?$yw05op_(s&fg zKLe#NLuuG37O^E8EU}^&Y@lI%kUg&85Upom0Id)Q2|!CE(2{2Gm~bLk0RscB;dfX; z1RE(OD-mPM|3ns@*s>GY;iQzD;QWtXbk2tQd?A!x4y9qK8??y_6kN77fQp1Zn>cY zk3vvd5=w)XSAasQUL7g`8?!Zq@+2&G{|wee7X8kEk3(j`#38cM^4 zXgi^N=+sO-!*r;?JSe>sO0R*^o1yeBD18u0pMcWmp)_nr_AZnU+E)hhz-uV~6O{f5 zr6EJH^$ZN`&;dj~C@l)5WuUY&l!gt#!sdi5pyKvW+6_wkLTT90Yc!Of1f?^fG-x)I z36%fKp#rcW*H$RM2TD(d(zBp6XlnwrE*C0W+xm zFUr9194Y|Xx(YJ*E0hl#T4jcg19CxWK`1Q&rRAYCWJr~PK^Mw5fzsAc+6hX7w#0$# z31ETd|8S^89F$Il(m7DN7)ry2P#d9q(7H~LLH$tvG$=h6O2bA@S3~)r&4D2GJE8mo zEYSRa94bIo8BR%y2v+}7yY)+K5nfM)G8|m#kXeM+Gr-DlVuPMob+C>JtQ~+|Up)f@ zt{x3cBYN{3y?VxOFky4SU9fs}=mG(C1_p31Rh@wWv=D(woq@p!R12yzFo0XP>dI@9vmWw(AgBMiZA4-Eet?CSrc7Zwrco{&gQkA#K?=ZKD|KkA zSDk?YbkYMzybY?b8%l%cfYlioz+EhL28LNsad0bGoq=H`h|kKv0G|KnWMEhas*HG` zolgzuEIBI!19%0526&}~Fav0MJO-pu1F|rLiD$Cf26xVq)QS>4&{B}e*&ANfb22h8 zfCd9#i%LKy@GwByZlHJq9W(&K=;}aAD`4tC!3$CY!szNiZ9tehZP0llPz+TE%B2vi zBN!l)_aF^AP(|1bOhHnoi$@)3AOU7EDBeM4fiTo!h^3%j3aCc{QwU0tAVnaIs*r&J zbT$P{9jNIGQUk*1>ZTw$5Hu_TQUk*1>OhBB@PPae@-Zkyf)s%;y23R`1{&k>F{s}S zb08=hL1uw4x_O|TlQ4Cl9bn+YB(Nz2^`&46L0JW)287WKyo2OG&?pB;4G5#Fdx4}5 zG*H9>TFQe>;TI%@mXl?-NHa1_w%nr5$S^q(N{UZjutk88Ve-Z;;*&pYVF5MvKr=t! zSao3nnG0ru3D|-wP&Wj$WDC^K0ZC*qLGlHN4ZOf1CKtop`^B6#lZID7x!zmbP#9%c+W*(#m3~~d=H@Hmj5@BGl0hv&b z9u6(@AXOL01XvjiN=NXhfreL`2m=E%Qe459=;j@n2RdX4k}hFIFp_zQsOc1CV6Xx? z2_tI0%!e%N133v+>LM8dkD9}x3=H8|O|V&j2o_MT!xb!2VhjvfAQLcxWyu0W)s3kz&178-my3mF(d3vfVwf|aXC<{^S5S%QI~6RVR#7Bet_Mz%mkz)Dgi zBjCaEMuLIi49Lge8~|C<31Xth)SJZ&44|2Gka^IO6uf#88uL+b19!+WFvt<%$0aKn z7(fG0AOo$CiX^CkaPzKB4%{V<5$iIm5g8J+eh%aVY~K4J$H1Tm3Lp#f@qK!14B3i!;B^d z2GH_EhyVk)Apl~7T#f9LFKZBm9cW$z<`dAN4a^J-pr#f`8-qYI1A_@Db|xq672tFM njq$QFF!)Zc+$+!O(!s#cH+k+}WeJtF3=E)!v0yDwFM`+r= ((maj) << 16) + (min))\000" +.LASF653: + .ascii "_T_WCHAR \000" +.LASF576: + .ascii "_INTPTR_T_DECLARED \000" +.LASF475: + .ascii "_WANT_IO_LONG_LONG 1\000" +.LASF680: + .ascii "PRIX8 __PRI8(X)\000" +.LASF619: + .ascii "INT_FAST32_MIN (-__INT_FAST32_MAX__ - 1)\000" +.LASF673: + .ascii "__SCN8LEAST(x) __LEAST8 __STRINGIFY(x)\000" +.LASF856: + .ascii "RCC_CR_PLLON_ON (1 << RCC_CR_PLLON_BIT)\000" +.LASF55: + .ascii "__UINT_LEAST8_TYPE__ unsigned char\000" +.LASF728: + .ascii "PRIuLEAST16 __PRI16LEAST(u)\000" +.LASF296: + .ascii "__ACCUM_FBIT__ 15\000" +.LASF792: + .ascii "PRId64 __PRI64(d)\000" +.LASF872: + .ascii "RCC_PLLCFGR_PLLP(p) ((p & RCC_PLLCFGR_PLLP_MASK) <<" + .ascii " RCC_PLLCFGR_PLLP_BIT)\000" +.LASF302: + .ascii "__UACCUM_IBIT__ 16\000" +.LASF908: + .ascii "long int\000" +.LASF720: + .ascii "SCNd16 __SCN16(d)\000" +.LASF132: + .ascii "__INT_FAST64_MAX__ 0x7fffffffffffffffLL\000" +.LASF236: + .ascii "__FLT32X_DECIMAL_DIG__ 17\000" +.LASF173: + .ascii "__DBL_MIN__ ((double)2.2250738585072014e-308L)\000" +.LASF244: + .ascii "__FLT32X_HAS_QUIET_NAN__ 1\000" +.LASF773: + .ascii "SCNuLEAST32 __SCN32LEAST(u)\000" +.LASF240: + .ascii "__FLT32X_EPSILON__ 2.2204460492503131e-16F32x\000" +.LASF557: + .ascii "___int_least16_t_defined 1\000" +.LASF878: + .ascii "RCC_PLLCFGR_PLLM(m) ((m & RCC_PLLCFGR_PLLM_MASK) <<" + .ascii " RCC_PLLCFGR_PLLM_BIT)\000" +.LASF468: + .ascii "_LDBL_EQ_DBL 1\000" +.LASF545: + .ascii "_NOINLINE __attribute__ ((__noinline__))\000" +.LASF358: + .ascii "__UDA_FBIT__ 32\000" +.LASF775: + .ascii "PRIdFAST32 __PRI32FAST(d)\000" +.LASF278: + .ascii "__LLFRACT_MIN__ (-0.5LLR-0.5LLR)\000" +.LASF93: + .ascii "__UINTMAX_C(c) c ## ULL\000" +.LASF865: + .ascii "RCC_PLLCFGR_PLLQ_BIT 24\000" +.LASF31: + .ascii "__SIZEOF_POINTER__ 4\000" +.LASF622: + .ascii "INT_FAST64_MIN (-__INT_FAST64_MAX__ - 1)\000" +.LASF371: + .ascii "__GCC_ATOMIC_BOOL_LOCK_FREE 2\000" +.LASF893: + .ascii "RCC_CFGR_SW_MASK (0b11)\000" +.LASF432: + .ascii "__ARM_NEON__\000" +.LASF588: + .ascii "UINTPTR_MAX (__UINTPTR_MAX__)\000" +.LASF201: + .ascii "__FLT32_MAX_EXP__ 128\000" +.LASF825: + .ascii "__PRIMAX(x) __STRINGIFY(ll ##x)\000" +.LASF435: + .ascii "__THUMB_INTERWORK__ 1\000" +.LASF284: + .ascii "__ULLFRACT_MAX__ 0XFFFFFFFFFFFFFFFFP-64ULLR\000" +.LASF698: + .ascii "PRIiFAST8 __PRI8FAST(i)\000" +.LASF33: + .ascii "__GNUC_WIDE_EXECUTION_CHARSET_NAME \"UTF-32LE\"\000" +.LASF572: + .ascii "_UINT64_T_DECLARED \000" +.LASF452: + .ascii "__ELF__ 1\000" +.LASF41: + .ascii "__CHAR32_TYPE__ long unsigned int\000" +.LASF429: + .ascii "__ARM_FEATURE_FP16_VECTOR_ARITHMETIC\000" +.LASF179: + .ascii "__DBL_IS_IEC_60559__ 2\000" +.LASF136: + .ascii "__UINT_FAST32_MAX__ 0xffffffffU\000" +.LASF151: + .ascii "__FLT_MAX_EXP__ 128\000" +.LASF17: + .ascii "__SIZEOF_LONG__ 4\000" +.LASF754: + .ascii "PRIi32 __PRI32(i)\000" +.LASF929: + .ascii "APB2ENR\000" +.LASF822: + .ascii "SCNoFAST64 __SCN64FAST(o)\000" +.LASF505: + .ascii "_READ_WRITE_BUFSIZE_TYPE int\000" +.LASF21: + .ascii "__SIZEOF_DOUBLE__ 8\000" +.LASF114: + .ascii "__INT_LEAST32_WIDTH__ 32\000" +.LASF232: + .ascii "__FLT32X_MIN_EXP__ (-1021)\000" +.LASF816: + .ascii "PRIoFAST64 __PRI64FAST(o)\000" +.LASF931: + .ascii "AHB1LPENR\000" +.LASF406: + .ascii "__ARM_FEATURE_SIMD32 1\000" +.LASF531: + .ascii "__FAST16 \000" +.LASF493: + .ascii "__LARGEFILE_VISIBLE 0\000" +.LASF727: + .ascii "PRIoLEAST16 __PRI16LEAST(o)\000" +.LASF459: + .ascii "__NEWLIB__ 4\000" +.LASF941: + .ascii "DCKCFGR\000" +.LASF721: + .ascii "SCNi16 __SCN16(i)\000" +.LASF360: + .ascii "__UTA_FBIT__ 64\000" +.LASF153: + .ascii "__FLT_DECIMAL_DIG__ 9\000" +.LASF563: + .ascii "_UINT8_T_DECLARED \000" +.LASF904: + .ascii "signed char\000" +.LASF806: + .ascii "PRIuLEAST64 __PRI64LEAST(u)\000" +.LASF705: + .ascii "SCNoFAST8 __SCN8FAST(o)\000" +.LASF626: + .ascii "INTMAX_MIN (-INTMAX_MAX - 1)\000" +.LASF364: + .ascii "__GNUC_STDC_INLINE__ 1\000" +.LASF633: + .ascii "WCHAR_MIN (__WCHAR_MIN__)\000" +.LASF256: + .ascii "__FRACT_FBIT__ 15\000" +.LASF701: + .ascii "PRIxFAST8 __PRI8FAST(x)\000" +.LASF320: + .ascii "__LLACCUM_EPSILON__ 0x1P-31LLK\000" +.LASF7: + .ascii "__GNUC_PATCHLEVEL__ 1\000" +.LASF374: + .ascii "__GCC_ATOMIC_CHAR32_T_LOCK_FREE 2\000" +.LASF866: + .ascii "RCC_PLLCFGR_PLLQ_MASK (0b1111)\000" +.LASF120: + .ascii "__UINT_LEAST16_MAX__ 0xffff\000" +.LASF410: + .ascii "__ARM_ARCH_PROFILE 77\000" +.LASF547: + .ascii "_STDINT_H \000" +.LASF219: + .ascii "__FLT64_MAX_10_EXP__ 308\000" +.LASF874: + .ascii "RCC_PLLCFGR_PLLN_MASK (0b111111111)\000" +.LASF957: + .ascii "src/timer.c\000" +.LASF924: + .ascii "RESERVED1\000" +.LASF927: + .ascii "RESERVED2\000" +.LASF3: + .ascii "__STDC_UTF_32__ 1\000" +.LASF933: + .ascii "RESERVED4\000" +.LASF241: + .ascii "__FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x\000" +.LASF938: + .ascii "RESERVED6\000" +.LASF152: + .ascii "__FLT_MAX_10_EXP__ 38\000" +.LASF883: + .ascii "RCC_CFGR_PPRE1_BIT 10\000" +.LASF259: + .ascii "__FRACT_MAX__ 0X7FFFP-15R\000" +.LASF729: + .ascii "PRIxLEAST16 __PRI16LEAST(x)\000" +.LASF130: + .ascii "__INT_FAST32_MAX__ 0x7fffffff\000" +.LASF10: + .ascii "__ATOMIC_SEQ_CST 5\000" +.LASF504: + .ascii "_READ_WRITE_RETURN_TYPE int\000" +.LASF772: + .ascii "SCNoLEAST32 __SCN32LEAST(o)\000" +.LASF891: + .ascii "RCC_CFGR_SW_PLL (0b10)\000" +.LASF798: + .ascii "SCNd64 __SCN64(d)\000" +.LASF828: + .ascii "PRIiMAX __PRIMAX(i)\000" +.LASF627: + .ascii "UINTMAX_MAX (__UINTMAX_MAX__)\000" +.LASF334: + .ascii "__TQ_FBIT__ 127\000" +.LASF709: + .ascii "__PRI16LEAST(x) __LEAST16 __STRINGIFY(x)\000" +.LASF495: + .ascii "__POSIX_VISIBLE 0\000" +.LASF467: + .ascii "_HAVE_LONG_DOUBLE 1\000" +.LASF585: + .ascii "__int_fast64_t_defined 1\000" +.LASF838: + .ascii "__PRIPTR(x) __STRINGIFY(x)\000" +.LASF915: + .ascii "uint16_t\000" +.LASF417: + .ascii "__thumb2__ 1\000" +.LASF321: + .ascii "__ULLACCUM_FBIT__ 32\000" +.LASF895: + .ascii "RCC_APB1ENR_PWREN_BIT 28\000" +.LASF366: + .ascii "__STRICT_ANSI__ 1\000" +.LASF486: + .ascii "_SYS_FEATURES_H \000" +.LASF813: + .ascii "SCNxLEAST64 __SCN64LEAST(x)\000" +.LASF930: + .ascii "RESERVED3\000" +.LASF22: + .ascii "__SIZEOF_LONG_DOUBLE__ 8\000" +.LASF936: + .ascii "RESERVED5\000" +.LASF945: + .ascii "CCMR1\000" +.LASF946: + .ascii "CCMR2\000" +.LASF36: + .ascii "__WCHAR_TYPE__ unsigned int\000" +.LASF899: + .ascii "TIMER_H_ \000" +.LASF470: + .ascii "_MB_LEN_MAX 8\000" +.LASF511: + .ascii "char\000" +.LASF357: + .ascii "__USA_IBIT__ 16\000" +.LASF482: + .ascii "__DOUBLE_TYPE double\000" +.LASF369: + .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1\000" +.LASF645: + .ascii "INTMAX_C(x) __INTMAX_C(x)\000" +.LASF648: + .ascii "__need_wchar_t \000" +.LASF66: + .ascii "__UINT_FAST64_TYPE__ long long unsigned int\000" +.LASF889: + .ascii "RCC_CFGR_SWS_BIT 2\000" +.LASF156: + .ascii "__FLT_MIN__ 1.1754943508222875e-38F\000" +.LASF346: + .ascii "__HA_FBIT__ 7\000" +.LASF751: + .ascii "__PRI32FAST(x) __FAST32 __STRINGIFY(x)\000" +.LASF439: + .ascii "__FDPIC__\000" +.LASF263: + .ascii "__UFRACT_MIN__ 0.0UR\000" +.LASF689: + .ascii "PRIuLEAST8 __PRI8LEAST(u)\000" +.LASF213: + .ascii "__FLT32_IS_IEC_60559__ 2\000" +.LASF630: + .ascii "SIG_ATOMIC_MAX (__STDINT_EXP(INT_MAX))\000" +.LASF725: + .ascii "PRIdLEAST16 __PRI16LEAST(d)\000" +.LASF756: + .ascii "PRIu32 __PRI32(u)\000" +.LASF787: + .ascii "__SCN64(x) __INT64 __STRINGIFY(x)\000" +.LASF647: + .ascii "_GCC_WRAP_STDINT_H \000" +.LASF909: + .ascii "__uint16_t\000" +.LASF926: + .ascii "AHB2ENR\000" +.LASF805: + .ascii "PRIoLEAST64 __PRI64LEAST(o)\000" +.LASF253: + .ascii "__USFRACT_MIN__ 0.0UHR\000" +.LASF433: + .ascii "__ARM_NEON\000" +.LASF695: + .ascii "SCNuLEAST8 __SCN8LEAST(u)\000" +.LASF102: + .ascii "__UINT8_MAX__ 0xff\000" +.LASF575: + .ascii "_UINTMAX_T_DECLARED \000" +.LASF942: + .ascii "timer\000" +.LASF184: + .ascii "__LDBL_MAX_EXP__ 1024\000" +.LASF697: + .ascii "PRIdFAST8 __PRI8FAST(d)\000" +.LASF496: + .ascii "__SVID_VISIBLE 0\000" +.LASF564: + .ascii "__int8_t_defined 1\000" +.LASF176: + .ascii "__DBL_HAS_DENORM__ 1\000" +.LASF625: + .ascii "INTMAX_MAX (__INTMAX_MAX__)\000" +.LASF602: + .ascii "INT32_MAX (__INT32_MAX__)\000" +.LASF350: + .ascii "__DA_FBIT__ 31\000" +.LASF69: + .ascii "__GXX_ABI_VERSION 1017\000" +.LASF109: + .ascii "__INT_LEAST16_MAX__ 0x7fff\000" +.LASF158: + .ascii "__FLT_DENORM_MIN__ 1.4012984643248171e-45F\000" +.LASF534: + .ascii "__LEAST8 \"hh\"\000" +.LASF885: + .ascii "RCC_CFGR_HPRE_DIV_NONE 0\000" +.LASF540: + .ascii "_END_STD_C \000" +.LASF600: + .ascii "UINT_LEAST16_MAX (__UINT_LEAST16_MAX__)\000" +.LASF123: + .ascii "__UINT32_C(c) c ## UL\000" +.LASF726: + .ascii "PRIiLEAST16 __PRI16LEAST(i)\000" +.LASF303: + .ascii "__UACCUM_MIN__ 0.0UK\000" +.LASF870: + .ascii "RCC_PLLCFGR_PLLP_BIT 16\000" +.LASF157: + .ascii "__FLT_EPSILON__ 1.1920928955078125e-7F\000" +.LASF770: + .ascii "SCNdLEAST32 __SCN32LEAST(d)\000" +.LASF921: + .ascii "RESERVED0\000" +.LASF807: + .ascii "PRIxLEAST64 __PRI64LEAST(x)\000" +.LASF35: + .ascii "__PTRDIFF_TYPE__ int\000" +.LASF419: + .ascii "__ARM_ARCH_ISA_THUMB\000" +.LASF579: + .ascii "__int_least16_t_defined 1\000" +.LASF447: + .ascii "__ARM_FEATURE_MATMUL_INT8\000" +.LASF605: + .ascii "INT_LEAST32_MAX (__INT_LEAST32_MAX__)\000" +.LASF820: + .ascii "SCNdFAST64 __SCN64FAST(d)\000" +.LASF604: + .ascii "INT_LEAST32_MIN (-__INT_LEAST32_MAX__ - 1)\000" +.LASF376: + .ascii "__GCC_ATOMIC_SHORT_LOCK_FREE 2\000" +.LASF863: + .ascii "RCC_CR_HSION_BIT 0\000" +.LASF779: + .ascii "PRIxFAST32 __PRI32FAST(x)\000" +.LASF778: + .ascii "PRIuFAST32 __PRI32FAST(u)\000" +.LASF291: + .ascii "__USACCUM_FBIT__ 8\000" +.LASF380: + .ascii "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1\000" +.LASF651: + .ascii "_WCHAR_T \000" +.LASF494: + .ascii "__MISC_VISIBLE 0\000" +.LASF306: + .ascii "__LACCUM_FBIT__ 31\000" +.LASF937: + .ascii "BDCR\000" +.LASF211: + .ascii "__FLT32_HAS_QUIET_NAN__ 1\000" +.LASF485: + .ascii "__OBSOLETE_MATH __OBSOLETE_MATH_DEFAULT\000" +.LASF194: + .ascii "__LDBL_HAS_INFINITY__ 1\000" +.LASF352: + .ascii "__TA_FBIT__ 63\000" +.LASF586: + .ascii "INTPTR_MIN (-__INTPTR_MAX__ - 1)\000" +.LASF440: + .ascii "__ARM_ARCH_EXT_IDIV__ 1\000" +.LASF794: + .ascii "PRIo64 __PRI64(o)\000" +.LASF736: + .ascii "PRIdFAST16 __PRI16FAST(d)\000" +.LASF337: + .ascii "__UQQ_IBIT__ 0\000" +.LASF96: + .ascii "__SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)\000" +.LASF118: + .ascii "__UINT_LEAST8_MAX__ 0xff\000" +.LASF722: + .ascii "SCNo16 __SCN16(o)\000" +.LASF656: + .ascii "_BSD_WCHAR_T_ \000" +.LASF669: + .ascii "__PRI8(x) __INT8 __STRINGIFY(x)\000" +.LASF162: + .ascii "__FP_FAST_FMAF 1\000" +.LASF629: + .ascii "SIG_ATOMIC_MIN (-__STDINT_EXP(INT_MAX) - 1)\000" +.LASF860: + .ascii "RCC_CR_HSEON_ON (1 << RCC_CR_HSEON_BIT)\000" +.LASF565: + .ascii "_INT16_T_DECLARED \000" +.LASF245: + .ascii "__FLT32X_IS_IEC_60559__ 2\000" +.LASF835: + .ascii "SCNoMAX __SCNMAX(o)\000" +.LASF755: + .ascii "PRIo32 __PRI32(o)\000" +.LASF111: + .ascii "__INT_LEAST16_WIDTH__ 16\000" +.LASF804: + .ascii "PRIiLEAST64 __PRI64LEAST(i)\000" +.LASF581: + .ascii "__int_least64_t_defined 1\000" +.LASF145: + .ascii "__DEC_EVAL_METHOD__ 2\000" +.LASF430: + .ascii "__ARM_FEATURE_FP16_FML\000" +.LASF803: + .ascii "PRIdLEAST64 __PRI64LEAST(d)\000" +.LASF255: + .ascii "__USFRACT_EPSILON__ 0x1P-8UHR\000" +.LASF858: + .ascii "RCC_CR_HSERDY_READY (1 << RCC_CR_HSERDY_BIT)\000" +.LASF763: + .ascii "SCNx32 __SCN32(x)\000" +.LASF918: + .ascii "CFGR\000" +.LASF558: + .ascii "___int_least32_t_defined 1\000" +.LASF319: + .ascii "__LLACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LLK\000" +.LASF667: + .ascii "__need_NULL\000" +.LASF363: + .ascii "__USER_LABEL_PREFIX__ \000" +.LASF105: + .ascii "__UINT64_MAX__ 0xffffffffffffffffULL\000" +.LASF699: + .ascii "PRIoFAST8 __PRI8FAST(o)\000" +.LASF104: + .ascii "__UINT32_MAX__ 0xffffffffUL\000" +.LASF643: + .ascii "INT64_C(x) __INT64_C(x)\000" +.LASF616: + .ascii "INT_FAST16_MIN (-__INT_FAST16_MAX__ - 1)\000" +.LASF106: + .ascii "__INT_LEAST8_MAX__ 0x7f\000" +.LASF383: + .ascii "__GCC_ATOMIC_POINTER_LOCK_FREE 2\000" +.LASF391: + .ascii "__ARM_FEATURE_QBIT 1\000" +.LASF404: + .ascii "__ARM_FEATURE_CLZ 1\000" +.LASF431: + .ascii "__ARM_FEATURE_FMA 1\000" +.LASF398: + .ascii "__ARM_FEATURE_COMPLEX\000" +.LASF832: + .ascii "PRIXMAX __PRIMAX(X)\000" +.LASF852: + .ascii "RCC ((struct rcc *) RCC_BASE_ADDR)\000" +.LASF524: + .ascii "_INTPTR_EQ_INT \000" +.LASF408: + .ascii "__ARM_SIZEOF_WCHAR_T 4\000" +.LASF234: + .ascii "__FLT32X_MAX_EXP__ 1024\000" +.LASF122: + .ascii "__UINT_LEAST32_MAX__ 0xffffffffUL\000" +.LASF670: + .ascii "__PRI8LEAST(x) __LEAST8 __STRINGIFY(x)\000" +.LASF174: + .ascii "__DBL_EPSILON__ ((double)2.2204460492503131e-16L)\000" +.LASF268: + .ascii "__LFRACT_MIN__ (-0.5LR-0.5LR)\000" +.LASF117: + .ascii "__INT_LEAST64_WIDTH__ 64\000" +.LASF160: + .ascii "__FLT_HAS_INFINITY__ 1\000" +.LASF299: + .ascii "__ACCUM_MAX__ 0X7FFFFFFFP-15K\000" +.LASF98: + .ascii "__INT8_MAX__ 0x7f\000" +.LASF849: + .ascii "SCNuPTR __SCNPTR(u)\000" +.LASF759: + .ascii "SCNd32 __SCN32(d)\000" +.LASF843: + .ascii "PRIuPTR __PRIPTR(u)\000" +.LASF385: + .ascii "__GCC_HAVE_DWARF2_CFI_ASM 1\000" +.LASF552: + .ascii "___int8_t_defined 1\000" +.LASF248: + .ascii "__SFRACT_MIN__ (-0.5HR-0.5HR)\000" +.LASF911: + .ascii "long unsigned int\000" +.LASF349: + .ascii "__SA_IBIT__ 16\000" +.LASF509: + .ascii "signed\000" +.LASF142: + .ascii "__GCC_IEC_559_COMPLEX 0\000" +.LASF400: + .ascii "__ARM_FEATURE_MVE\000" +.LASF235: + .ascii "__FLT32X_MAX_10_EXP__ 308\000" +.LASF425: + .ascii "__ARM_FP16_FORMAT_IEEE\000" +.LASF48: + .ascii "__UINT16_TYPE__ short unsigned int\000" +.LASF868: + .ascii "RCC_PLLCFGR_PLLSRC_BIT 22\000" +.LASF944: + .ascii "DIER\000" +.LASF657: + .ascii "_WCHAR_T_DEFINED_ \000" +.LASF144: + .ascii "__FLT_EVAL_METHOD_TS_18661_3__ 0\000" +.LASF522: + .ascii "int +2\000" +.LASF958: + .ascii "/home/alex/code/own/c-compile-experiments\000" +.LASF637: + .ascii "INT8_C(x) __INT8_C(x)\000" +.LASF63: + .ascii "__UINT_FAST8_TYPE__ unsigned int\000" +.LASF707: + .ascii "SCNxFAST8 __SCN8FAST(x)\000" +.LASF317: + .ascii "__LLACCUM_IBIT__ 32\000" +.LASF688: + .ascii "PRIoLEAST8 __PRI8LEAST(o)\000" +.LASF260: + .ascii "__FRACT_EPSILON__ 0x1P-15R\000" +.LASF100: + .ascii "__INT32_MAX__ 0x7fffffffL\000" +.LASF506: + .ascii "_USE_GDTOA \000" +.LASF451: + .ascii "__GXX_TYPEINFO_EQUALITY_INLINE 0\000" +.LASF692: + .ascii "SCNdLEAST8 __SCN8LEAST(d)\000" +.LASF115: + .ascii "__INT_LEAST64_MAX__ 0x7fffffffffffffffLL\000" +.LASF414: + .ascii "__APCS_32__ 1\000" +.LASF449: + .ascii "__ARM_FEATURE_BF16_VECTOR_ARITHMETIC\000" +.LASF197: + .ascii "__FLT32_MANT_DIG__ 24\000" +.LASF685: + .ascii "SCNx8 __SCN8(x)\000" +.LASF208: + .ascii "__FLT32_DENORM_MIN__ 1.4012984643248171e-45F32\000" +.LASF125: + .ascii "__UINT64_C(c) c ## ULL\000" +.LASF58: + .ascii "__UINT_LEAST64_TYPE__ long long unsigned int\000" +.LASF800: + .ascii "SCNo64 __SCN64(o)\000" +.LASF251: + .ascii "__USFRACT_FBIT__ 8\000" +.LASF191: + .ascii "__LDBL_EPSILON__ 2.2204460492503131e-16L\000" +.LASF730: + .ascii "PRIXLEAST16 __PRI16LEAST(X)\000" +.LASF623: + .ascii "INT_FAST64_MAX (__INT_FAST64_MAX__)\000" +.LASF373: + .ascii "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2\000" +.LASF790: + .ascii "__PRI64FAST(x) __FAST64 __STRINGIFY(x)\000" +.LASF892: + .ascii "RCC_CFGR_SW_BIT 0\000" +.LASF168: + .ascii "__DBL_MAX_EXP__ 1024\000" +.LASF533: + .ascii "__FAST64 \"ll\"\000" +.LASF12: + .ascii "__ATOMIC_RELEASE 3\000" +.LASF517: + .ascii "unsigned +0\000" +.LASF242: + .ascii "__FLT32X_HAS_DENORM__ 1\000" +.LASF147: + .ascii "__FLT_MANT_DIG__ 24\000" +.LASF343: + .ascii "__UDQ_IBIT__ 0\000" +.LASF53: + .ascii "__INT_LEAST32_TYPE__ long int\000" +.LASF760: + .ascii "SCNi32 __SCN32(i)\000" +.LASF386: + .ascii "__PRAGMA_REDEFINE_EXTNAME 1\000" +.LASF304: + .ascii "__UACCUM_MAX__ 0XFFFFFFFFP-16UK\000" +.LASF568: + .ascii "_INT32_T_DECLARED \000" +.LASF1: + .ascii "__STDC_VERSION__ 202000L\000" +.LASF532: + .ascii "__FAST32 \000" +.LASF520: + .ascii "__int20 +2\000" +.LASF192: + .ascii "__LDBL_DENORM_MIN__ 4.9406564584124654e-324L\000" +.LASF101: + .ascii "__INT64_MAX__ 0x7fffffffffffffffLL\000" +.LASF392: + .ascii "__ARM_FEATURE_SAT 1\000" +.LASF567: + .ascii "__int16_t_defined 1\000" +.LASF282: + .ascii "__ULLFRACT_IBIT__ 0\000" +.LASF758: + .ascii "PRIX32 __PRI32(X)\000" +.LASF774: + .ascii "SCNxLEAST32 __SCN32LEAST(x)\000" +.LASF954: + .ascii "tim4_start\000" +.LASF704: + .ascii "SCNiFAST8 __SCN8FAST(i)\000" +.LASF917: + .ascii "PLLCFGR\000" +.LASF5: + .ascii "__GNUC__ 12\000" +.LASF693: + .ascii "SCNiLEAST8 __SCN8LEAST(i)\000" +.LASF753: + .ascii "PRId32 __PRI32(d)\000" +.LASF601: + .ascii "INT32_MIN (-__INT32_MAX__ - 1)\000" +.LASF154: + .ascii "__FLT_MAX__ 3.4028234663852886e+38F\000" +.LASF301: + .ascii "__UACCUM_FBIT__ 16\000" +.LASF265: + .ascii "__UFRACT_EPSILON__ 0x1P-16UR\000" +.LASF634: + .ascii "WCHAR_MAX (__WCHAR_MAX__)\000" +.LASF527: + .ascii "__INT16 \"h\"\000" +.LASF457: + .ascii "_NEWLIB_VERSION_H__ 1\000" +.LASF378: + .ascii "__GCC_ATOMIC_LONG_LOCK_FREE 2\000" +.LASF313: + .ascii "__ULACCUM_MIN__ 0.0ULK\000" +.LASF462: + .ascii "_ATEXIT_DYNAMIC_ALLOC 1\000" +.LASF910: + .ascii "__uint32_t\000" +.LASF188: + .ascii "__LDBL_MAX__ 1.7976931348623157e+308L\000" +.LASF413: + .ascii "__ARM_ARCH 7\000" +.LASF146: + .ascii "__FLT_RADIX__ 2\000" +.LASF455: + .ascii "_INTTYPES_H \000" +.LASF912: + .ascii "long long int\000" +.LASF401: + .ascii "__ARM_FEATURE_CMSE\000" +.LASF84: + .ascii "__LONG_WIDTH__ 32\000" +.LASF603: + .ascii "UINT32_MAX (__UINT32_MAX__)\000" +.LASF649: + .ascii "__wchar_t__ \000" +.LASF195: + .ascii "__LDBL_HAS_QUIET_NAN__ 1\000" +.LASF85: + .ascii "__LONG_LONG_WIDTH__ 64\000" +.LASF664: + .ascii "__DEFINED_wchar_t \000" +.LASF635: + .ascii "WINT_MAX (__WINT_MAX__)\000" +.LASF823: + .ascii "SCNuFAST64 __SCN64FAST(u)\000" +.LASF939: + .ascii "SSCGR\000" +.LASF137: + .ascii "__UINT_FAST64_MAX__ 0xffffffffffffffffULL\000" +.LASF723: + .ascii "SCNu16 __SCN16(u)\000" +.LASF423: + .ascii "__ARM_FP\000" +.LASF347: + .ascii "__HA_IBIT__ 8\000" +.LASF139: + .ascii "__INTPTR_WIDTH__ 32\000" +.LASF379: + .ascii "__GCC_ATOMIC_LLONG_LOCK_FREE 1\000" +.LASF239: + .ascii "__FLT32X_MIN__ 2.2250738585072014e-308F32x\000" +.LASF218: + .ascii "__FLT64_MAX_EXP__ 1024\000" +.LASF712: + .ascii "__SCN16LEAST(x) __LEAST16 __STRINGIFY(x)\000" +.LASF654: + .ascii "__WCHAR_T \000" +.LASF223: + .ascii "__FLT64_MIN__ 2.2250738585072014e-308F64\000" +.LASF554: + .ascii "___int32_t_defined 1\000" +.LASF83: + .ascii "__INT_WIDTH__ 32\000" +.LASF923: + .ascii "APB2RSTR\000" +.LASF409: + .ascii "__ARM_ARCH_PROFILE\000" +.LASF46: + .ascii "__INT64_TYPE__ long long int\000" +.LASF266: + .ascii "__LFRACT_FBIT__ 31\000" +.LASF597: + .ascii "UINT16_MAX (__UINT16_MAX__)\000" +.LASF387: + .ascii "__SIZEOF_WCHAR_T__ 4\000" +.LASF490: + .ascii "__BSD_VISIBLE 0\000" +.LASF598: + .ascii "INT_LEAST16_MIN (-__INT_LEAST16_MAX__ - 1)\000" +.LASF740: + .ascii "PRIxFAST16 __PRI16FAST(x)\000" +.LASF739: + .ascii "PRIuFAST16 __PRI16FAST(u)\000" +.LASF846: + .ascii "SCNdPTR __SCNPTR(d)\000" +.LASF847: + .ascii "SCNiPTR __SCNPTR(i)\000" +.LASF674: + .ascii "__SCN8FAST(x) __FAST8 __STRINGIFY(x)\000" +.LASF264: + .ascii "__UFRACT_MAX__ 0XFFFFP-16UR\000" +.LASF559: + .ascii "___int_least64_t_defined 1\000" +.LASF57: + .ascii "__UINT_LEAST32_TYPE__ long unsigned int\000" +.LASF112: + .ascii "__INT_LEAST32_MAX__ 0x7fffffffL\000" +.LASF247: + .ascii "__SFRACT_IBIT__ 0\000" +.LASF677: + .ascii "PRIo8 __PRI8(o)\000" +.LASF508: + .ascii "__STDINT_EXP(x) __ ##x ##__\000" +.LASF549: + .ascii "__EXP(x) __ ##x ##__\000" +.LASF808: + .ascii "PRIXLEAST64 __PRI64LEAST(X)\000" +.LASF29: + .ascii "__BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__\000" +.LASF207: + .ascii "__FLT32_EPSILON__ 1.1920928955078125e-7F32\000" +.LASF434: + .ascii "__ARM_NEON_FP\000" +.LASF280: + .ascii "__LLFRACT_EPSILON__ 0x1P-63LLR\000" +.LASF935: + .ascii "APB2LPENR\000" +.LASF821: + .ascii "SCNiFAST64 __SCN64FAST(i)\000" +.LASF538: + .ascii "_ANSIDECL_H_ \000" +.LASF684: + .ascii "SCNu8 __SCN8(u)\000" +.LASF900: + .ascii "TIM4_BASE_ADDR (0x40000800U)\000" +.LASF261: + .ascii "__UFRACT_FBIT__ 16\000" +.LASF342: + .ascii "__UDQ_FBIT__ 64\000" +.LASF172: + .ascii "__DBL_NORM_MAX__ ((double)1.7976931348623157e+308L)" + .ascii "\000" +.LASF583: + .ascii "__int_fast16_t_defined 1\000" +.LASF483: + .ascii "__FLOAT_TYPE float\000" +.LASF185: + .ascii "__LDBL_MAX_10_EXP__ 308\000" +.LASF175: + .ascii "__DBL_DENORM_MIN__ ((double)4.9406564584124654e-324" + .ascii "L)\000" +.LASF608: + .ascii "INT64_MAX (__INT64_MAX__)\000" +.LASF914: + .ascii "unsigned int\000" +.LASF857: + .ascii "RCC_CR_HSERDY_BIT 17\000" +.LASF460: + .ascii "__NEWLIB_MINOR__ 3\000" +.LASF149: + .ascii "__FLT_MIN_EXP__ (-125)\000" +.LASF228: + .ascii "__FLT64_HAS_QUIET_NAN__ 1\000" +.LASF642: + .ascii "UINT32_C(x) __UINT32_C(x)\000" +.LASF737: + .ascii "PRIiFAST16 __PRI16FAST(i)\000" +.LASF292: + .ascii "__USACCUM_IBIT__ 8\000" +.LASF613: + .ascii "INT_FAST8_MIN (-__INT_FAST8_MAX__ - 1)\000" +.LASF226: + .ascii "__FLT64_HAS_DENORM__ 1\000" +.LASF148: + .ascii "__FLT_DIG__ 6\000" +.LASF305: + .ascii "__UACCUM_EPSILON__ 0x1P-16UK\000" +.LASF663: + .ascii "_WCHAR_T_DECLARED \000" +.LASF24: + .ascii "__CHAR_BIT__ 8\000" +.LASF143: + .ascii "__FLT_EVAL_METHOD__ 0\000" +.LASF458: + .ascii "_NEWLIB_VERSION \"4.3.0\"\000" +.LASF686: + .ascii "PRIdLEAST8 __PRI8LEAST(d)\000" +.LASF70: + .ascii "__SCHAR_MAX__ 0x7f\000" +.LASF127: + .ascii "__INT_FAST8_WIDTH__ 32\000" +.LASF2: + .ascii "__STDC_UTF_16__ 1\000" +.LASF402: + .ascii "__ARM_FEATURE_LDREX\000" +.LASF336: + .ascii "__UQQ_FBIT__ 8\000" +.LASF427: + .ascii "__ARM_FP16_ARGS\000" +.LASF141: + .ascii "__GCC_IEC_559 0\000" +.LASF518: + .ascii "char +0\000" +.LASF269: + .ascii "__LFRACT_MAX__ 0X7FFFFFFFP-31LR\000" +.LASF389: + .ascii "__SIZEOF_PTRDIFF_T__ 4\000" +.LASF650: + .ascii "__WCHAR_T__ \000" +.LASF556: + .ascii "___int_least8_t_defined 1\000" +.LASF441: + .ascii "__ARM_FEATURE_IDIV 1\000" +.LASF30: + .ascii "__FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__\000" +.LASF662: + .ascii "_GCC_WCHAR_T \000" +.LASF582: + .ascii "__int_fast8_t_defined 1\000" +.LASF502: + .ascii "__EXPORT \000" +.LASF444: + .ascii "__ARM_FEATURE_COPROC 15\000" +.LASF484: + .ascii "__OBSOLETE_MATH_DEFAULT 1\000" +.LASF864: + .ascii "RCC_CR_HSION_ON (1 << RCC_CR_HSION_BIT)\000" +.LASF671: + .ascii "__PRI8FAST(x) __FAST8 __STRINGIFY(x)\000" +.LASF82: + .ascii "__SHRT_WIDTH__ 16\000" +.LASF880: + .ascii "RCC_CFGR_PPRE_DIV_2 (0b100)\000" +.LASF473: + .ascii "_UNBUF_STREAM_OPT 1\000" +.LASF668: + .ascii "__STRINGIFY(a) #a\000" +.LASF356: + .ascii "__USA_FBIT__ 16\000" +.LASF934: + .ascii "APB1LPENR\000" +.LASF480: + .ascii "__IEEE_LITTLE_ENDIAN \000" +.LASF183: + .ascii "__LDBL_MIN_10_EXP__ (-307)\000" +.LASF476: + .ascii "_WANT_REGISTER_FINI 1\000" +.LASF161: + .ascii "__FLT_HAS_QUIET_NAN__ 1\000" +.LASF489: + .ascii "__ATFILE_VISIBLE 0\000" +.LASF372: + .ascii "__GCC_ATOMIC_CHAR_LOCK_FREE 2\000" +.LASF270: + .ascii "__LFRACT_EPSILON__ 0x1P-31LR\000" +.LASF809: + .ascii "SCNdLEAST64 __SCN64LEAST(d)\000" +.LASF539: + .ascii "_BEGIN_STD_C \000" +.LASF681: + .ascii "SCNd8 __SCN8(d)\000" +.LASF824: + .ascii "SCNxFAST64 __SCN64FAST(x)\000" +.LASF682: + .ascii "SCNi8 __SCN8(i)\000" +.LASF767: + .ascii "PRIuLEAST32 __PRI32LEAST(u)\000" +.LASF407: + .ascii "__ARM_SIZEOF_MINIMAL_ENUM 1\000" +.LASF499: + .ascii "_POINTER_INT long\000" +.LASF238: + .ascii "__FLT32X_NORM_MAX__ 1.7976931348623157e+308F32x\000" +.LASF20: + .ascii "__SIZEOF_FLOAT__ 4\000" +.LASF411: + .ascii "__arm__ 1\000" +.LASF200: + .ascii "__FLT32_MIN_10_EXP__ (-37)\000" +.LASF501: + .ascii "__RAND_MAX 0x7fffffff\000" +.LASF492: + .ascii "__ISO_C_VISIBLE 2011\000" +.LASF595: + .ascii "INT16_MIN (-__INT16_MAX__ - 1)\000" +.LASF426: + .ascii "__ARM_FP16_FORMAT_ALTERNATIVE\000" +.LASF189: + .ascii "__LDBL_NORM_MAX__ 1.7976931348623157e+308L\000" +.LASF548: + .ascii "_MACHINE__DEFAULT_TYPES_H \000" +.LASF25: + .ascii "__BIGGEST_ALIGNMENT__ 8\000" +.LASF353: + .ascii "__TA_IBIT__ 64\000" +.LASF713: + .ascii "__SCN16FAST(x) __FAST16 __STRINGIFY(x)\000" +.LASF537: + .ascii "__LEAST64 \"ll\"\000" +.LASF862: + .ascii "RCC_CR_HSIRDY_READY (1 << RCC_CR_HSIRDY_BIT)\000" +.LASF659: + .ascii "_WCHAR_T_H \000" +.LASF395: + .ascii "__ARM_FEATURE_QRDMX\000" +.LASF771: + .ascii "SCNiLEAST32 __SCN32LEAST(i)\000" +.LASF718: + .ascii "PRIx16 __PRI16(x)\000" +.LASF465: + .ascii "_HAVE_CC_INHIBIT_LOOP_TO_LIBCALL 1\000" +.LASF420: + .ascii "__ARM_ARCH_ISA_THUMB 2\000" +.LASF710: + .ascii "__PRI16FAST(x) __FAST16 __STRINGIFY(x)\000" +.LASF74: + .ascii "__LONG_LONG_MAX__ 0x7fffffffffffffffLL\000" +.LASF463: + .ascii "_FSEEK_OPTIMIZATION 1\000" +.LASF87: + .ascii "__WINT_WIDTH__ 32\000" +.LASF515: + .ascii "long\000" +.LASF65: + .ascii "__UINT_FAST32_TYPE__ unsigned int\000" +.LASF512: + .ascii "short\000" +.LASF262: + .ascii "__UFRACT_IBIT__ 0\000" +.LASF399: + .ascii "__ARM_32BIT_STATE 1\000" +.LASF107: + .ascii "__INT8_C(c) c\000" +.LASF267: + .ascii "__LFRACT_IBIT__ 0\000" +.LASF16: + .ascii "__SIZEOF_INT__ 4\000" +.LASF166: + .ascii "__DBL_MIN_EXP__ (-1021)\000" +.LASF706: + .ascii "SCNuFAST8 __SCN8FAST(u)\000" +.LASF745: + .ascii "SCNuFAST16 __SCN16FAST(u)\000" +.LASF802: + .ascii "SCNx64 __SCN64(x)\000" +.LASF198: + .ascii "__FLT32_DIG__ 6\000" +.LASF884: + .ascii "RCC_CFGR_PPRE1_MASK (0b111)\000" +.LASF646: + .ascii "UINTMAX_C(x) __UINTMAX_C(x)\000" +.LASF624: + .ascii "UINT_FAST64_MAX (__UINT_FAST64_MAX__)\000" +.LASF555: + .ascii "___int64_t_defined 1\000" +.LASF193: + .ascii "__LDBL_HAS_DENORM__ 1\000" +.LASF384: + .ascii "__HAVE_SPECULATION_SAFE_VALUE 1\000" +.LASF286: + .ascii "__SACCUM_FBIT__ 7\000" +.LASF370: + .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1\000" +.LASF734: + .ascii "SCNuLEAST16 __SCN16LEAST(u)\000" +.LASF922: + .ascii "APB1RSTR\000" +.LASF298: + .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" +.LASF393: + .ascii "__ARM_FEATURE_CRYPTO\000" +.LASF928: + .ascii "APB1ENR\000" +.LASF742: + .ascii "SCNdFAST16 __SCN16FAST(d)\000" +.LASF867: + .ascii "RCC_PLLCFGR_PLLQ(q) ((q & RCC_PLLCFGR_PLLQ_MASK) <<" + .ascii " RCC_PLLCFGR_PLLQ_BIT)\000" +.LASF788: + .ascii "__PRI64LEAST(x) __LEAST64 __STRINGIFY(x)\000" +.LASF678: + .ascii "PRIu8 __PRI8(u)\000" +.LASF124: + .ascii "__UINT_LEAST64_MAX__ 0xffffffffffffffffULL\000" +.LASF257: + .ascii "__FRACT_IBIT__ 0\000" +.LASF11: + .ascii "__ATOMIC_ACQUIRE 2\000" +.LASF477: + .ascii "_WANT_USE_GDTOA 1\000" +.LASF229: + .ascii "__FLT64_IS_IEC_60559__ 2\000" +.LASF461: + .ascii "__NEWLIB_PATCHLEVEL__ 0\000" +.LASF26: + .ascii "__ORDER_LITTLE_ENDIAN__ 1234\000" +.LASF869: + .ascii "RCC_PLLCFGR_PLLSRC_HSE (1 << RCC_PLLCFGR_PLLSRC_BIT" + .ascii ")\000" +.LASF155: + .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" +.LASF913: + .ascii "long long unsigned int\000" +.LASF612: + .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" +.LASF150: + .ascii "__FLT_MIN_10_EXP__ (-37)\000" +.LASF890: + .ascii "RCC_CFGR_SWS_MASK (0b11)\000" +.LASF312: + .ascii "__ULACCUM_IBIT__ 32\000" +.LASF777: + .ascii "PRIoFAST32 __PRI32FAST(o)\000" +.LASF71: + .ascii "__SHRT_MAX__ 0x7fff\000" +.LASF196: + .ascii "__LDBL_IS_IEC_60559__ 2\000" +.LASF696: + .ascii "SCNxLEAST8 __SCN8LEAST(x)\000" +.LASF325: + .ascii "__ULLACCUM_EPSILON__ 0x1P-32ULLK\000" +.LASF570: + .ascii "__int32_t_defined 1\000" +.LASF332: + .ascii "__DQ_FBIT__ 63\000" +.LASF491: + .ascii "__GNU_VISIBLE 0\000" +.LASF287: + .ascii "__SACCUM_IBIT__ 8\000" +.LASF781: + .ascii "SCNdFAST32 __SCN32FAST(d)\000" +.LASF339: + .ascii "__UHQ_IBIT__ 0\000" +.LASF60: + .ascii "__INT_FAST16_TYPE__ int\000" +.LASF61: + .ascii "__INT_FAST32_TYPE__ int\000" +.LASF288: + .ascii "__SACCUM_MIN__ (-0X1P7HK-0X1P7HK)\000" +.LASF274: + .ascii "__ULFRACT_MAX__ 0XFFFFFFFFP-32ULR\000" +.LASF875: + .ascii "RCC_PLLCFGR_PLLN(n) ((n & RCC_PLLCFGR_PLLN_MASK) <<" + .ascii " RCC_PLLCFGR_PLLN_BIT)\000" +.LASF56: + .ascii "__UINT_LEAST16_TYPE__ short unsigned int\000" +.LASF574: + .ascii "_INTMAX_T_DECLARED \000" +.LASF947: + .ascii "CCER\000" +.LASF40: + .ascii "__CHAR16_TYPE__ short unsigned int\000" +.LASF231: + .ascii "__FLT32X_DIG__ 15\000" +.LASF741: + .ascii "PRIXFAST16 __PRI16FAST(X)\000" +.LASF834: + .ascii "SCNiMAX __SCNMAX(i)\000" +.LASF853: + .ascii "RCC_CR_PLLRDY_BIT 25\000" +.LASF768: + .ascii "PRIxLEAST32 __PRI32LEAST(x)\000" +.LASF344: + .ascii "__UTQ_FBIT__ 128\000" +.LASF848: + .ascii "SCNoPTR __SCNPTR(o)\000" +.LASF842: + .ascii "PRIoPTR __PRIPTR(o)\000" +.LASF732: + .ascii "SCNiLEAST16 __SCN16LEAST(i)\000" +.LASF15: + .ascii "__FINITE_MATH_ONLY__ 0\000" +.LASF128: + .ascii "__INT_FAST16_MAX__ 0x7fffffff\000" +.LASF550: + .ascii "__have_longlong64 1\000" +.LASF469: + .ascii "_MB_CAPABLE 1\000" +.LASF19: + .ascii "__SIZEOF_SHORT__ 2\000" +.LASF703: + .ascii "SCNdFAST8 __SCN8FAST(d)\000" +.LASF577: + .ascii "_UINTPTR_T_DECLARED \000" +.LASF503: + .ascii "__IMPORT \000" +.LASF314: + .ascii "__ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK\000" +.LASF273: + .ascii "__ULFRACT_MIN__ 0.0ULR\000" +.LASF628: + .ascii "SIZE_MAX (__SIZE_MAX__)\000" +.LASF333: + .ascii "__DQ_IBIT__ 0\000" +.LASF450: + .ascii "__ARM_BF16_FORMAT_ALTERNATIVE\000" +.LASF45: + .ascii "__INT32_TYPE__ long int\000" +.LASF569: + .ascii "_UINT32_T_DECLARED \000" +.LASF521: + .ascii "__int20__ +2\000" +.LASF655: + .ascii "_WCHAR_T_ \000" +.LASF943: + .ascii "SMCR\000" +.LASF829: + .ascii "PRIoMAX __PRIMAX(o)\000" +.LASF748: + .ascii "__SCN32(x) __INT32 __STRINGIFY(x)\000" +.LASF744: + .ascii "SCNoFAST16 __SCN16FAST(o)\000" +.LASF345: + .ascii "__UTQ_IBIT__ 0\000" +.LASF348: + .ascii "__SA_FBIT__ 15\000" +.LASF661: + .ascii "__INT_WCHAR_T_H \000" +.LASF237: + .ascii "__FLT32X_MAX__ 1.7976931348623157e+308F32x\000" +.LASF553: + .ascii "___int16_t_defined 1\000" +.LASF438: + .ascii "__ARM_EABI__ 1\000" +.LASF466: + .ascii "_HAVE_INITFINI_ARRAY 1\000" +.LASF733: + .ascii "SCNoLEAST16 __SCN16LEAST(o)\000" +.LASF474: + .ascii "_WANT_IO_C99_FORMATS 1\000" +.LASF163: + .ascii "__FLT_IS_IEC_60559__ 2\000" +.LASF418: + .ascii "__THUMBEL__ 1\000" +.LASF715: + .ascii "PRIi16 __PRI16(i)\000" +.LASF390: + .ascii "__ARM_FEATURE_DSP 1\000" +.LASF826: + .ascii "__SCNMAX(x) __STRINGIFY(ll ##x)\000" +.LASF327: + .ascii "__QQ_IBIT__ 0\000" +.LASF764: + .ascii "PRIdLEAST32 __PRI32LEAST(d)\000" +.LASF812: + .ascii "SCNuLEAST64 __SCN64LEAST(u)\000" +.LASF644: + .ascii "UINT64_C(x) __UINT64_C(x)\000" +.LASF316: + .ascii "__LLACCUM_FBIT__ 31\000" +.LASF39: + .ascii "__UINTMAX_TYPE__ long long unsigned int\000" +.LASF233: + .ascii "__FLT32X_MIN_10_EXP__ (-307)\000" +.LASF594: + .ascii "UINT_LEAST8_MAX (__UINT_LEAST8_MAX__)\000" +.LASF341: + .ascii "__USQ_IBIT__ 0\000" +.LASF6: + .ascii "__GNUC_MINOR__ 3\000" +.LASF454: + .ascii "RCC_H_ \000" +.LASF405: + .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" +.LASF38: + .ascii "__INTMAX_TYPE__ long long int\000" +.LASF377: + .ascii "__GCC_ATOMIC_INT_LOCK_FREE 2\000" +.LASF562: + .ascii "_INT8_T_DECLARED \000" +.LASF436: + .ascii "__ARM_ARCH_7EM__ 1\000" +.LASF428: + .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" +.LASF925: + .ascii "AHB1ENR\000" +.LASF295: + .ascii "__USACCUM_EPSILON__ 0x1P-8UHK\000" +.LASF178: + .ascii "__DBL_HAS_QUIET_NAN__ 1\000" +.LASF641: + .ascii "INT32_C(x) __INT32_C(x)\000" +.LASF618: + .ascii "UINT_FAST16_MAX (__UINT_FAST16_MAX__)\000" +.LASF546: + .ascii "_NOINLINE_STATIC _NOINLINE static\000" +.LASF279: + .ascii "__LLFRACT_MAX__ 0X7FFFFFFFFFFFFFFFP-63LLR\000" +.LASF840: + .ascii "PRIdPTR __PRIPTR(d)\000" +.LASF606: + .ascii "UINT_LEAST32_MAX (__UINT_LEAST32_MAX__)\000" +.LASF731: + .ascii "SCNdLEAST16 __SCN16LEAST(d)\000" +.LASF814: + .ascii "PRIdFAST64 __PRI64FAST(d)\000" +.LASF833: + .ascii "SCNdMAX __SCNMAX(d)\000" +.LASF289: + .ascii "__SACCUM_MAX__ 0X7FFFP-7HK\000" +.LASF67: + .ascii "__INTPTR_TYPE__ int\000" +.LASF68: + .ascii "__UINTPTR_TYPE__ unsigned int\000" +.LASF837: + .ascii "SCNxMAX __SCNMAX(x)\000" +.LASF362: + .ascii "__REGISTER_PREFIX__ \000" +.LASF204: + .ascii "__FLT32_MAX__ 3.4028234663852886e+38F32\000" +.LASF165: + .ascii "__DBL_DIG__ 15\000" +.LASF275: + .ascii "__ULFRACT_EPSILON__ 0x1P-32ULR\000" +.LASF920: + .ascii "AHB2RSTR\000" +.LASF672: + .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" +.LASF882: + .ascii "RCC_CFGR_PPRE2_MASK (0b111)\000" +.LASF23: + .ascii "__SIZEOF_SIZE_T__ 4\000" +.LASF854: + .ascii "RCC_CR_PLLRDY_LOCKED (1 << RCC_CR_PLLRDY_BIT)\000" +.LASF50: + .ascii "__UINT64_TYPE__ long long unsigned int\000" +.LASF580: + .ascii "__int_least32_t_defined 1\000" +.LASF116: + .ascii "__INT64_C(c) c ## LL\000" +.LASF464: + .ascii "_FVWRITE_IN_STREAMIO 1\000" +.LASF190: + .ascii "__LDBL_MIN__ 2.2250738585072014e-308L\000" +.LASF445: + .ascii "__ARM_FEATURE_CDE\000" +.LASF297: + .ascii "__ACCUM_IBIT__ 16\000" +.LASF717: + .ascii "PRIu16 __PRI16(u)\000" +.LASF510: + .ascii "unsigned\000" +.LASF381: + .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" +.LASF906: + .ascii "short int\000" +.LASF836: + .ascii "SCNuMAX __SCNMAX(u)\000" +.LASF121: + .ascii "__UINT16_C(c) c\000" +.LASF903: + .ascii "TIM4_ENABLE (1 << TIM4_CR_CEN_BIT)\000" +.LASF359: + .ascii "__UDA_IBIT__ 32\000" +.LASF535: + .ascii "__LEAST16 \"h\"\000" +.LASF877: + .ascii "RCC_PLLCFGR_PLLM_MASK (0b111111)\000" +.LASF587: + .ascii "INTPTR_MAX (__INTPTR_MAX__)\000" +.LASF711: + .ascii "__SCN16(x) __INT16 __STRINGIFY(x)\000" +.LASF607: + .ascii "INT64_MIN (-__INT64_MAX__ - 1)\000" +.LASF9: + .ascii "__ATOMIC_RELAXED 0\000" +.LASF543: + .ascii "_ATTRIBUTE(attrs) __attribute__ (attrs)\000" +.LASF443: + .ascii "__ARM_FEATURE_COPROC\000" +.LASF177: + .ascii "__DBL_HAS_INFINITY__ 1\000" +.LASF901: + .ascii "TIM4 ((struct timer *) TIM4_BASE_ADDR)\000" +.LASF95: + .ascii "__SIG_ATOMIC_MAX__ 0x7fffffff\000" +.LASF609: + .ascii "UINT64_MAX (__UINT64_MAX__)\000" +.LASF472: + .ascii "_RETARGETABLE_LOCKING 1\000" +.LASF453: + .ascii "__USES_INITFINI__ 1\000" +.LASF638: + .ascii "UINT8_C(x) __UINT8_C(x)\000" +.LASF170: + .ascii "__DBL_DECIMAL_DIG__ 17\000" +.LASF551: + .ascii "__have_long32 1\000" +.LASF855: + .ascii "RCC_CR_PLLON_BIT 24\000" +.LASF658: + .ascii "_WCHAR_T_DEFINED \000" +.LASF793: + .ascii "PRIi64 __PRI64(i)\000" +.LASF811: + .ascii "SCNoLEAST64 __SCN64LEAST(o)\000" +.LASF573: + .ascii "__int64_t_defined 1\000" +.LASF99: + .ascii "__INT16_MAX__ 0x7fff\000" +.LASF479: + .ascii "__SYS_CONFIG_H__ \000" +.LASF876: + .ascii "RCC_PLLCFGR_PLLM_BIT 0\000" +.LASF8: + .ascii "__VERSION__ \"12.3.1 20230626\"\000" +.LASF498: + .ascii "__SSP_FORTIFY_LEVEL 0\000" +.LASF530: + .ascii "__FAST8 \000" +.LASF497: + .ascii "__XSI_VISIBLE 0\000" +.LASF326: + .ascii "__QQ_FBIT__ 7\000" +.LASF795: + .ascii "PRIu64 __PRI64(u)\000" +.LASF97: + .ascii "__SIG_ATOMIC_WIDTH__ 32\000" +.LASF224: + .ascii "__FLT64_EPSILON__ 2.2204460492503131e-16F64\000" +.LASF831: + .ascii "PRIxMAX __PRIMAX(x)\000" +.LASF488: + .ascii "__GNUC_PREREQ__(ma,mi) __GNUC_PREREQ(ma, mi)\000" +.LASF361: + .ascii "__UTA_IBIT__ 64\000" +.LASF322: + .ascii "__ULLACCUM_IBIT__ 32\000" +.LASF396: + .ascii "__ARM_FEATURE_CRC32\000" +.LASF285: + .ascii "__ULLFRACT_EPSILON__ 0x1P-64ULLR\000" +.LASF4: + .ascii "__STDC_HOSTED__ 1\000" +.LASF827: + .ascii "PRIdMAX __PRIMAX(d)\000" +.LASF388: + .ascii "__SIZEOF_WINT_T__ 4\000" +.LASF881: + .ascii "RCC_CFGR_PPRE2_BIT 13\000" +.LASF783: + .ascii "SCNoFAST32 __SCN32FAST(o)\000" +.LASF394: + .ascii "__ARM_FEATURE_UNALIGNED 1\000" +.LASF0: + .ascii "__STDC__ 1\000" +.LASF187: + .ascii "__LDBL_DECIMAL_DIG__ 17\000" +.LASF702: + .ascii "PRIXFAST8 __PRI8FAST(X)\000" +.LASF308: + .ascii "__LACCUM_MIN__ (-0X1P31LK-0X1P31LK)\000" +.LASF785: + .ascii "SCNxFAST32 __SCN32FAST(x)\000" +.LASF126: + .ascii "__INT_FAST8_MAX__ 0x7fffffff\000" +.LASF209: + .ascii "__FLT32_HAS_DENORM__ 1\000" +.LASF478: + .ascii "_WIDE_ORIENT 1\000" +.LASF323: + .ascii "__ULLACCUM_MIN__ 0.0ULLK\000" +.LASF131: + .ascii "__INT_FAST32_WIDTH__ 32\000" +.LASF222: + .ascii "__FLT64_NORM_MAX__ 1.7976931348623157e+308F64\000" +.LASF544: + .ascii "_ELIDABLE_INLINE static __inline__\000" +.LASF528: + .ascii "__INT32 \"l\"\000" +.LASF442: + .ascii "__ARM_ASM_SYNTAX_UNIFIED__ 1\000" +.LASF738: + .ascii "PRIoFAST16 __PRI16FAST(o)\000" +.LASF750: + .ascii "__SCN32LEAST(x) __LEAST32 __STRINGIFY(x)\000" +.LASF49: + .ascii "__UINT32_TYPE__ long unsigned int\000" +.LASF397: + .ascii "__ARM_FEATURE_DOTPROD\000" +.LASF747: + .ascii "__PRI32(x) __INT32 __STRINGIFY(x)\000" +.LASF437: + .ascii "__ARM_PCS_VFP 1\000" +.LASF700: + .ascii "PRIuFAST8 __PRI8FAST(u)\000" +.LASF283: + .ascii "__ULLFRACT_MIN__ 0.0ULLR\000" +.LASF652: + .ascii "_T_WCHAR_ \000" +.LASF952: + .ascii "BDTR\000" +.LASF382: + .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" +.LASF665: + .ascii "_BSD_WCHAR_T_\000" +.LASF940: + .ascii "PLLI2SCFGR\000" +.LASF277: + .ascii "__LLFRACT_IBIT__ 0\000" +.LASF640: + .ascii "UINT16_C(x) __UINT16_C(x)\000" +.LASF757: + .ascii "PRIx32 __PRI32(x)\000" +.LASF955: + .ascii "tim4_init\000" +.LASF916: + .ascii "uint32_t\000" +.LASF873: + .ascii "RCC_PLLCFGR_PLLN_BIT 6\000" +.LASF690: + .ascii "PRIxLEAST8 __PRI8LEAST(x)\000" +.LASF507: + .ascii "_SYS__INTSUP_H \000" +.LASF290: + .ascii "__SACCUM_EPSILON__ 0x1P-7HK\000" +.LASF415: + .ascii "__GCC_ASM_FLAG_OUTPUTS__ 1\000" +.LASF746: + .ascii "SCNxFAST16 __SCN16FAST(x)\000" +.LASF471: + .ascii "_REENT_CHECK_VERIFY 1\000" +.LASF776: + .ascii "PRIiFAST32 __PRI32FAST(i)\000" +.LASF424: + .ascii "__ARM_FP 4\000" +.LASF719: + .ascii "PRIX16 __PRI16(X)\000" +.LASF64: + .ascii "__UINT_FAST16_TYPE__ unsigned int\000" +.LASF782: + .ascii "SCNiFAST32 __SCN32FAST(i)\000" +.LASF355: + .ascii "__UHA_IBIT__ 8\000" +.LASF300: + .ascii "__ACCUM_EPSILON__ 0x1P-15K\000" +.LASF315: + .ascii "__ULACCUM_EPSILON__ 0x1P-32ULK\000" +.LASF181: + .ascii "__LDBL_DIG__ 15\000" +.LASF89: + .ascii "__SIZE_WIDTH__ 32\000" +.LASF871: + .ascii "RCC_PLLCFGR_PLLP_MASK (0b11)\000" +.LASF481: + .ascii "_SUPPORTS_ERREXCEPT \000" +.LASF215: + .ascii "__FLT64_DIG__ 15\000" +.LASF525: + .ascii "_INT32_EQ_LONG \000" +.LASF879: + .ascii "RCC_CFGR_PPRE_DIV_NONE 0\000" +.LASF77: + .ascii "__WINT_MAX__ 0xffffffffU\000" +.LASF108: + .ascii "__INT_LEAST8_WIDTH__ 8\000" +.LASF52: + .ascii "__INT_LEAST16_TYPE__ short int\000" +.LASF708: + .ascii "__PRI16(x) __INT16 __STRINGIFY(x)\000" +.LASF159: + .ascii "__FLT_HAS_DENORM__ 1\000" +.LASF769: + .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" +.LASF171: + .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" +.LASF907: + .ascii "short unsigned int\000" +.LASF276: + .ascii "__LLFRACT_FBIT__ 63\000" +.LASF210: + .ascii "__FLT32_HAS_INFINITY__ 1\000" +.LASF416: + .ascii "__thumb__ 1\000" +.LASF421: + .ascii "__ARMEL__ 1\000" +.LASF691: + .ascii "PRIXLEAST8 __PRI8LEAST(X)\000" +.LASF328: + .ascii "__HQ_FBIT__ 15\000" +.LASF799: + .ascii "SCNi64 __SCN64(i)\000" +.LASF861: + .ascii "RCC_CR_HSIRDY_BIT 1\000" +.LASF80: + .ascii "__SIZE_MAX__ 0xffffffffU\000" +.LASF243: + .ascii "__FLT32X_HAS_INFINITY__ 1\000" +.LASF819: + .ascii "PRIXFAST64 __PRI64FAST(X)\000" +.LASF412: + .ascii "__ARM_ARCH\000" +.LASF591: + .ascii "UINT8_MAX (__UINT8_MAX__)\000" +.LASF73: + .ascii "__LONG_MAX__ 0x7fffffffL\000" +.LASF615: + .ascii "UINT_FAST8_MAX (__UINT_FAST8_MAX__)\000" +.LASF578: + .ascii "__int_least8_t_defined 1\000" +.LASF801: + .ascii "SCNu64 __SCN64(u)\000" +.LASF784: + .ascii "SCNuFAST32 __SCN32FAST(u)\000" +.LASF523: + .ascii "long +4\000" +.LASF919: + .ascii "AHB1RSTR\000" +.LASF724: + .ascii "SCNx16 __SCN16(x)\000" +.LASF403: + .ascii "__ARM_FEATURE_LDREX 7\000" +.LASF789: + .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" +.LASF340: + .ascii "__USQ_FBIT__ 32\000" +.LASF797: + .ascii "PRIX64 __PRI64(X)\000" +.LASF249: + .ascii "__SFRACT_MAX__ 0X7FP-7HR\000" +.LASF230: + .ascii "__FLT32X_MANT_DIG__ 53\000" +.LASF86: + .ascii "__WCHAR_WIDTH__ 32\000" +.LASF571: + .ascii "_INT64_T_DECLARED \000" +.LASF762: + .ascii "SCNu32 __SCN32(u)\000" +.LASF818: + .ascii "PRIxFAST64 __PRI64FAST(x)\000" +.LASF817: + .ascii "PRIuFAST64 __PRI64FAST(u)\000" +.LASF110: + .ascii "__INT16_C(c) c\000" +.LASF351: + .ascii "__DA_IBIT__ 32\000" +.LASF252: + .ascii "__USFRACT_IBIT__ 0\000" +.LASF519: + .ascii "short +1\000" +.LASF694: + .ascii "SCNoLEAST8 __SCN8LEAST(o)\000" +.LASF13: + .ascii "__ATOMIC_ACQ_REL 4\000" +.LASF51: + .ascii "__INT_LEAST8_TYPE__ signed char\000" +.LASF329: + .ascii "__HQ_IBIT__ 0\000" +.LASF167: + .ascii "__DBL_MIN_10_EXP__ (-307)\000" +.LASF796: + .ascii "PRIx64 __PRI64(x)\000" +.LASF513: + .ascii "__int20\000" +.LASF620: + .ascii "INT_FAST32_MAX (__INT_FAST32_MAX__)\000" +.LASF205: + .ascii "__FLT32_NORM_MAX__ 3.4028234663852886e+38F32\000" +.LASF632: + .ascii "PTRDIFF_MIN (-PTRDIFF_MAX - 1)\000" +.LASF92: + .ascii "__UINTMAX_MAX__ 0xffffffffffffffffULL\000" +.LASF164: + .ascii "__DBL_MANT_DIG__ 53\000" +.LASF272: + .ascii "__ULFRACT_IBIT__ 0\000" +.LASF887: + .ascii "RCC_CFGR_HPRE_MASK (0b1111)\000" +.LASF72: + .ascii "__INT_MAX__ 0x7fffffff\000" +.LASF54: + .ascii "__INT_LEAST64_TYPE__ long long int\000" +.LASF103: + .ascii "__UINT16_MAX__ 0xffff\000" +.LASF446: + .ascii "__ARM_FEATURE_CDE_COPROC\000" +.LASF766: + .ascii "PRIoLEAST32 __PRI32LEAST(o)\000" +.LASF91: + .ascii "__INTMAX_C(c) c ## LL\000" + .ident "GCC: (Arm GNU Toolchain 12.3.Rel1 (Build arm-12.35)) 12.3.1 20230626" diff --git a/build/timer.i b/build/timer.i new file mode 100644 index 0000000..74f1085 --- /dev/null +++ b/build/timer.i @@ -0,0 +1,2148 @@ +# 0 "src/timer.c" +# 1 "/home/alex/code/own/c-compile-experiments//" +# 0 "" +#define __STDC__ 1 +# 0 "" +#define __STDC_VERSION__ 202000L +# 0 "" +#define __STDC_UTF_16__ 1 +# 0 "" +#define __STDC_UTF_32__ 1 +# 0 "" +#define __STDC_HOSTED__ 1 +# 0 "" +#define __GNUC__ 12 +# 0 "" +#define __GNUC_MINOR__ 3 +# 0 "" +#define __GNUC_PATCHLEVEL__ 1 +# 0 "" +#define __VERSION__ "12.3.1 20230626" +# 0 "" +#define __ATOMIC_RELAXED 0 +# 0 "" +#define __ATOMIC_SEQ_CST 5 +# 0 "" +#define __ATOMIC_ACQUIRE 2 +# 0 "" +#define __ATOMIC_RELEASE 3 +# 0 "" +#define __ATOMIC_ACQ_REL 4 +# 0 "" +#define __ATOMIC_CONSUME 1 +# 0 "" +#define __FINITE_MATH_ONLY__ 0 +# 0 "" +#define __SIZEOF_INT__ 4 +# 0 "" +#define __SIZEOF_LONG__ 4 +# 0 "" +#define __SIZEOF_LONG_LONG__ 8 +# 0 "" +#define __SIZEOF_SHORT__ 2 +# 0 "" +#define __SIZEOF_FLOAT__ 4 +# 0 "" +#define __SIZEOF_DOUBLE__ 8 +# 0 "" +#define __SIZEOF_LONG_DOUBLE__ 8 +# 0 "" +#define __SIZEOF_SIZE_T__ 4 +# 0 "" +#define __CHAR_BIT__ 8 +# 0 "" +#define __BIGGEST_ALIGNMENT__ 8 +# 0 "" +#define __ORDER_LITTLE_ENDIAN__ 1234 +# 0 "" +#define __ORDER_BIG_ENDIAN__ 4321 +# 0 "" +#define __ORDER_PDP_ENDIAN__ 3412 +# 0 "" +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +# 0 "" +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +# 0 "" +#define __SIZEOF_POINTER__ 4 +# 0 "" +#define __GNUC_EXECUTION_CHARSET_NAME "UTF-8" +# 0 "" +#define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-32LE" +# 0 "" +#define __SIZE_TYPE__ unsigned int +# 0 "" +#define __PTRDIFF_TYPE__ int +# 0 "" +#define __WCHAR_TYPE__ unsigned int +# 0 "" +#define __WINT_TYPE__ unsigned int +# 0 "" +#define __INTMAX_TYPE__ long long int +# 0 "" +#define __UINTMAX_TYPE__ long long unsigned int +# 0 "" +#define __CHAR16_TYPE__ short unsigned int +# 0 "" +#define __CHAR32_TYPE__ long unsigned int +# 0 "" +#define __SIG_ATOMIC_TYPE__ int +# 0 "" +#define __INT8_TYPE__ signed char +# 0 "" +#define __INT16_TYPE__ short int +# 0 "" +#define __INT32_TYPE__ long int +# 0 "" +#define __INT64_TYPE__ long long int +# 0 "" +#define __UINT8_TYPE__ unsigned char +# 0 "" +#define __UINT16_TYPE__ short unsigned int +# 0 "" +#define __UINT32_TYPE__ long unsigned int +# 0 "" +#define __UINT64_TYPE__ long long unsigned int +# 0 "" +#define __INT_LEAST8_TYPE__ signed char +# 0 "" +#define __INT_LEAST16_TYPE__ short int +# 0 "" +#define __INT_LEAST32_TYPE__ long int +# 0 "" +#define __INT_LEAST64_TYPE__ long long int +# 0 "" +#define __UINT_LEAST8_TYPE__ unsigned char +# 0 "" +#define __UINT_LEAST16_TYPE__ short unsigned int +# 0 "" +#define __UINT_LEAST32_TYPE__ long unsigned int +# 0 "" +#define __UINT_LEAST64_TYPE__ long long unsigned int +# 0 "" +#define __INT_FAST8_TYPE__ int +# 0 "" +#define __INT_FAST16_TYPE__ int +# 0 "" +#define __INT_FAST32_TYPE__ int +# 0 "" +#define __INT_FAST64_TYPE__ long long int +# 0 "" +#define __UINT_FAST8_TYPE__ unsigned int +# 0 "" +#define __UINT_FAST16_TYPE__ unsigned int +# 0 "" +#define __UINT_FAST32_TYPE__ unsigned int +# 0 "" +#define __UINT_FAST64_TYPE__ long long unsigned int +# 0 "" +#define __INTPTR_TYPE__ int +# 0 "" +#define __UINTPTR_TYPE__ unsigned int +# 0 "" +#define __GXX_ABI_VERSION 1017 +# 0 "" +#define __SCHAR_MAX__ 0x7f +# 0 "" +#define __SHRT_MAX__ 0x7fff +# 0 "" +#define __INT_MAX__ 0x7fffffff +# 0 "" +#define __LONG_MAX__ 0x7fffffffL +# 0 "" +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +# 0 "" +#define __WCHAR_MAX__ 0xffffffffU +# 0 "" +#define __WCHAR_MIN__ 0U +# 0 "" +#define __WINT_MAX__ 0xffffffffU +# 0 "" +#define __WINT_MIN__ 0U +# 0 "" +#define __PTRDIFF_MAX__ 0x7fffffff +# 0 "" +#define __SIZE_MAX__ 0xffffffffU +# 0 "" +#define __SCHAR_WIDTH__ 8 +# 0 "" +#define __SHRT_WIDTH__ 16 +# 0 "" +#define __INT_WIDTH__ 32 +# 0 "" +#define __LONG_WIDTH__ 32 +# 0 "" +#define __LONG_LONG_WIDTH__ 64 +# 0 "" +#define __WCHAR_WIDTH__ 32 +# 0 "" +#define __WINT_WIDTH__ 32 +# 0 "" +#define __PTRDIFF_WIDTH__ 32 +# 0 "" +#define __SIZE_WIDTH__ 32 +# 0 "" +#define __INTMAX_MAX__ 0x7fffffffffffffffLL +# 0 "" +#define __INTMAX_C(c) c ## LL +# 0 "" +#define __UINTMAX_MAX__ 0xffffffffffffffffULL +# 0 "" +#define __UINTMAX_C(c) c ## ULL +# 0 "" +#define __INTMAX_WIDTH__ 64 +# 0 "" +#define __SIG_ATOMIC_MAX__ 0x7fffffff +# 0 "" +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +# 0 "" +#define __SIG_ATOMIC_WIDTH__ 32 +# 0 "" +#define __INT8_MAX__ 0x7f +# 0 "" +#define __INT16_MAX__ 0x7fff +# 0 "" +#define __INT32_MAX__ 0x7fffffffL +# 0 "" +#define __INT64_MAX__ 0x7fffffffffffffffLL +# 0 "" +#define __UINT8_MAX__ 0xff +# 0 "" +#define __UINT16_MAX__ 0xffff +# 0 "" +#define __UINT32_MAX__ 0xffffffffUL +# 0 "" +#define __UINT64_MAX__ 0xffffffffffffffffULL +# 0 "" +#define __INT_LEAST8_MAX__ 0x7f +# 0 "" +#define __INT8_C(c) c +# 0 "" +#define __INT_LEAST8_WIDTH__ 8 +# 0 "" +#define __INT_LEAST16_MAX__ 0x7fff +# 0 "" +#define __INT16_C(c) c +# 0 "" +#define __INT_LEAST16_WIDTH__ 16 +# 0 "" +#define __INT_LEAST32_MAX__ 0x7fffffffL +# 0 "" +#define __INT32_C(c) c ## L +# 0 "" +#define __INT_LEAST32_WIDTH__ 32 +# 0 "" +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL +# 0 "" +#define __INT64_C(c) c ## LL +# 0 "" +#define __INT_LEAST64_WIDTH__ 64 +# 0 "" +#define __UINT_LEAST8_MAX__ 0xff +# 0 "" +#define __UINT8_C(c) c +# 0 "" +#define __UINT_LEAST16_MAX__ 0xffff +# 0 "" +#define __UINT16_C(c) c +# 0 "" +#define __UINT_LEAST32_MAX__ 0xffffffffUL +# 0 "" +#define __UINT32_C(c) c ## UL +# 0 "" +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffULL +# 0 "" +#define __UINT64_C(c) c ## ULL +# 0 "" +#define __INT_FAST8_MAX__ 0x7fffffff +# 0 "" +#define __INT_FAST8_WIDTH__ 32 +# 0 "" +#define __INT_FAST16_MAX__ 0x7fffffff +# 0 "" +#define __INT_FAST16_WIDTH__ 32 +# 0 "" +#define __INT_FAST32_MAX__ 0x7fffffff +# 0 "" +#define __INT_FAST32_WIDTH__ 32 +# 0 "" +#define __INT_FAST64_MAX__ 0x7fffffffffffffffLL +# 0 "" +#define __INT_FAST64_WIDTH__ 64 +# 0 "" +#define __UINT_FAST8_MAX__ 0xffffffffU +# 0 "" +#define __UINT_FAST16_MAX__ 0xffffffffU +# 0 "" +#define __UINT_FAST32_MAX__ 0xffffffffU +# 0 "" +#define __UINT_FAST64_MAX__ 0xffffffffffffffffULL +# 0 "" +#define __INTPTR_MAX__ 0x7fffffff +# 0 "" +#define __INTPTR_WIDTH__ 32 +# 0 "" +#define __UINTPTR_MAX__ 0xffffffffU +# 0 "" +#define __GCC_IEC_559 0 +# 0 "" +#define __GCC_IEC_559_COMPLEX 0 +# 0 "" +#define __FLT_EVAL_METHOD__ 0 +# 0 "" +#define __FLT_EVAL_METHOD_TS_18661_3__ 0 +# 0 "" +#define __DEC_EVAL_METHOD__ 2 +# 0 "" +#define __FLT_RADIX__ 2 +# 0 "" +#define __FLT_MANT_DIG__ 24 +# 0 "" +#define __FLT_DIG__ 6 +# 0 "" +#define __FLT_MIN_EXP__ (-125) +# 0 "" +#define __FLT_MIN_10_EXP__ (-37) +# 0 "" +#define __FLT_MAX_EXP__ 128 +# 0 "" +#define __FLT_MAX_10_EXP__ 38 +# 0 "" +#define __FLT_DECIMAL_DIG__ 9 +# 0 "" +#define __FLT_MAX__ 3.4028234663852886e+38F +# 0 "" +#define __FLT_NORM_MAX__ 3.4028234663852886e+38F +# 0 "" +#define __FLT_MIN__ 1.1754943508222875e-38F +# 0 "" +#define __FLT_EPSILON__ 1.1920928955078125e-7F +# 0 "" +#define __FLT_DENORM_MIN__ 1.4012984643248171e-45F +# 0 "" +#define __FLT_HAS_DENORM__ 1 +# 0 "" +#define __FLT_HAS_INFINITY__ 1 +# 0 "" +#define __FLT_HAS_QUIET_NAN__ 1 +# 0 "" +#define __FP_FAST_FMAF 1 +# 0 "" +#define __FLT_IS_IEC_60559__ 2 +# 0 "" +#define __DBL_MANT_DIG__ 53 +# 0 "" +#define __DBL_DIG__ 15 +# 0 "" +#define __DBL_MIN_EXP__ (-1021) +# 0 "" +#define __DBL_MIN_10_EXP__ (-307) +# 0 "" +#define __DBL_MAX_EXP__ 1024 +# 0 "" +#define __DBL_MAX_10_EXP__ 308 +# 0 "" +#define __DBL_DECIMAL_DIG__ 17 +# 0 "" +#define __DBL_MAX__ ((double)1.7976931348623157e+308L) +# 0 "" +#define __DBL_NORM_MAX__ ((double)1.7976931348623157e+308L) +# 0 "" +#define __DBL_MIN__ ((double)2.2250738585072014e-308L) +# 0 "" +#define __DBL_EPSILON__ ((double)2.2204460492503131e-16L) +# 0 "" +#define __DBL_DENORM_MIN__ ((double)4.9406564584124654e-324L) +# 0 "" +#define __DBL_HAS_DENORM__ 1 +# 0 "" +#define __DBL_HAS_INFINITY__ 1 +# 0 "" +#define __DBL_HAS_QUIET_NAN__ 1 +# 0 "" +#define __DBL_IS_IEC_60559__ 2 +# 0 "" +#define __LDBL_MANT_DIG__ 53 +# 0 "" +#define __LDBL_DIG__ 15 +# 0 "" +#define __LDBL_MIN_EXP__ (-1021) +# 0 "" +#define __LDBL_MIN_10_EXP__ (-307) +# 0 "" +#define __LDBL_MAX_EXP__ 1024 +# 0 "" +#define __LDBL_MAX_10_EXP__ 308 +# 0 "" +#define __DECIMAL_DIG__ 17 +# 0 "" +#define __LDBL_DECIMAL_DIG__ 17 +# 0 "" +#define __LDBL_MAX__ 1.7976931348623157e+308L +# 0 "" +#define __LDBL_NORM_MAX__ 1.7976931348623157e+308L +# 0 "" +#define __LDBL_MIN__ 2.2250738585072014e-308L +# 0 "" +#define __LDBL_EPSILON__ 2.2204460492503131e-16L +# 0 "" +#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L +# 0 "" +#define __LDBL_HAS_DENORM__ 1 +# 0 "" +#define __LDBL_HAS_INFINITY__ 1 +# 0 "" +#define __LDBL_HAS_QUIET_NAN__ 1 +# 0 "" +#define __LDBL_IS_IEC_60559__ 2 +# 0 "" +#define __FLT32_MANT_DIG__ 24 +# 0 "" +#define __FLT32_DIG__ 6 +# 0 "" +#define __FLT32_MIN_EXP__ (-125) +# 0 "" +#define __FLT32_MIN_10_EXP__ (-37) +# 0 "" +#define __FLT32_MAX_EXP__ 128 +# 0 "" +#define __FLT32_MAX_10_EXP__ 38 +# 0 "" +#define __FLT32_DECIMAL_DIG__ 9 +# 0 "" +#define __FLT32_MAX__ 3.4028234663852886e+38F32 +# 0 "" +#define __FLT32_NORM_MAX__ 3.4028234663852886e+38F32 +# 0 "" +#define __FLT32_MIN__ 1.1754943508222875e-38F32 +# 0 "" +#define __FLT32_EPSILON__ 1.1920928955078125e-7F32 +# 0 "" +#define __FLT32_DENORM_MIN__ 1.4012984643248171e-45F32 +# 0 "" +#define __FLT32_HAS_DENORM__ 1 +# 0 "" +#define __FLT32_HAS_INFINITY__ 1 +# 0 "" +#define __FLT32_HAS_QUIET_NAN__ 1 +# 0 "" +#define __FP_FAST_FMAF32 1 +# 0 "" +#define __FLT32_IS_IEC_60559__ 2 +# 0 "" +#define __FLT64_MANT_DIG__ 53 +# 0 "" +#define __FLT64_DIG__ 15 +# 0 "" +#define __FLT64_MIN_EXP__ (-1021) +# 0 "" +#define __FLT64_MIN_10_EXP__ (-307) +# 0 "" +#define __FLT64_MAX_EXP__ 1024 +# 0 "" +#define __FLT64_MAX_10_EXP__ 308 +# 0 "" +#define __FLT64_DECIMAL_DIG__ 17 +# 0 "" +#define __FLT64_MAX__ 1.7976931348623157e+308F64 +# 0 "" +#define __FLT64_NORM_MAX__ 1.7976931348623157e+308F64 +# 0 "" +#define __FLT64_MIN__ 2.2250738585072014e-308F64 +# 0 "" +#define __FLT64_EPSILON__ 2.2204460492503131e-16F64 +# 0 "" +#define __FLT64_DENORM_MIN__ 4.9406564584124654e-324F64 +# 0 "" +#define __FLT64_HAS_DENORM__ 1 +# 0 "" +#define __FLT64_HAS_INFINITY__ 1 +# 0 "" +#define __FLT64_HAS_QUIET_NAN__ 1 +# 0 "" +#define __FLT64_IS_IEC_60559__ 2 +# 0 "" +#define __FLT32X_MANT_DIG__ 53 +# 0 "" +#define __FLT32X_DIG__ 15 +# 0 "" +#define __FLT32X_MIN_EXP__ (-1021) +# 0 "" +#define __FLT32X_MIN_10_EXP__ (-307) +# 0 "" +#define __FLT32X_MAX_EXP__ 1024 +# 0 "" +#define __FLT32X_MAX_10_EXP__ 308 +# 0 "" +#define __FLT32X_DECIMAL_DIG__ 17 +# 0 "" +#define __FLT32X_MAX__ 1.7976931348623157e+308F32x +# 0 "" +#define __FLT32X_NORM_MAX__ 1.7976931348623157e+308F32x +# 0 "" +#define __FLT32X_MIN__ 2.2250738585072014e-308F32x +# 0 "" +#define __FLT32X_EPSILON__ 2.2204460492503131e-16F32x +# 0 "" +#define __FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x +# 0 "" +#define __FLT32X_HAS_DENORM__ 1 +# 0 "" +#define __FLT32X_HAS_INFINITY__ 1 +# 0 "" +#define __FLT32X_HAS_QUIET_NAN__ 1 +# 0 "" +#define __FLT32X_IS_IEC_60559__ 2 +# 0 "" +#define __SFRACT_FBIT__ 7 +# 0 "" +#define __SFRACT_IBIT__ 0 +# 0 "" +#define __SFRACT_MIN__ (-0.5HR-0.5HR) +# 0 "" +#define __SFRACT_MAX__ 0X7FP-7HR +# 0 "" +#define __SFRACT_EPSILON__ 0x1P-7HR +# 0 "" +#define __USFRACT_FBIT__ 8 +# 0 "" +#define __USFRACT_IBIT__ 0 +# 0 "" +#define __USFRACT_MIN__ 0.0UHR +# 0 "" +#define __USFRACT_MAX__ 0XFFP-8UHR +# 0 "" +#define __USFRACT_EPSILON__ 0x1P-8UHR +# 0 "" +#define __FRACT_FBIT__ 15 +# 0 "" +#define __FRACT_IBIT__ 0 +# 0 "" +#define __FRACT_MIN__ (-0.5R-0.5R) +# 0 "" +#define __FRACT_MAX__ 0X7FFFP-15R +# 0 "" +#define __FRACT_EPSILON__ 0x1P-15R +# 0 "" +#define __UFRACT_FBIT__ 16 +# 0 "" +#define __UFRACT_IBIT__ 0 +# 0 "" +#define __UFRACT_MIN__ 0.0UR +# 0 "" +#define __UFRACT_MAX__ 0XFFFFP-16UR +# 0 "" +#define __UFRACT_EPSILON__ 0x1P-16UR +# 0 "" +#define __LFRACT_FBIT__ 31 +# 0 "" +#define __LFRACT_IBIT__ 0 +# 0 "" +#define __LFRACT_MIN__ (-0.5LR-0.5LR) +# 0 "" +#define __LFRACT_MAX__ 0X7FFFFFFFP-31LR +# 0 "" +#define __LFRACT_EPSILON__ 0x1P-31LR +# 0 "" +#define __ULFRACT_FBIT__ 32 +# 0 "" +#define __ULFRACT_IBIT__ 0 +# 0 "" +#define __ULFRACT_MIN__ 0.0ULR +# 0 "" +#define __ULFRACT_MAX__ 0XFFFFFFFFP-32ULR +# 0 "" +#define __ULFRACT_EPSILON__ 0x1P-32ULR +# 0 "" +#define __LLFRACT_FBIT__ 63 +# 0 "" +#define __LLFRACT_IBIT__ 0 +# 0 "" +#define __LLFRACT_MIN__ (-0.5LLR-0.5LLR) +# 0 "" +#define __LLFRACT_MAX__ 0X7FFFFFFFFFFFFFFFP-63LLR +# 0 "" +#define __LLFRACT_EPSILON__ 0x1P-63LLR +# 0 "" +#define __ULLFRACT_FBIT__ 64 +# 0 "" +#define __ULLFRACT_IBIT__ 0 +# 0 "" +#define __ULLFRACT_MIN__ 0.0ULLR +# 0 "" +#define __ULLFRACT_MAX__ 0XFFFFFFFFFFFFFFFFP-64ULLR +# 0 "" +#define __ULLFRACT_EPSILON__ 0x1P-64ULLR +# 0 "" +#define __SACCUM_FBIT__ 7 +# 0 "" +#define __SACCUM_IBIT__ 8 +# 0 "" +#define __SACCUM_MIN__ (-0X1P7HK-0X1P7HK) +# 0 "" +#define __SACCUM_MAX__ 0X7FFFP-7HK +# 0 "" +#define __SACCUM_EPSILON__ 0x1P-7HK +# 0 "" +#define __USACCUM_FBIT__ 8 +# 0 "" +#define __USACCUM_IBIT__ 8 +# 0 "" +#define __USACCUM_MIN__ 0.0UHK +# 0 "" +#define __USACCUM_MAX__ 0XFFFFP-8UHK +# 0 "" +#define __USACCUM_EPSILON__ 0x1P-8UHK +# 0 "" +#define __ACCUM_FBIT__ 15 +# 0 "" +#define __ACCUM_IBIT__ 16 +# 0 "" +#define __ACCUM_MIN__ (-0X1P15K-0X1P15K) +# 0 "" +#define __ACCUM_MAX__ 0X7FFFFFFFP-15K +# 0 "" +#define __ACCUM_EPSILON__ 0x1P-15K +# 0 "" +#define __UACCUM_FBIT__ 16 +# 0 "" +#define __UACCUM_IBIT__ 16 +# 0 "" +#define __UACCUM_MIN__ 0.0UK +# 0 "" +#define __UACCUM_MAX__ 0XFFFFFFFFP-16UK +# 0 "" +#define __UACCUM_EPSILON__ 0x1P-16UK +# 0 "" +#define __LACCUM_FBIT__ 31 +# 0 "" +#define __LACCUM_IBIT__ 32 +# 0 "" +#define __LACCUM_MIN__ (-0X1P31LK-0X1P31LK) +# 0 "" +#define __LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK +# 0 "" +#define __LACCUM_EPSILON__ 0x1P-31LK +# 0 "" +#define __ULACCUM_FBIT__ 32 +# 0 "" +#define __ULACCUM_IBIT__ 32 +# 0 "" +#define __ULACCUM_MIN__ 0.0ULK +# 0 "" +#define __ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK +# 0 "" +#define __ULACCUM_EPSILON__ 0x1P-32ULK +# 0 "" +#define __LLACCUM_FBIT__ 31 +# 0 "" +#define __LLACCUM_IBIT__ 32 +# 0 "" +#define __LLACCUM_MIN__ (-0X1P31LLK-0X1P31LLK) +# 0 "" +#define __LLACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LLK +# 0 "" +#define __LLACCUM_EPSILON__ 0x1P-31LLK +# 0 "" +#define __ULLACCUM_FBIT__ 32 +# 0 "" +#define __ULLACCUM_IBIT__ 32 +# 0 "" +#define __ULLACCUM_MIN__ 0.0ULLK +# 0 "" +#define __ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULLK +# 0 "" +#define __ULLACCUM_EPSILON__ 0x1P-32ULLK +# 0 "" +#define __QQ_FBIT__ 7 +# 0 "" +#define __QQ_IBIT__ 0 +# 0 "" +#define __HQ_FBIT__ 15 +# 0 "" +#define __HQ_IBIT__ 0 +# 0 "" +#define __SQ_FBIT__ 31 +# 0 "" +#define __SQ_IBIT__ 0 +# 0 "" +#define __DQ_FBIT__ 63 +# 0 "" +#define __DQ_IBIT__ 0 +# 0 "" +#define __TQ_FBIT__ 127 +# 0 "" +#define __TQ_IBIT__ 0 +# 0 "" +#define __UQQ_FBIT__ 8 +# 0 "" +#define __UQQ_IBIT__ 0 +# 0 "" +#define __UHQ_FBIT__ 16 +# 0 "" +#define __UHQ_IBIT__ 0 +# 0 "" +#define __USQ_FBIT__ 32 +# 0 "" +#define __USQ_IBIT__ 0 +# 0 "" +#define __UDQ_FBIT__ 64 +# 0 "" +#define __UDQ_IBIT__ 0 +# 0 "" +#define __UTQ_FBIT__ 128 +# 0 "" +#define __UTQ_IBIT__ 0 +# 0 "" +#define __HA_FBIT__ 7 +# 0 "" +#define __HA_IBIT__ 8 +# 0 "" +#define __SA_FBIT__ 15 +# 0 "" +#define __SA_IBIT__ 16 +# 0 "" +#define __DA_FBIT__ 31 +# 0 "" +#define __DA_IBIT__ 32 +# 0 "" +#define __TA_FBIT__ 63 +# 0 "" +#define __TA_IBIT__ 64 +# 0 "" +#define __UHA_FBIT__ 8 +# 0 "" +#define __UHA_IBIT__ 8 +# 0 "" +#define __USA_FBIT__ 16 +# 0 "" +#define __USA_IBIT__ 16 +# 0 "" +#define __UDA_FBIT__ 32 +# 0 "" +#define __UDA_IBIT__ 32 +# 0 "" +#define __UTA_FBIT__ 64 +# 0 "" +#define __UTA_IBIT__ 64 +# 0 "" +#define __REGISTER_PREFIX__ +# 0 "" +#define __USER_LABEL_PREFIX__ +# 0 "" +#define __GNUC_STDC_INLINE__ 1 +# 0 "" +#define __NO_INLINE__ 1 +# 0 "" +#define __STRICT_ANSI__ 1 +# 0 "" +#define __CHAR_UNSIGNED__ 1 +# 0 "" +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +# 0 "" +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +# 0 "" +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +# 0 "" +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +# 0 "" +#define __GCC_ATOMIC_LLONG_LOCK_FREE 1 +# 0 "" +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +# 0 "" +#define __GCC_DESTRUCTIVE_SIZE 64 +# 0 "" +#define __GCC_CONSTRUCTIVE_SIZE 64 +# 0 "" +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +# 0 "" +#define __HAVE_SPECULATION_SAFE_VALUE 1 +# 0 "" +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +# 0 "" +#define __PRAGMA_REDEFINE_EXTNAME 1 +# 0 "" +#define __SIZEOF_WCHAR_T__ 4 +# 0 "" +#define __SIZEOF_WINT_T__ 4 +# 0 "" +#define __SIZEOF_PTRDIFF_T__ 4 +# 0 "" +#define __ARM_FEATURE_DSP 1 +# 0 "" +#define __ARM_FEATURE_QBIT 1 +# 0 "" +#define __ARM_FEATURE_SAT 1 +# 0 "" +#undef __ARM_FEATURE_CRYPTO +# 0 "" +#define __ARM_FEATURE_UNALIGNED 1 +# 0 "" +#undef __ARM_FEATURE_QRDMX +# 0 "" +#undef __ARM_FEATURE_CRC32 +# 0 "" +#undef __ARM_FEATURE_DOTPROD +# 0 "" +#undef __ARM_FEATURE_COMPLEX +# 0 "" +#define __ARM_32BIT_STATE 1 +# 0 "" +#undef __ARM_FEATURE_MVE +# 0 "" +#undef __ARM_FEATURE_CMSE +# 0 "" +#undef __ARM_FEATURE_LDREX +# 0 "" +#define __ARM_FEATURE_LDREX 7 +# 0 "" +#define __ARM_FEATURE_CLZ 1 +# 0 "" +#undef __ARM_FEATURE_NUMERIC_MAXMIN +# 0 "" +#define __ARM_FEATURE_SIMD32 1 +# 0 "" +#define __ARM_SIZEOF_MINIMAL_ENUM 1 +# 0 "" +#define __ARM_SIZEOF_WCHAR_T 4 +# 0 "" +#undef __ARM_ARCH_PROFILE +# 0 "" +#define __ARM_ARCH_PROFILE 77 +# 0 "" +#define __arm__ 1 +# 0 "" +#undef __ARM_ARCH +# 0 "" +#define __ARM_ARCH 7 +# 0 "" +#define __APCS_32__ 1 +# 0 "" +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +# 0 "" +#define __thumb__ 1 +# 0 "" +#define __thumb2__ 1 +# 0 "" +#define __THUMBEL__ 1 +# 0 "" +#undef __ARM_ARCH_ISA_THUMB +# 0 "" +#define __ARM_ARCH_ISA_THUMB 2 +# 0 "" +#define __ARMEL__ 1 +# 0 "" +#define __VFP_FP__ 1 +# 0 "" +#undef __ARM_FP +# 0 "" +#define __ARM_FP 4 +# 0 "" +#undef __ARM_FP16_FORMAT_IEEE +# 0 "" +#undef __ARM_FP16_FORMAT_ALTERNATIVE +# 0 "" +#undef __ARM_FP16_ARGS +# 0 "" +#undef __ARM_FEATURE_FP16_SCALAR_ARITHMETIC +# 0 "" +#undef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC +# 0 "" +#undef __ARM_FEATURE_FP16_FML +# 0 "" +#define __ARM_FEATURE_FMA 1 +# 0 "" +#undef __ARM_NEON__ +# 0 "" +#undef __ARM_NEON +# 0 "" +#undef __ARM_NEON_FP +# 0 "" +#define __THUMB_INTERWORK__ 1 +# 0 "" +#define __ARM_ARCH_7EM__ 1 +# 0 "" +#define __ARM_PCS_VFP 1 +# 0 "" +#define __ARM_EABI__ 1 +# 0 "" +#undef __FDPIC__ +# 0 "" +#define __ARM_ARCH_EXT_IDIV__ 1 +# 0 "" +#define __ARM_FEATURE_IDIV 1 +# 0 "" +#define __ARM_ASM_SYNTAX_UNIFIED__ 1 +# 0 "" +#undef __ARM_FEATURE_COPROC +# 0 "" +#define __ARM_FEATURE_COPROC 15 +# 0 "" +#undef __ARM_FEATURE_CDE +# 0 "" +#undef __ARM_FEATURE_CDE_COPROC +# 0 "" +#undef __ARM_FEATURE_MATMUL_INT8 +# 0 "" +#undef __ARM_FEATURE_BF16_SCALAR_ARITHMETIC +# 0 "" +#undef __ARM_FEATURE_BF16_VECTOR_ARITHMETIC +# 0 "" +#undef __ARM_BF16_FORMAT_ALTERNATIVE +# 0 "" +#define __GXX_TYPEINFO_EQUALITY_INLINE 0 +# 0 "" +#define __ELF__ 1 +# 0 "" +#define __USES_INITFINI__ 1 +# 1 "src/timer.c" +# 1 "src/rcc.h" 1 + +#define RCC_H_ + +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 1 3 +# 14 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 3 +#define _INTTYPES_H + +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" 1 3 + + + + + + +#define __NEWLIB_H__ 1 + + +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_newlib_version.h" 1 3 + + + +#define _NEWLIB_VERSION_H__ 1 + +#define _NEWLIB_VERSION "4.3.0" +#define __NEWLIB__ 4 +#define __NEWLIB_MINOR__ 3 +#define __NEWLIB_PATCHLEVEL__ 0 +# 11 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" 2 3 +# 27 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" 3 +#define _ATEXIT_DYNAMIC_ALLOC 1 + + + + + +#define _FSEEK_OPTIMIZATION 1 + + +#define _FVWRITE_IN_STREAMIO 1 + + +#define _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL 1 + + + +#define _HAVE_INITFINI_ARRAY 1 + + +#define _HAVE_LONG_DOUBLE 1 +# 355 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" 3 +#define _LDBL_EQ_DBL 1 + + + + + +#define _MB_CAPABLE 1 + + +#define _MB_LEN_MAX 8 +# 373 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" 3 +#define _REENT_CHECK_VERIFY 1 + + +#define _RETARGETABLE_LOCKING 1 + + +#define _UNBUF_STREAM_OPT 1 + + + +#define _WANT_IO_C99_FORMATS 1 + + + + + + + +#define _WANT_IO_LONG_LONG 1 +# 408 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" 3 +#define _WANT_REGISTER_FINI 1 + + +#define _WANT_USE_GDTOA 1 + + + + + +#define _WIDE_ORIENT 1 +# 17 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 2 3 +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" 1 3 + +#define __SYS_CONFIG_H__ + +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/ieeefp.h" 1 3 +# 77 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/ieeefp.h" 3 +#define __IEEE_LITTLE_ENDIAN +# 91 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/ieeefp.h" 3 +#define _SUPPORTS_ERREXCEPT + + + + + + +#define __DOUBLE_TYPE double +#define __FLOAT_TYPE float +# 515 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/ieeefp.h" 3 +#define __OBSOLETE_MATH_DEFAULT 1 + + +#define __OBSOLETE_MATH __OBSOLETE_MATH_DEFAULT +# 5 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" 2 3 +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 1 3 +# 22 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 +#define _SYS_FEATURES_H +# 33 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 +#define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) + + + + + + +#define __GNUC_PREREQ__(ma,mi) __GNUC_PREREQ(ma, mi) +# 249 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 +#define __ATFILE_VISIBLE 0 + + + + + +#define __BSD_VISIBLE 0 + + + + + +#define __GNU_VISIBLE 0 + + + + +#define __ISO_C_VISIBLE 2011 +# 277 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 +#define __LARGEFILE_VISIBLE 0 + + + + + +#define __MISC_VISIBLE 0 +# 299 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 +#define __POSIX_VISIBLE 0 + + + + + +#define __SVID_VISIBLE 0 +# 319 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 +#define __XSI_VISIBLE 0 +# 331 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 +#define __SSP_FORTIFY_LEVEL 0 +# 6 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" 2 3 +# 224 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" 3 +#define _POINTER_INT long + + + + + +#undef __RAND_MAX + + + +#define __RAND_MAX 0x7fffffff +# 248 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" 3 +#define __EXPORT + + + +#define __IMPORT + + + + + + +#define _READ_WRITE_RETURN_TYPE int + + + + + +#define _READ_WRITE_BUFSIZE_TYPE int +# 290 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" 3 +#define _USE_GDTOA +# 18 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 2 3 +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 1 3 +# 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 +#define _SYS__INTSUP_H + + + + + +#define __STDINT_EXP(x) __ ##x ##__ +# 35 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 + + + + + + + + +#undef signed +#undef unsigned +#undef char +#undef short +#undef int +#undef __int20 +#undef __int20__ +#undef long +#define signed +0 +#define unsigned +0 +#define char +0 +#define short +1 +#define __int20 +2 +#define __int20__ +2 +#define int +2 +#define long +4 +# 67 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 +#define _INTPTR_EQ_INT + + + + + + +#define _INT32_EQ_LONG + + + + + + + +#define __INT8 "hh" +# 93 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 +#define __INT16 "h" +# 104 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 +#define __INT32 "l" +# 113 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 +#define __INT64 "ll" + + + + + + +#define __FAST8 +# 129 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 +#define __FAST16 + + + + + + +#define __FAST32 +# 147 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 +#define __FAST64 "ll" + + + +#define __LEAST8 "hh" +# 162 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 +#define __LEAST16 "h" +# 173 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 +#define __LEAST32 "l" +# 182 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 +#define __LEAST64 "ll" + +#undef signed +#undef unsigned +#undef char +#undef short +#undef int +#undef long + + + + + +# 194 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 +#undef __int20 + +# 195 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 +#undef __int20__ + + +# 19 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 2 3 +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_ansi.h" 1 3 + + + + + + + +#define _ANSIDECL_H_ +# 31 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_ansi.h" 3 +#define _BEGIN_STD_C +#define _END_STD_C +#define _NOTHROW + + + +#define _LONG_DOUBLE long double + + + + + +#define _ATTRIBUTE(attrs) __attribute__ (attrs) +# 69 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_ansi.h" 3 +#define _ELIDABLE_INLINE static __inline__ + + + +#define _NOINLINE __attribute__ ((__noinline__)) +#define _NOINLINE_STATIC _NOINLINE static +# 20 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 2 3 +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdint.h" 1 3 4 +# 9 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdint.h" 3 4 +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 1 3 4 +# 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define _STDINT_H + +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 1 3 4 + + + + + +#define _MACHINE__DEFAULT_TYPES_H +# 15 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +#define __EXP(x) __ ##x ##__ +# 26 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +#define __have_longlong64 1 + + + + + + +#define __have_long32 1 + + + + + + + + +# 41 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef signed char __int8_t; + +typedef unsigned char __uint8_t; + + + +#define ___int8_t_defined 1 + + + + + + + +typedef short int __int16_t; + +typedef short unsigned int __uint16_t; + + + +#define ___int16_t_defined 1 +# 77 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef long int __int32_t; + +typedef long unsigned int __uint32_t; + + + +#define ___int32_t_defined 1 +# 103 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef long long int __int64_t; + +typedef long long unsigned int __uint64_t; + + + +#define ___int64_t_defined 1 +# 134 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef signed char __int_least8_t; + +typedef unsigned char __uint_least8_t; + + + +#define ___int_least8_t_defined 1 +# 160 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef short int __int_least16_t; + +typedef short unsigned int __uint_least16_t; + + + +#define ___int_least16_t_defined 1 +# 182 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef long int __int_least32_t; + +typedef long unsigned int __uint_least32_t; + + + +#define ___int_least32_t_defined 1 +# 200 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +typedef long long int __int_least64_t; + +typedef long long unsigned int __uint_least64_t; + + + +#define ___int_least64_t_defined 1 + + + + + + + +typedef long long int __intmax_t; + + + + + + + +typedef long long unsigned int __uintmax_t; + + + + + + + +typedef int __intptr_t; + +typedef unsigned int __uintptr_t; +# 244 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 +#undef __EXP +# 13 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 2 3 4 + +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_stdint.h" 1 3 4 +# 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_stdint.h" 3 4 +#define _SYS__STDINT_H +# 20 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_stdint.h" 3 4 +typedef __int8_t int8_t ; +#define _INT8_T_DECLARED + + +typedef __uint8_t uint8_t ; +#define _UINT8_T_DECLARED + +#define __int8_t_defined 1 + + + + +typedef __int16_t int16_t ; +#define _INT16_T_DECLARED + + +typedef __uint16_t uint16_t ; +#define _UINT16_T_DECLARED + +#define __int16_t_defined 1 + + + + +typedef __int32_t int32_t ; +#define _INT32_T_DECLARED + + +typedef __uint32_t uint32_t ; +#define _UINT32_T_DECLARED + +#define __int32_t_defined 1 + + + + +typedef __int64_t int64_t ; +#define _INT64_T_DECLARED + + +typedef __uint64_t uint64_t ; +#define _UINT64_T_DECLARED + +#define __int64_t_defined 1 + + + +typedef __intmax_t intmax_t; +#define _INTMAX_T_DECLARED + + + +typedef __uintmax_t uintmax_t; +#define _UINTMAX_T_DECLARED + + + +typedef __intptr_t intptr_t; +#define _INTPTR_T_DECLARED + + + +typedef __uintptr_t uintptr_t; +#define _UINTPTR_T_DECLARED +# 15 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 2 3 4 + + + + + + +typedef __int_least8_t int_least8_t; +typedef __uint_least8_t uint_least8_t; +#define __int_least8_t_defined 1 + + + +typedef __int_least16_t int_least16_t; +typedef __uint_least16_t uint_least16_t; +#define __int_least16_t_defined 1 + + + +typedef __int_least32_t int_least32_t; +typedef __uint_least32_t uint_least32_t; +#define __int_least32_t_defined 1 + + + +typedef __int_least64_t int_least64_t; +typedef __uint_least64_t uint_least64_t; +#define __int_least64_t_defined 1 +# 51 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 + typedef int int_fast8_t; + typedef unsigned int uint_fast8_t; +#define __int_fast8_t_defined 1 + + + + + + + + typedef int int_fast16_t; + typedef unsigned int uint_fast16_t; +#define __int_fast16_t_defined 1 + + + + + + + + typedef int int_fast32_t; + typedef unsigned int uint_fast32_t; +#define __int_fast32_t_defined 1 + + + + + + + + typedef long long int int_fast64_t; + typedef long long unsigned int uint_fast64_t; +#define __int_fast64_t_defined 1 +# 128 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INTPTR_MIN (-__INTPTR_MAX__ - 1) +#define INTPTR_MAX (__INTPTR_MAX__) +#define UINTPTR_MAX (__UINTPTR_MAX__) +# 152 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT8_MIN (-__INT8_MAX__ - 1) +#define INT8_MAX (__INT8_MAX__) +#define UINT8_MAX (__UINT8_MAX__) + + + + + + + +#define INT_LEAST8_MIN (-__INT_LEAST8_MAX__ - 1) +#define INT_LEAST8_MAX (__INT_LEAST8_MAX__) +#define UINT_LEAST8_MAX (__UINT_LEAST8_MAX__) +# 174 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT16_MIN (-__INT16_MAX__ - 1) +#define INT16_MAX (__INT16_MAX__) +#define UINT16_MAX (__UINT16_MAX__) + + + + + + + +#define INT_LEAST16_MIN (-__INT_LEAST16_MAX__ - 1) +#define INT_LEAST16_MAX (__INT_LEAST16_MAX__) +#define UINT_LEAST16_MAX (__UINT_LEAST16_MAX__) +# 196 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT32_MIN (-__INT32_MAX__ - 1) +#define INT32_MAX (__INT32_MAX__) +#define UINT32_MAX (__UINT32_MAX__) +# 212 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT_LEAST32_MIN (-__INT_LEAST32_MAX__ - 1) +#define INT_LEAST32_MAX (__INT_LEAST32_MAX__) +#define UINT_LEAST32_MAX (__UINT_LEAST32_MAX__) +# 230 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT64_MIN (-__INT64_MAX__ - 1) +#define INT64_MAX (__INT64_MAX__) +#define UINT64_MAX (__UINT64_MAX__) +# 246 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT_LEAST64_MIN (-__INT_LEAST64_MAX__ - 1) +#define INT_LEAST64_MAX (__INT_LEAST64_MAX__) +#define UINT_LEAST64_MAX (__UINT_LEAST64_MAX__) +# 262 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT_FAST8_MIN (-__INT_FAST8_MAX__ - 1) +#define INT_FAST8_MAX (__INT_FAST8_MAX__) +#define UINT_FAST8_MAX (__UINT_FAST8_MAX__) +# 278 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT_FAST16_MIN (-__INT_FAST16_MAX__ - 1) +#define INT_FAST16_MAX (__INT_FAST16_MAX__) +#define UINT_FAST16_MAX (__UINT_FAST16_MAX__) +# 294 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT_FAST32_MIN (-__INT_FAST32_MAX__ - 1) +#define INT_FAST32_MAX (__INT_FAST32_MAX__) +#define UINT_FAST32_MAX (__UINT_FAST32_MAX__) +# 310 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT_FAST64_MIN (-__INT_FAST64_MAX__ - 1) +#define INT_FAST64_MAX (__INT_FAST64_MAX__) +#define UINT_FAST64_MAX (__UINT_FAST64_MAX__) +# 326 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INTMAX_MAX (__INTMAX_MAX__) +#define INTMAX_MIN (-INTMAX_MAX - 1) + + + + + + + +#define UINTMAX_MAX (__UINTMAX_MAX__) + + + + + + + +#define SIZE_MAX (__SIZE_MAX__) + + + + + +#define SIG_ATOMIC_MIN (-__STDINT_EXP(INT_MAX) - 1) +#define SIG_ATOMIC_MAX (__STDINT_EXP(INT_MAX)) + + + +#define PTRDIFF_MAX (__PTRDIFF_MAX__) + + + +#define PTRDIFF_MIN (-PTRDIFF_MAX - 1) + + + + +#define WCHAR_MIN (__WCHAR_MIN__) +# 374 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define WCHAR_MAX (__WCHAR_MAX__) +# 384 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define WINT_MAX (__WINT_MAX__) + + + + +#define WINT_MIN (__WINT_MIN__) + + + + + + +#define INT8_C(x) __INT8_C(x) +#define UINT8_C(x) __UINT8_C(x) +# 408 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT16_C(x) __INT16_C(x) +#define UINT16_C(x) __UINT16_C(x) +# 420 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT32_C(x) __INT32_C(x) +#define UINT32_C(x) __UINT32_C(x) +# 433 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INT64_C(x) __INT64_C(x) +#define UINT64_C(x) __UINT64_C(x) +# 449 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 +#define INTMAX_C(x) __INTMAX_C(x) +#define UINTMAX_C(x) __UINTMAX_C(x) +# 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdint.h" 2 3 4 + + + +#define _GCC_WRAP_STDINT_H +# 21 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 2 3 +#define __need_wchar_t +# 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" 1 3 4 +# 267 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" 3 4 +#define __wchar_t__ +#define __WCHAR_T__ +#define _WCHAR_T +#define _T_WCHAR_ +#define _T_WCHAR +#define __WCHAR_T +#define _WCHAR_T_ +#define _BSD_WCHAR_T_ +#define _WCHAR_T_DEFINED_ +#define _WCHAR_T_DEFINED +#define _WCHAR_T_H +#define ___int_wchar_t_h +#define __INT_WCHAR_T_H +#define _GCC_WCHAR_T +#define _WCHAR_T_DECLARED +#define __DEFINED_wchar_t +# 295 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" 3 4 +#undef _BSD_WCHAR_T_ +# 329 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" 3 4 +typedef unsigned int wchar_t; +# 349 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" 3 4 +#undef __need_wchar_t +# 410 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" 3 4 +#undef __need_NULL +# 23 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 2 3 + + + + + +#define __STRINGIFY(a) #a + + +#define __PRI8(x) __INT8 __STRINGIFY(x) +#define __PRI8LEAST(x) __LEAST8 __STRINGIFY(x) +#define __PRI8FAST(x) __FAST8 __STRINGIFY(x) +# 46 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 3 +#define __SCN8(x) __INT8 __STRINGIFY(x) +#define __SCN8LEAST(x) __LEAST8 __STRINGIFY(x) +#define __SCN8FAST(x) __FAST8 __STRINGIFY(x) + + + +#define PRId8 __PRI8(d) +#define PRIi8 __PRI8(i) +#define PRIo8 __PRI8(o) +#define PRIu8 __PRI8(u) +#define PRIx8 __PRI8(x) +#define PRIX8 __PRI8(X) + + + + +#define SCNd8 __SCN8(d) +#define SCNi8 __SCN8(i) +#define SCNo8 __SCN8(o) +#define SCNu8 __SCN8(u) +#define SCNx8 __SCN8(x) + + + + +#define PRIdLEAST8 __PRI8LEAST(d) +#define PRIiLEAST8 __PRI8LEAST(i) +#define PRIoLEAST8 __PRI8LEAST(o) +#define PRIuLEAST8 __PRI8LEAST(u) +#define PRIxLEAST8 __PRI8LEAST(x) +#define PRIXLEAST8 __PRI8LEAST(X) + + + + +#define SCNdLEAST8 __SCN8LEAST(d) +#define SCNiLEAST8 __SCN8LEAST(i) +#define SCNoLEAST8 __SCN8LEAST(o) +#define SCNuLEAST8 __SCN8LEAST(u) +#define SCNxLEAST8 __SCN8LEAST(x) + + + +#define PRIdFAST8 __PRI8FAST(d) +#define PRIiFAST8 __PRI8FAST(i) +#define PRIoFAST8 __PRI8FAST(o) +#define PRIuFAST8 __PRI8FAST(u) +#define PRIxFAST8 __PRI8FAST(x) +#define PRIXFAST8 __PRI8FAST(X) + + + + +#define SCNdFAST8 __SCN8FAST(d) +#define SCNiFAST8 __SCN8FAST(i) +#define SCNoFAST8 __SCN8FAST(o) +#define SCNuFAST8 __SCN8FAST(u) +#define SCNxFAST8 __SCN8FAST(x) + + + + +#define __PRI16(x) __INT16 __STRINGIFY(x) +#define __PRI16LEAST(x) __LEAST16 __STRINGIFY(x) +#define __PRI16FAST(x) __FAST16 __STRINGIFY(x) +#define __SCN16(x) __INT16 __STRINGIFY(x) +#define __SCN16LEAST(x) __LEAST16 __STRINGIFY(x) +#define __SCN16FAST(x) __FAST16 __STRINGIFY(x) + + +#define PRId16 __PRI16(d) +#define PRIi16 __PRI16(i) +#define PRIo16 __PRI16(o) +#define PRIu16 __PRI16(u) +#define PRIx16 __PRI16(x) +#define PRIX16 __PRI16(X) + +#define SCNd16 __SCN16(d) +#define SCNi16 __SCN16(i) +#define SCNo16 __SCN16(o) +#define SCNu16 __SCN16(u) +#define SCNx16 __SCN16(x) + + +#define PRIdLEAST16 __PRI16LEAST(d) +#define PRIiLEAST16 __PRI16LEAST(i) +#define PRIoLEAST16 __PRI16LEAST(o) +#define PRIuLEAST16 __PRI16LEAST(u) +#define PRIxLEAST16 __PRI16LEAST(x) +#define PRIXLEAST16 __PRI16LEAST(X) + +#define SCNdLEAST16 __SCN16LEAST(d) +#define SCNiLEAST16 __SCN16LEAST(i) +#define SCNoLEAST16 __SCN16LEAST(o) +#define SCNuLEAST16 __SCN16LEAST(u) +#define SCNxLEAST16 __SCN16LEAST(x) + + +#define PRIdFAST16 __PRI16FAST(d) +#define PRIiFAST16 __PRI16FAST(i) +#define PRIoFAST16 __PRI16FAST(o) +#define PRIuFAST16 __PRI16FAST(u) +#define PRIxFAST16 __PRI16FAST(x) +#define PRIXFAST16 __PRI16FAST(X) + +#define SCNdFAST16 __SCN16FAST(d) +#define SCNiFAST16 __SCN16FAST(i) +#define SCNoFAST16 __SCN16FAST(o) +#define SCNuFAST16 __SCN16FAST(u) +#define SCNxFAST16 __SCN16FAST(x) + + +#define __PRI32(x) __INT32 __STRINGIFY(x) +#define __SCN32(x) __INT32 __STRINGIFY(x) +#define __PRI32LEAST(x) __LEAST32 __STRINGIFY(x) +#define __SCN32LEAST(x) __LEAST32 __STRINGIFY(x) +#define __PRI32FAST(x) __FAST32 __STRINGIFY(x) +#define __SCN32FAST(x) __FAST32 __STRINGIFY(x) + +#define PRId32 __PRI32(d) +#define PRIi32 __PRI32(i) +#define PRIo32 __PRI32(o) +#define PRIu32 __PRI32(u) +#define PRIx32 __PRI32(x) +#define PRIX32 __PRI32(X) + +#define SCNd32 __SCN32(d) +#define SCNi32 __SCN32(i) +#define SCNo32 __SCN32(o) +#define SCNu32 __SCN32(u) +#define SCNx32 __SCN32(x) + + +#define PRIdLEAST32 __PRI32LEAST(d) +#define PRIiLEAST32 __PRI32LEAST(i) +#define PRIoLEAST32 __PRI32LEAST(o) +#define PRIuLEAST32 __PRI32LEAST(u) +#define PRIxLEAST32 __PRI32LEAST(x) +#define PRIXLEAST32 __PRI32LEAST(X) + +#define SCNdLEAST32 __SCN32LEAST(d) +#define SCNiLEAST32 __SCN32LEAST(i) +#define SCNoLEAST32 __SCN32LEAST(o) +#define SCNuLEAST32 __SCN32LEAST(u) +#define SCNxLEAST32 __SCN32LEAST(x) + + +#define PRIdFAST32 __PRI32FAST(d) +#define PRIiFAST32 __PRI32FAST(i) +#define PRIoFAST32 __PRI32FAST(o) +#define PRIuFAST32 __PRI32FAST(u) +#define PRIxFAST32 __PRI32FAST(x) +#define PRIXFAST32 __PRI32FAST(X) + +#define SCNdFAST32 __SCN32FAST(d) +#define SCNiFAST32 __SCN32FAST(i) +#define SCNoFAST32 __SCN32FAST(o) +#define SCNuFAST32 __SCN32FAST(u) +#define SCNxFAST32 __SCN32FAST(x) + + + +#define __PRI64(x) __INT64 __STRINGIFY(x) +#define __SCN64(x) __INT64 __STRINGIFY(x) + +#define __PRI64LEAST(x) __LEAST64 __STRINGIFY(x) +#define __SCN64LEAST(x) __LEAST64 __STRINGIFY(x) +#define __PRI64FAST(x) __FAST64 __STRINGIFY(x) +#define __SCN64FAST(x) __FAST64 __STRINGIFY(x) + + +#define PRId64 __PRI64(d) +#define PRIi64 __PRI64(i) +#define PRIo64 __PRI64(o) +#define PRIu64 __PRI64(u) +#define PRIx64 __PRI64(x) +#define PRIX64 __PRI64(X) + +#define SCNd64 __SCN64(d) +#define SCNi64 __SCN64(i) +#define SCNo64 __SCN64(o) +#define SCNu64 __SCN64(u) +#define SCNx64 __SCN64(x) + + + +#define PRIdLEAST64 __PRI64LEAST(d) +#define PRIiLEAST64 __PRI64LEAST(i) +#define PRIoLEAST64 __PRI64LEAST(o) +#define PRIuLEAST64 __PRI64LEAST(u) +#define PRIxLEAST64 __PRI64LEAST(x) +#define PRIXLEAST64 __PRI64LEAST(X) + +#define SCNdLEAST64 __SCN64LEAST(d) +#define SCNiLEAST64 __SCN64LEAST(i) +#define SCNoLEAST64 __SCN64LEAST(o) +#define SCNuLEAST64 __SCN64LEAST(u) +#define SCNxLEAST64 __SCN64LEAST(x) + + + +#define PRIdFAST64 __PRI64FAST(d) +#define PRIiFAST64 __PRI64FAST(i) +#define PRIoFAST64 __PRI64FAST(o) +#define PRIuFAST64 __PRI64FAST(u) +#define PRIxFAST64 __PRI64FAST(x) +#define PRIXFAST64 __PRI64FAST(X) + +#define SCNdFAST64 __SCN64FAST(d) +#define SCNiFAST64 __SCN64FAST(i) +#define SCNoFAST64 __SCN64FAST(o) +#define SCNuFAST64 __SCN64FAST(u) +#define SCNxFAST64 __SCN64FAST(x) + + + + + + + +#define __PRIMAX(x) __STRINGIFY(ll ##x) +#define __SCNMAX(x) __STRINGIFY(ll ##x) + + + + + +#define PRIdMAX __PRIMAX(d) +#define PRIiMAX __PRIMAX(i) +#define PRIoMAX __PRIMAX(o) +#define PRIuMAX __PRIMAX(u) +#define PRIxMAX __PRIMAX(x) +#define PRIXMAX __PRIMAX(X) + +#define SCNdMAX __SCNMAX(d) +#define SCNiMAX __SCNMAX(i) +#define SCNoMAX __SCNMAX(o) +#define SCNuMAX __SCNMAX(u) +#define SCNxMAX __SCNMAX(x) +# 294 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 3 +#define __PRIPTR(x) __STRINGIFY(x) +#define __SCNPTR(x) __STRINGIFY(x) + + +#define PRIdPTR __PRIPTR(d) +#define PRIiPTR __PRIPTR(i) +#define PRIoPTR __PRIPTR(o) +#define PRIuPTR __PRIPTR(u) +#define PRIxPTR __PRIPTR(x) +#define PRIXPTR __PRIPTR(X) + +#define SCNdPTR __SCNPTR(d) +#define SCNiPTR __SCNPTR(i) +#define SCNoPTR __SCNPTR(o) +#define SCNuPTR __SCNPTR(u) +#define SCNxPTR __SCNPTR(x) + + +typedef struct { + intmax_t quot; + intmax_t rem; +} imaxdiv_t; + +struct _reent; + + + + + +extern intmax_t imaxabs(intmax_t); +extern imaxdiv_t imaxdiv(intmax_t __numer, intmax_t __denomer); +extern intmax_t strtoimax(const char *__restrict, char **__restrict, int); +extern intmax_t _strtoimax_r(struct _reent *, const char *__restrict, char **__restrict, int); +extern uintmax_t strtoumax(const char *__restrict, char **__restrict, int); +extern uintmax_t _strtoumax_r(struct _reent *, const char *__restrict, char **__restrict, int); +extern intmax_t wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int); +extern intmax_t _wcstoimax_r(struct _reent *, const wchar_t *__restrict, wchar_t **__restrict, int); +extern uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int); +extern uintmax_t _wcstoumax_r(struct _reent *, const wchar_t *__restrict, wchar_t **__restrict, int); +# 5 "src/rcc.h" 2 + + +# 6 "src/rcc.h" +struct rcc { + volatile uint32_t CR; + volatile uint32_t PLLCFGR; + volatile uint32_t CFGR; + volatile uint32_t CIR; + volatile uint32_t AHB1RSTR; + volatile uint32_t AHB2RSTR; + volatile uint32_t RESERVED0[2]; + volatile uint32_t APB1RSTR; + volatile uint32_t APB2RSTR; + volatile uint32_t RESERVED1[2]; + volatile uint32_t AHB1ENR; + volatile uint32_t AHB2ENR; + volatile uint32_t RESERVED2[2]; + volatile uint32_t APB1ENR; + volatile uint32_t APB2ENR; + volatile uint32_t RESERVED3[2]; + volatile uint32_t AHB1LPENR; + volatile uint32_t AHB2LPENR; + volatile uint32_t RESERVED4[2]; + volatile uint32_t APB1LPENR; + volatile uint32_t APB2LPENR; + volatile uint32_t RESERVED5[2]; + volatile uint32_t BDCR; + volatile uint32_t CSR; + volatile uint32_t RESERVED6[2]; + volatile uint32_t SSCGR; + volatile uint32_t PLLI2SCFGR; + volatile uint32_t DCKCFGR; +}; + +#define RCC_BASE_ADDR (0x40023800U) +#define RCC ((struct rcc *) RCC_BASE_ADDR) + + + +#define RCC_CR_PLLRDY_BIT 25 +#define RCC_CR_PLLRDY_LOCKED (1 << RCC_CR_PLLRDY_BIT) + + +#define RCC_CR_PLLON_BIT 24 +#define RCC_CR_PLLON_ON (1 << RCC_CR_PLLON_BIT) + + +#define RCC_CR_HSERDY_BIT 17 +#define RCC_CR_HSERDY_READY (1 << RCC_CR_HSERDY_BIT) + + +#define RCC_CR_HSEON_BIT 16 +#define RCC_CR_HSEON_ON (1 << RCC_CR_HSEON_BIT) + + +#define RCC_CR_HSIRDY_BIT 1 +#define RCC_CR_HSIRDY_READY (1 << RCC_CR_HSIRDY_BIT) + + +#define RCC_CR_HSION_BIT 0 +#define RCC_CR_HSION_ON (1 << RCC_CR_HSION_BIT) + + +#define RCC_PLLCFGR_PLLQ_BIT 24 +#define RCC_PLLCFGR_PLLQ_MASK (0b1111) +#define RCC_PLLCFGR_PLLQ(q) ((q & RCC_PLLCFGR_PLLQ_MASK) << RCC_PLLCFGR_PLLQ_BIT) + +#define RCC_PLLCFGR_PLLSRC_BIT 22 +#define RCC_PLLCFGR_PLLSRC_HSE (1 << RCC_PLLCFGR_PLLSRC_BIT) + +#define RCC_PLLCFGR_PLLP_BIT 16 +#define RCC_PLLCFGR_PLLP_MASK (0b11) +#define RCC_PLLCFGR_PLLP(p) ((p & RCC_PLLCFGR_PLLP_MASK) << RCC_PLLCFGR_PLLP_BIT) + +#define RCC_PLLCFGR_PLLN_BIT 6 +#define RCC_PLLCFGR_PLLN_MASK (0b111111111) +#define RCC_PLLCFGR_PLLN(n) ((n & RCC_PLLCFGR_PLLN_MASK) << RCC_PLLCFGR_PLLN_BIT) + +#define RCC_PLLCFGR_PLLM_BIT 0 +#define RCC_PLLCFGR_PLLM_MASK (0b111111) +#define RCC_PLLCFGR_PLLM(m) ((m & RCC_PLLCFGR_PLLM_MASK) << RCC_PLLCFGR_PLLM_BIT) + + + +#define RCC_CFGR_PPRE_DIV_NONE 0 +#define RCC_CFGR_PPRE_DIV_2 (0b100) + + +#define RCC_CFGR_PPRE2_BIT 13 +#define RCC_CFGR_PPRE2_MASK (0b111) + + +#define RCC_CFGR_PPRE1_BIT 10 +#define RCC_CFGR_PPRE1_MASK (0b111) + + +#define RCC_CFGR_HPRE_DIV_NONE 0 + +#define RCC_CFGR_HPRE_BIT 4 +#define RCC_CFGR_HPRE_MASK (0b1111) + + +#define RCC_CFGR_SWS_PLL (0b10) + +#define RCC_CFGR_SWS_BIT 2 +#define RCC_CFGR_SWS_MASK (0b11) + + +#define RCC_CFGR_SW_PLL (0b10) + +#define RCC_CFGR_SW_BIT 0 +#define RCC_CFGR_SW_MASK (0b11) +#define RCC_CFGR_SW(clock) ((clock & RCC_CFGR_SW_MASK) << RCC_CFGR_SW_BIT) + + +#define RCC_APB1ENR_PWREN_BIT 28 +#define RCC_APB1ENR_PWREN_CLOCK_ENABLE (1 << RCC_APB1ENR_PWREN_BIT) + +#define RCC_APB1ENR_TIM4_BIT 2 +#define RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT) +# 2 "src/timer.c" 2 +# 1 "src/timer.h" 1 + +#define TIMER_H_ + + + +struct timer { + volatile uint32_t CR1; + volatile uint32_t CR2; + volatile uint32_t SMCR; + volatile uint32_t DIER; + volatile uint32_t SR; + volatile uint32_t EGR; + volatile uint32_t CCMR1; + volatile uint32_t CCMR2; + volatile uint32_t CCER; + volatile uint32_t CNT; + volatile uint32_t PSC; + volatile uint32_t ARR; + volatile uint32_t RCR; + volatile uint32_t CCR1; + volatile uint32_t CCR2; + volatile uint32_t CCR3; + volatile uint32_t CCR4; + volatile uint32_t BDTR; + volatile uint32_t DCR; + volatile uint32_t DMAR; +}; + +#define TIM4_BASE_ADDR (0x40000800U) +#define TIM4 ((struct timer *) TIM4_BASE_ADDR) + +#define TIM4_CR_CEN_BIT 0 +#define TIM4_ENABLE (1 << TIM4_CR_CEN_BIT) + +void tim4_init(void); +void tim4_start(void); +# 3 "src/timer.c" 2 + +void tim4_init(void) { + + ((struct rcc *) (0x40023800U))->APB1ENR |= (1 << 2); + + + ((struct timer *) (0x40000800U))->CR1 = 0x0000; + ((struct timer *) (0x40000800U))->CR2 = 0x0000; + + + + ((struct timer *) (0x40000800U))->PSC = (uint16_t) 48000 - 1; + + + ((struct timer *) (0x40000800U))->ARR = (uint16_t) 0xFFFF; +} + +void tim4_start(void) { + ((struct timer *) (0x40000800U))->CR1 |= (1 << 0); +} diff --git a/build/timer.o b/build/timer.o new file mode 100644 index 0000000000000000000000000000000000000000..e731214da19a61f4d65ab74f6402af0d8b146ae2 GIT binary patch literal 44612 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 +#include + #include "rcc.h" #include "gpio.h" #include "flash.h" #include "pwr.h" +#include "timer.h" #define exit 42 @@ -70,21 +73,25 @@ static void system_clock_init(void) { RCC->CR &= ~RCC_CR_HSION_ON; } -static inline void spin(volatile uint32_t count) { - while (count--) (void) 0; -} - int main(void) { (void) system_clock_init(); + (void) tim4_init(); + + (void) tim4_start(); uint16_t led = PIN('C', 13); // Blue LED RCC->AHB1ENR |= BIT(PINPORT(led)); // Enable GPIO clock for LED gpio_set_mode(led, GPIO_MODE_OUTPUT); // Set blue LED to output mode - for (;;) { - gpio_write(led, true); - spin(999999); - gpio_write(led, false); - spin(999999); + + uint16_t counter = TIM4->CNT; + bool led_on = false; + while(1) { + if ((TIM4->CNT - counter) >= 250) { + led_on = !led_on; + gpio_write(led, led_on); + + counter = TIM4->CNT; + } }; return exit; diff --git a/src/rcc.h b/src/rcc.h index 5fcb8b5..153e57a 100644 --- a/src/rcc.h +++ b/src/rcc.h @@ -118,4 +118,7 @@ struct rcc { #define RCC_APB1ENR_PWREN_BIT 28 #define RCC_APB1ENR_PWREN_CLOCK_ENABLE (1 << RCC_APB1ENR_PWREN_BIT) +#define RCC_APB1ENR_TIM4_BIT 2 +#define RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT) + #endif