From 1ae81edf572cb219ddbc261587f81723f40f408e Mon Sep 17 00:00:00 2001 From: Alexander Heldt Date: Wed, 1 Jan 2025 12:37:52 +0100 Subject: [PATCH] Add ability to debug clock with MCO1 --- build/final.elf | Bin 61936 -> 62296 bytes build/final.elf.map | 58 ++-- build/gpio.S | 203 +++++++------ build/gpio.i | 5 +- build/gpio.o | Bin 43004 -> 43040 bytes build/main.S | 727 +++++++++++++++++++++++--------------------- build/main.i | 18 +- build/main.o | Bin 50084 -> 50452 bytes build/timer.S | 360 ++++++++++++---------- build/timer.i | 13 + build/timer.o | Bin 44720 -> 45048 bytes build/usart.S | 619 ++++++++++++++++++++----------------- build/usart.i | 24 +- build/usart.o | Bin 47772 -> 48140 bytes src/gpio.h | 1 + src/rcc.h | 13 + src/usart.c | 9 + 17 files changed, 1124 insertions(+), 926 deletions(-) diff --git a/build/final.elf b/build/final.elf index 5f5d0642ee94f3999226a25c91e943ba2d7705cf..6ce76be4c9892667cdbc9c244a1abe97147f9dcb 100755 GIT binary patch delta 17107 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 DVq-$o delta 16774 zcmccdjQPW3<_QW+Ki+LrIwHm@<;1{nWb$hS3=9k$vXhre zEEWxqXJ9xIz`&pbas~qfLnR{vgY)EANp%j8@0eLwStj>LN^*dF!py<0KY6XBE3aA< z0|N`k0+2n7^Cth76t8zpU|?Y328jqTa>Ow(u<(G`B8<<%7#LW11(+BZBpCH#7#LXi zK;jCFZXgr*L2MPq41{N`pA`ixiAPI4hq5wwIPzDAT2@pGkkp-ki5~L=Au`il| zfkg@=p1|l2a*#BLox=DHq(%m$CWBFH@_Q+9RX&i2JV>O1Q30e<0i?2lF+HAvfkhF- zZeg4~SzB5|PnFMxiGhJlUYLP_flXP0fq{`Niiv@Ni477JETE`h)nXQ9VqoC@5j?q3 zT9mInl7WE@8k#MUlb1*N()9|khmC#ZNn%5VuQoS zfiWqbfq?@YJ}yiy&Or+238P@ zftisBl%zNwsWC9H>Tt5aBtfCTz-}7Nz`&`?ej}2BfkTCTek=n6rw)4&$U0@=^vSWZ z8ggt=3=9!GAoG|emhl9{GcZK5gA8VxSjr&UG0UXIHPA$iTpu$u|S!P-akS=e?G|z`)4N%aY#OW#92}sGJ4ZkrBqGWt!OFlP02UEE1=7dHwuOa(BLytd#K^$FB#_9!z#&}2 zz`(%tD1m{2LjlZu17d2|fJ|nRNn~K)gQ)nPF!{AyvY1OE#3N}?k2tb0FwEDV94Dy; z_6RJm@xbz$D+2?^It&Kq0gcT{9up(s>R-|mg3eP5! z^_0XyK)Heynk(2qDO;p~m4QP6oHW=#X`97>m4U+n%x9skaz;LR0gqOr7}oO2BTJ_H3I{S zEJ&h&**Q3ffkh6)E@6Ze)F4H$L<16s71SU$sGx38(O^;K3uBsWC?P6}S}^M~F)#>* zB~HGk5?J4m$iTqH3(_RPz#(hGz@U2_RJMZ(N46=T=mVE}I&a{DVN47R3_^OK0>goA z1{(v17C03MGBYr6CY7c!I7ot+OcP5OgjvLy85o!tIZRj>7(`+~g^nd#1{(v10a%A4 zNQXl*gQWt<9;S)q45FZ-l+l#UgAJC}#6ZO0OIAM28pM7k4kDY_KxDiVh@30{A|Fi-43e$?3btjIE=VMX z6+|vn0g-0jAX45HME(W4*4YolF0urX!NDN%7B7gbwE>ZzzLF6m2?TTR8 z1hDOXsvvPOUl4f}97-$dB|sbnu*Xcmq`Ndoq!R2&EwB+bV9Or+gT(W}!L$_|K-)mI z5(6vPSy#Y@9$*Bi=?1Hu#|>g@nt;e)u=hg2k#tTQBq9y=(lm2$ENOz39s(O-1~$3? zZ1m+IkkXZ4-$06>_u%;Ckq3!KdVt8e${_OGvw=ds2}X5=?)+@qTuje42}&}3y_F5I3T#eN%sRdfYQMMw;b$ACj*e0nS3DfKiJI& zz#{LYKq5E5LG}Th@MeRP_e!u&H-UqDLJpYI4tB(Pu!a?2%_iU&m=4ZeX5c962B-L9 zaL`18)0vwl$b!vaCl<I!HMl3 zIANF?gVd}Bdqxu+-HqUKAR3%oH-SUw8aQ$pd_XGg!DNOrh`ki-9vN_sUR4i{f(78h zVmG*0`3ue#FTugS9vl&tU_%#zGkh1=phdDEgQkFkCJ`J3e&E9E5;&Def>Y9Ja75dH z(|tYI=@sC3C<1#d5S&si<-tPxzzOp+*tl0;hZg4vvk5;Kcg}92-Q)D^V-rL}SI0KHuOJEa>!0}cIc6lN=MeG5mf*;@lv0VogK&QbX=HOJY z4V?O$!6~Q{Z1NAV2&g&F$`Ay0eFXRoDzAWx*9dS9;RnlJ=LU(_>3|aww=am(1$I}i8Hjz)2t=-(T<@#wc^;fi6~NWt zEU@DyfI~|gY_u*oJMIKWRwX!Wu6cp2Yhw_5rYnf-ne131E_@xF6u*HhNk?!= zX+8OjxhCV|$=}Rp)XRX9H)pIBxP)O~l@4I_}$X(nM0s0SV}ZU;rxGsYYq1_stwjB=pl{Dbk~&Sj+eXB(#l@9h7EwFoNB;lM(E|U5sEC?q&o#aStQdje8kE4r4pS z2zKjXMv!B{p~=Ar3Ojjokh2vogCa-qE+|E*-UbyK+FhV@;<_B<3ePZ5?#%RZbB2Z< z+fh((@%w<3OT7j~uVNi2KJ{5arG>2+C^m!bK;fS&3o4d-7~?@Ha2cZt$e=xpk3fx) zbBveu7#P^TF!mThjpf<^D$GQWPA;&PtrrIwqI(Y%kcLX2g45U@WT2%5CG^p~5Dnkd4tOSd^1oYDfj{^9SS#qir|uG zpe9M_9#HZx+X1R8%4f`ciry~9S)dHq&6onx(Zi?! z@_#QQsB6nQf$=dYIZtG)0;PaSjGsZdc`{=FDD0*%nt`aPjN%~e(-|j#^vz)W28y4M@pV#wVa`bB&P;6uvhZwLxvWTZ{`p3H3JPMNrt>VRQ$D>s>}yP{iG1>;M%w z4;XDhQS^{8r5+Ujj~Gor#ynpw9XgF@#sV>-y|-x*(l;_?S$7$^_?Wb6dB zGJY{e1=ce#u>NLr00rwGMq7~c|1oNU(&vB1=OD8in7BYn8<_+^ZMG(+P>@YsOvRwI z*v<3^lq4oH8GyoR5|cm3Pm`IvLD4sbNgfnxQ<<7UzMsaF49aFRm{>qLY$lT-C~{^o z{gh{jWMG}m^bC}m=P(6zSlM_HJa#0wuRiOm!e?GgHyz4^HCsJ3%Q*aRVsml<$M8AeC338pO!OA7mZ_ z11r-cP(d$x1SBf9AC#RXoIp(-Nmh`Xq$EMLw=5H=D3hNJ@|R)(C_yQELP|9z&_oC` z10yQ~_5qYwRt6f5piEw%D?U1E!pbl@YQj1?YQoAeI%+aHYQn(EFgj|&Fgj|&#xRUW zO+@`bqbBx#RrO~S85mfYSy|bc#Xt-;Hg+au5QCka-2=?v;9xHUGdMZfXMh;2+^ZuQ z7+Am^bf%Ip1_oADn-B&DR<*%@GAk*NHtV_33=FJx;vi{zClK4o9AvcfVi4(KAH%@F>ed62 zb?*eRJ^x2AFtB=U2U*~~7-WHO4T$Y`2&CTsI!H~RGDsw7KFBG-Z$WCpuYg1%vOwlX zTY=d1F@hlJc!_WZ2G#^2khbK#Afr>~f!vtZ0&-lYEJ$;g0y#iwGstRX50Eakx1eBEzYbEP*#^?9bt4$;04C6a3iOt41_Pbu z3P)SIqw|BT45Rad45RadtPG>`gAAkdgAAkdgRBh0X@1ZZ%lx1_0|PT73o|DxD;K8} z0|PS;6DxRTh?#?pRV+-Lfq_|uojr`3fq{knhaQOZn`{_kfM=Sn9(|gQ%2P~Cpw*h_ ztt6yI(&%^~11rPmDyq>{R1B;PqpPSGSQ$oFQ8A3JqGA|bMK!vLih-4Zh*eZFI9o}q zOeK>yrh^6sZ>Q(g|F!}R12VBfM*kqgeH0Azv648>SI^%m$grg|z8NU%0lppj3sGvlO&akb#9^^5lJ$W|J>hH893Z z4y*Q+HeqB{)@RkUVP&*s;$UE8WL0KhWddzEWVV>RzgnNse)ETF5#7zwD=(>S=Dxts zIQh<1tIaMKOPDubyu!pdS?t=X$$zd(Og?b!{p91> 8)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" @@ -5001,7 +5006,7 @@ gpio_write: .ascii "__ORDER_LITTLE_ENDIAN__ 1234\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF875: +.LASF876: .ascii "long long unsigned int\000" .LASF611: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" @@ -5077,11 +5082,11 @@ gpio_write: .ascii "SCNdFAST8 __SCN8FAST(d)\000" .LASF576: .ascii "_UINTPTR_T_DECLARED \000" -.LASF889: +.LASF890: .ascii "AFRH\000" .LASF314: .ascii "__ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK\000" -.LASF888: +.LASF889: .ascii "AFRL\000" .LASF273: .ascii "__ULFRACT_MIN__ 0.0ULR\000" @@ -5095,7 +5100,7 @@ gpio_write: .ascii "__INT32_TYPE__ long int\000" .LASF118: .ascii "__UINT_LEAST8_MAX__ 0xff\000" -.LASF887: +.LASF888: .ascii "LCKR\000" .LASF520: .ascii "__int20__ +2\000" @@ -5109,7 +5114,7 @@ gpio_write: .ascii "__SCN32(x) __INT32 __STRINGIFY(x)\000" .LASF743: .ascii "SCNoFAST16 __SCN16FAST(o)\000" -.LASF862: +.LASF863: .ascii "PIN(port,num) (PORT(port) | num)\000" .LASF345: .ascii "__UTQ_IBIT__ 0\000" @@ -5145,7 +5150,7 @@ gpio_write: .ascii "__QQ_IBIT__ 0\000" .LASF763: .ascii "PRIdLEAST32 __PRI32LEAST(d)\000" -.LASF883: +.LASF884: .ascii "OTYPER\000" .LASF811: .ascii "SCNuLEAST64 __SCN64LEAST(u)\000" @@ -5165,11 +5170,11 @@ gpio_write: .ascii "__GNUC_MINOR__ 3\000" .LASF57: .ascii "__UINT_LEAST32_TYPE__ long unsigned int\000" -.LASF901: +.LASF902: .ascii "src/gpio.c\000" .LASF405: .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" -.LASF858: +.LASF859: .ascii "GPIO_BASE_ADDR (0x40020000U)\000" .LASF38: .ascii "__INTMAX_TYPE__ long long int\000" @@ -5221,7 +5226,7 @@ gpio_write: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" .LASF23: .ascii "__SIZEOF_SIZE_T__ 4\000" -.LASF859: +.LASF860: .ascii "GPIO_PORT_OFFSET (0x400U)\000" .LASF50: .ascii "__UINT64_TYPE__ long long unsigned int\000" @@ -5241,7 +5246,7 @@ gpio_write: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF885: +.LASF886: .ascii "PUPDR\000" .LASF835: .ascii "SCNuMAX __SCNMAX(u)\000" @@ -5249,7 +5254,7 @@ gpio_write: .ascii "__UINT16_C(c) c\000" .LASF359: .ascii "__UDA_IBIT__ 32\000" -.LASF899: +.LASF900: .ascii "mode\000" .LASF586: .ascii "INTPTR_MAX (__INTPTR_MAX__)\000" @@ -5263,7 +5268,7 @@ gpio_write: .ascii "_ATTRIBUTE(attrs) __attribute__ (attrs)\000" .LASF443: .ascii "__ARM_FEATURE_COPROC\000" -.LASF893: +.LASF894: .ascii "GPIO_MODE_ANALOG\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" @@ -5301,7 +5306,7 @@ gpio_write: .ascii "__FAST8 \000" .LASF496: .ascii "__XSI_VISIBLE 0\000" -.LASF886: +.LASF887: .ascii "BSRR\000" .LASF794: .ascii "PRIu64 __PRI64(u)\000" @@ -5389,7 +5394,7 @@ gpio_write: .ascii "PRIx32 __PRI32(x)\000" .LASF278: .ascii "__LLFRACT_MIN__ (-0.5LLR-0.5LLR)\000" -.LASF880: +.LASF881: .ascii "uint32_t\000" .LASF689: .ascii "PRIxLEAST8 __PRI8LEAST(x)\000" @@ -5439,13 +5444,13 @@ gpio_write: .ascii "__INT_LEAST16_TYPE__ short int\000" .LASF326: .ascii "__QQ_FBIT__ 7\000" -.LASF863: +.LASF864: .ascii "PINNUM(pin) (pin & 0b1111)\000" .LASF768: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF870: +.LASF871: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -5493,7 +5498,7 @@ gpio_write: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF280: .ascii "__LLFRACT_EPSILON__ 0x1P-63LLR\000" -.LASF902: +.LASF903: .ascii "/home/alex/code/own/stm32-falling-sand\000" .LASF249: .ascii "__SFRACT_MAX__ 0X7FP-7HR\000" diff --git a/build/gpio.i b/build/gpio.i index 9250b62..d992b00 100644 --- a/build/gpio.i +++ b/build/gpio.i @@ -2000,6 +2000,7 @@ struct gpio { }; +#define GPIO_AF_MCO_1 (0b0000) #define GPIO_AF_USART2_RX (0b0111) #define GPIO_AF_USART2_TX (0b0111) @@ -2026,9 +2027,9 @@ typedef enum { void gpio_set_mode(uint16_t pin, GPIO_MODE mode); void gpio_set_af(uint16_t pin, uint8_t af); void gpio_write(uint16_t pin, -# 46 "src/gpio.h" 3 4 +# 47 "src/gpio.h" 3 4 _Bool -# 46 "src/gpio.h" +# 47 "src/gpio.h" val); # 5 "src/gpio.c" 2 diff --git a/build/gpio.o b/build/gpio.o index 8eb3dee2de4010056a7436f33a0112aaaca0cd89..656d143b69402a982a5821bf9f901faa97f617c9 100644 GIT binary patch delta 5129 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 J7(_t^0RV~XW}yH8 delta 5103 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 8)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" -.LASF902: +.LASF890: + .ascii "RCC_CFGR_MCO1PRE_DIV4 (0b110)\000" +.LASF910: .ascii "RCC_APB1ENR_USART2EN_BIT 17\000" -.LASF889: +.LASF897: .ascii "RCC_CFGR_PPRE1_MASK (0b111)\000" .LASF645: .ascii "UINTMAX_C(x) __UINTMAX_C(x)\000" @@ -5835,16 +5876,18 @@ main: .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1\000" .LASF733: .ascii "SCNuLEAST16 __SCN16LEAST(u)\000" -.LASF973: +.LASF982: .ascii "APB1RSTR\000" .LASF298: .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" .LASF393: .ascii "__ARM_FEATURE_CRYPTO\000" -.LASF979: +.LASF988: .ascii "APB1ENR\000" .LASF741: .ascii "SCNdFAST16 __SCN16FAST(d)\000" +.LASF888: + .ascii "RCC_CFGR_MCO1_BIT 21\000" .LASF872: .ascii "RCC_PLLCFGR_PLLQ(q) ((q & RCC_PLLCFGR_PLLQ_MASK) <<" .ascii " RCC_PLLCFGR_PLLQ_BIT)\000" @@ -5871,13 +5914,13 @@ main: .ascii ")\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF964: +.LASF973: .ascii "long long unsigned int\000" .LASF611: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" .LASF150: .ascii "__FLT_MIN_10_EXP__ (-37)\000" -.LASF895: +.LASF903: .ascii "RCC_CFGR_SWS_MASK (0b11)\000" .LASF312: .ascii "__ULACCUM_IBIT__ 32\000" @@ -5918,15 +5961,15 @@ main: .ascii " RCC_PLLCFGR_PLLN_BIT)\000" .LASF56: .ascii "__UINT_LEAST16_TYPE__ short unsigned int\000" -.LASF930: +.LASF939: .ascii "PWR_SCALE3 (0b11)\000" .LASF573: .ascii "_INTMAX_T_DECLARED \000" -.LASF1007: +.LASF1016: .ascii "CCER\000" .LASF40: .ascii "__CHAR16_TYPE__ short unsigned int\000" -.LASF943: +.LASF952: .ascii "USART_SR_TC_COMPLETED (1 << USART_SR_TC_BIT)\000" .LASF231: .ascii "__FLT32X_DIG__ 15\000" @@ -5970,6 +6013,8 @@ main: .ascii "SIZE_MAX (__SIZE_MAX__)\000" .LASF333: .ascii "__DQ_IBIT__ 0\000" +.LASF893: + .ascii "RCC_CFGR_MCO1PRE_MASK (0b111)\000" .LASF450: .ascii "__ARM_BF16_FORMAT_ALTERNATIVE\000" .LASF45: @@ -5982,21 +6027,21 @@ main: .ascii "__int20__ +2\000" .LASF654: .ascii "_WCHAR_T_ \000" -.LASF1003: +.LASF1012: .ascii "SMCR\000" .LASF828: .ascii "PRIoMAX __PRIMAX(o)\000" .LASF747: .ascii "__SCN32(x) __INT32 __STRINGIFY(x)\000" -.LASF925: +.LASF934: .ascii "FLASH_ACR_LATENCY_MASK (0b1111)\000" -.LASF993: +.LASF1002: .ascii "GPIO_MODE_INPUT\000" .LASF743: .ascii "SCNoFAST16 __SCN16FAST(o)\000" -.LASF913: +.LASF922: .ascii "PIN(port,num) (PORT(port) | num)\000" -.LASF1020: +.LASF1029: .ascii "usart2_init\000" .LASF345: .ascii "__UTQ_IBIT__ 0\000" @@ -6022,7 +6067,7 @@ main: .ascii "PRIi16 __PRI16(i)\000" .LASF390: .ascii "__ARM_FEATURE_DSP 1\000" -.LASF945: +.LASF954: .ascii "USART_CR1_UE_ENABLE (1 << USART_CR1_UE_BIT)\000" .LASF825: .ascii "__SCNMAX(x) __STRINGIFY(ll ##x)\000" @@ -6050,13 +6095,13 @@ main: .ascii "__UINT_LEAST32_TYPE__ long unsigned int\000" .LASF405: .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" -.LASF909: +.LASF918: .ascii "GPIO_BASE_ADDR (0x40020000U)\000" .LASF38: .ascii "__INTMAX_TYPE__ long long int\000" .LASF377: .ascii "__GCC_ATOMIC_INT_LOCK_FREE 2\000" -.LASF951: +.LASF960: .ascii "USART_BRR_MANTISSA_MASK (0b111111111111)\000" .LASF561: .ascii "_INT8_T_DECLARED \000" @@ -6064,7 +6109,7 @@ main: .ascii "__ARM_ARCH_7EM__ 1\000" .LASF428: .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" -.LASF976: +.LASF985: .ascii "AHB1ENR\000" .LASF295: .ascii "__USACCUM_EPSILON__ 0x1P-8UHK\000" @@ -6104,11 +6149,11 @@ main: .ascii "__DBL_DIG__ 15\000" .LASF275: .ascii "__ULFRACT_EPSILON__ 0x1P-32ULR\000" -.LASF971: +.LASF980: .ascii "AHB2RSTR\000" .LASF671: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" -.LASF887: +.LASF895: .ascii "RCC_CFGR_PPRE2_MASK (0b111)\000" .LASF23: .ascii "__SIZEOF_SIZE_T__ 4\000" @@ -6128,21 +6173,21 @@ main: .ascii "__LDBL_MIN__ 2.2250738585072014e-308L\000" .LASF445: .ascii "__ARM_FEATURE_CDE\000" -.LASF999: +.LASF1008: .ascii "KEYR\000" .LASF509: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF957: +.LASF966: .ascii "short int\000" .LASF835: .ascii "SCNuMAX __SCNMAX(u)\000" -.LASF941: +.LASF950: .ascii "USART2 ((struct usart *) USART2_BASE_ADDR)\000" .LASF121: .ascii "__UINT16_C(c) c\000" -.LASF952: +.LASF961: .ascii "USART_BRR_FRACTION_BIT 0\000" .LASF359: .ascii "__UDA_IBIT__ 32\000" @@ -6152,7 +6197,7 @@ main: .ascii "RCC_PLLCFGR_PLLM_MASK (0b111111)\000" .LASF365: .ascii "__NO_INLINE__ 1\000" -.LASF942: +.LASF951: .ascii "USART_SR_TC_BIT 6\000" .LASF710: .ascii "__SCN16(x) __INT16 __STRINGIFY(x)\000" @@ -6164,11 +6209,11 @@ main: .ascii "_ATTRIBUTE(attrs) __attribute__ (attrs)\000" .LASF443: .ascii "__ARM_FEATURE_COPROC\000" -.LASF996: +.LASF1005: .ascii "GPIO_MODE_ANALOG\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" -.LASF936: +.LASF945: .ascii "TIM4 ((struct timer *) TIM4_BASE_ADDR)\000" .LASF95: .ascii "__SIG_ATOMIC_MAX__ 0x7fffffff\000" @@ -6176,7 +6221,7 @@ main: .ascii "UINT64_MAX (__UINT64_MAX__)\000" .LASF471: .ascii "_RETARGETABLE_LOCKING 1\000" -.LASF919: +.LASF928: .ascii "FLASH_ACR_DCEN_BIT 10\000" .LASF453: .ascii "__USES_INITFINI__ 1\000" @@ -6236,7 +6281,7 @@ main: .ascii "PRIdMAX __PRIMAX(d)\000" .LASF388: .ascii "__SIZEOF_WINT_T__ 4\000" -.LASF886: +.LASF894: .ascii "RCC_CFGR_PPRE2_BIT 13\000" .LASF782: .ascii "SCNoFAST32 __SCN32FAST(o)\000" @@ -6248,11 +6293,11 @@ main: .ascii "__LDBL_DECIMAL_DIG__ 17\000" .LASF701: .ascii "PRIXFAST8 __PRI8FAST(X)\000" -.LASF1023: +.LASF1032: .ascii "led_on\000" .LASF308: .ascii "__LACCUM_MIN__ (-0X1P31LK-0X1P31LK)\000" -.LASF1025: +.LASF1034: .ascii "src/main.c\000" .LASF126: .ascii "__INT_FAST8_MAX__ 0x7fffffff\000" @@ -6290,13 +6335,13 @@ main: .ascii "__ULLFRACT_MIN__ 0.0ULLR\000" .LASF651: .ascii "_T_WCHAR_ \000" -.LASF1012: +.LASF1021: .ascii "BDTR\000" .LASF382: .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" .LASF664: .ascii "_BSD_WCHAR_T_\000" -.LASF991: +.LASF1000: .ascii "PLLI2SCFGR\000" .LASF277: .ascii "__LLFRACT_IBIT__ 0\000" @@ -6304,9 +6349,9 @@ main: .ascii "UINT16_C(x) __UINT16_C(x)\000" .LASF756: .ascii "PRIx32 __PRI32(x)\000" -.LASF1021: +.LASF1030: .ascii "tim4_init\000" -.LASF967: +.LASF976: .ascii "uint32_t\000" .LASF878: .ascii "RCC_PLLCFGR_PLLN_BIT 6\000" @@ -6314,13 +6359,13 @@ main: .ascii "PRIxLEAST8 __PRI8LEAST(x)\000" .LASF506: .ascii "_SYS__INTSUP_H \000" -.LASF1001: +.LASF1010: .ascii "OPTCR\000" .LASF290: .ascii "__SACCUM_EPSILON__ 0x1P-7HK\000" .LASF415: .ascii "__GCC_ASM_FLAG_OUTPUTS__ 1\000" -.LASF917: +.LASF926: .ascii "FLASH_BASE_ADDR (0x40023C00U)\000" .LASF745: .ascii "SCNxFAST16 __SCN16FAST(x)\000" @@ -6366,13 +6411,13 @@ main: .ascii "__PRI16(x) __INT16 __STRINGIFY(x)\000" .LASF159: .ascii "__FLT_HAS_DENORM__ 1\000" -.LASF914: +.LASF923: .ascii "PINNUM(pin) (pin & 0b1111)\000" .LASF768: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF958: +.LASF967: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -6380,7 +6425,7 @@ main: .ascii "__FLT32_HAS_INFINITY__ 1\000" .LASF416: .ascii "__thumb__ 1\000" -.LASF950: +.LASF959: .ascii "USART_BRR_MANTISSA_BIT 4\000" .LASF421: .ascii "__ARMEL__ 1\000" @@ -6390,9 +6435,9 @@ main: .ascii "__HQ_FBIT__ 15\000" .LASF854: .ascii "__bool_true_false_are_defined 1\000" -.LASF944: +.LASF953: .ascii "USART_CR1_UE_BIT 13\000" -.LASF911: +.LASF920: .ascii "GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADD" .ascii "R + (GPIO_PORT_OFFSET * port)))\000" .LASF798: @@ -6401,11 +6446,11 @@ main: .ascii "RCC_CR_HSIRDY_BIT 1\000" .LASF80: .ascii "__SIZE_MAX__ 0xffffffffU\000" -.LASF1014: +.LASF1023: .ascii "usart2_write\000" .LASF818: .ascii "PRIXFAST64 __PRI64FAST(X)\000" -.LASF916: +.LASF925: .ascii "FLASH_H_ \000" .LASF412: .ascii "__ARM_ARCH\000" @@ -6423,7 +6468,7 @@ main: .ascii "SCNuFAST32 __SCN32FAST(u)\000" .LASF522: .ascii "long +4\000" -.LASF970: +.LASF979: .ascii "AHB1RSTR\000" .LASF723: .ascii "SCNx16 __SCN16(x)\000" @@ -6433,7 +6478,7 @@ main: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF340: .ascii "__USQ_FBIT__ 32\000" -.LASF1026: +.LASF1035: .ascii "/home/alex/code/own/stm32-falling-sand\000" .LASF796: .ascii "PRIX64 __PRI64(X)\000" @@ -6471,7 +6516,7 @@ main: .ascii "__DBL_MIN_10_EXP__ (-307)\000" .LASF795: .ascii "PRIx64 __PRI64(x)\000" -.LASF946: +.LASF955: .ascii "USART_CR1_TE_BIT 3\000" .LASF512: .ascii "__int20\000" @@ -6491,7 +6536,7 @@ main: .ascii "__ULFRACT_IBIT__ 0\000" .LASF857: .ascii "RCC ((struct rcc *) RCC_BASE_ADDR)\000" -.LASF892: +.LASF900: .ascii "RCC_CFGR_HPRE_MASK (0b1111)\000" .LASF72: .ascii "__INT_MAX__ 0x7fffffff\000" @@ -6499,7 +6544,7 @@ main: .ascii "__INT_LEAST64_TYPE__ long long int\000" .LASF103: .ascii "__UINT16_MAX__ 0xffff\000" -.LASF928: +.LASF937: .ascii "PWR_BASE_ADDR (0x40007000U)\000" .LASF446: .ascii "__ARM_FEATURE_CDE_COPROC\000" diff --git a/build/main.i b/build/main.i index 52527ad..bc9dacc 100644 --- a/build/main.i +++ b/build/main.i @@ -2070,6 +2070,19 @@ struct rcc { #define RCC_CFGR_PPRE_DIV_2 (0b100) +#define RCC_CFGR_MCO1_HSE (0b10) +#define RCC_CFGR_MCO1_PLL (0b11) + +#define RCC_CFGR_MCO1_BIT 21 +#define RCC_CFGR_MCO1_MASK (0b11) + +#define RCC_CFGR_MCO1PRE_DIV4 (0b110) +#define RCC_CFGR_MCO1PRE_DIV2 (0b100) + +#define RCC_CFGR_MCO1PRE_BIT 24 +#define RCC_CFGR_MCO1PRE_MASK (0b111) + + #define RCC_CFGR_PPRE2_BIT 13 #define RCC_CFGR_PPRE2_MASK (0b111) @@ -2127,6 +2140,7 @@ struct gpio { }; +#define GPIO_AF_MCO_1 (0b0000) #define GPIO_AF_USART2_RX (0b0111) #define GPIO_AF_USART2_TX (0b0111) @@ -2153,9 +2167,9 @@ typedef enum { void gpio_set_mode(uint16_t pin, GPIO_MODE mode); void gpio_set_af(uint16_t pin, uint8_t af); void gpio_write(uint16_t pin, -# 46 "src/gpio.h" 3 4 +# 47 "src/gpio.h" 3 4 _Bool -# 46 "src/gpio.h" +# 47 "src/gpio.h" val); # 6 "src/main.c" 2 # 1 "src/flash.h" 1 diff --git a/build/main.o b/build/main.o index 06cdb228385386f97ef1cdd3400e579d55e3cf80..7cec1a07ccb52dfb4d17a6e6d410f053c681874b 100644 GIT binary patch delta 7992 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 FFaQ@GRv-WX delta 7647 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

q zW$HAh3Xn^tGu460))`ESpky$UsS^~evzYvi7#P@=GgU+|FtFWay2HW1z&4AyKn>~= z87WYqCm#t45d}L?`%ZB+NW0!KP;*1S02JN^A3#aLq@E3wl1x=Wq*)y(f0-wN%3q5e zAQ8*6pa`>51!Y-#e-P=A1`1fmb)c;5WCvSs__C3u&wU*Z>kk7q;fjsUL z2C97nH-W^1-h*;d@H|ky3Go8uvrw;kP*#du0pdih0VVP19iTvtkpXFr-3p56IAc(Q zFnJaz+o$w_l1{2GNIZ=Tlqk}So6++!Y}_nsPrn>1+ud6At?S! z0zjpHsRbzZ$}WIXS-G4KDEuoLKpHBqfXe9V4p8H_<`$^>tF-_HVBHZ=tk&y+iq}j8j0=RK^-mb96f6RglIRjFzBK zp2;W)GHn*45-0#>GuDF~K9BJgNc()o>a-UOx9#f+k$f?_G7 z4k*7bW85qP%74olS$O1|pM;L2B3F;_g5{Np+_yiP> zCm2tG?@36ASG8B zCxN2rT0P@3P>QV8Ce84y#Ab*NldsMEizO4^*JOW!w+S zYwsEBe}l5>2gVa1KYe7p1hW1U;}uYlerA*hh1Yk+!=RM(gE1PEyMHqJfzsSBMlVnt z{AM%&QGXbNK-T|bd<`=DKVusxcQ!Cx1+_vNnW{kPw~5IV6eC?suAofT&C~_5VItGK zdQh-UV%iAu(`2U2ptLiEDG3y8Q<*-3d_Rq8C#VdV!E_hoikVE)KruRti5uj#*-U1j zOg4wf4pgozV~PeY#*qOG~Wiw z?N$dx~n$T?oUprq)n z1WHN1k3reUZz)KSpe!9*UGXmfb3^rU}f?J1)OLq$VXy7LCIC(2B;Mw=?DrY zsm-7=T=oH|MvylK6+MdepbV|-2dny+azLTRp9spd0#%?&TEq|(*rLxs`XwwuNmkMn zq+iArge+<;%R*D4$q;e*x)KD`7`CZ)r)DF;W1!>mWzWJeI1`&kzNJ&C|m7vu)0e z+sU}uE@1}iaqG6JGa+0xenk7Sdu8CfHL1w;QhMtjLs)dEQL5gXrv9U>#MRKyGky)}?l8JGW znW?3vv5Aqv=B1PD6(_5#44AC4Wx{5jtq<6krc9drZnq!Pok^4J_LMQDOr5-Kj~`Rb z)X8jn{g`^DP7d4a$24Wh>`Q*0!eoRxAPrkO_kLl0y$!Z7um|9j$E<51Iv}V=hV+Z`0TvksOJLt#s zXT#*QgIbJclLhxH^QvrQV3@(kz!1d1z+g8yaj!IMi2?(I!{o-jDmrd-eIo%5HNY+ZsEy3M+BI3woZ;aqQ*L>gMqO7vz38?ce3DqVF1tF0BisN diff --git a/build/timer.S b/build/timer.S index fead8af..b1c92b7 100644 --- a/build/timer.S +++ b/build/timer.S @@ -136,10 +136,10 @@ tim4_start: .byte 0x4 .4byte .Ldebug_abbrev0 .uleb128 0x7 - .4byte .LASF958 + .4byte .LASF966 .byte 0x1d - .4byte .LASF959 - .4byte .LASF960 + .4byte .LASF967 + .4byte .LASF968 .4byte .LLRL0 .4byte 0 .4byte .Ldebug_line0 @@ -147,17 +147,17 @@ tim4_start: .uleb128 0x3 .byte 0x1 .byte 0x6 - .4byte .LASF906 + .4byte .LASF914 .uleb128 0x3 .byte 0x1 .byte 0x8 - .4byte .LASF907 + .4byte .LASF915 .uleb128 0x3 .byte 0x2 .byte 0x5 - .4byte .LASF908 + .4byte .LASF916 .uleb128 0x4 - .4byte .LASF911 + .4byte .LASF919 .byte 0x2 .byte 0x39 .byte 0x1c @@ -165,13 +165,13 @@ tim4_start: .uleb128 0x3 .byte 0x2 .byte 0x7 - .4byte .LASF909 + .4byte .LASF917 .uleb128 0x3 .byte 0x4 .byte 0x5 - .4byte .LASF910 + .4byte .LASF918 .uleb128 0x4 - .4byte .LASF912 + .4byte .LASF920 .byte 0x2 .byte 0x4f .byte 0x1b @@ -179,15 +179,15 @@ tim4_start: .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF913 + .4byte .LASF921 .uleb128 0x3 .byte 0x8 .byte 0x5 - .4byte .LASF914 + .4byte .LASF922 .uleb128 0x3 .byte 0x8 .byte 0x7 - .4byte .LASF915 + .4byte .LASF923 .uleb128 0x8 .byte 0x4 .byte 0x5 @@ -195,15 +195,15 @@ tim4_start: .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF916 + .4byte .LASF924 .uleb128 0x4 - .4byte .LASF917 + .4byte .LASF925 .byte 0x3 .byte 0x24 .byte 0x14 .4byte 0x3f .uleb128 0x4 - .4byte .LASF918 + .4byte .LASF926 .byte 0x3 .byte 0x30 .byte 0x14 @@ -224,13 +224,13 @@ tim4_start: .4byte 0xa0 .byte 0 .uleb128 0x1 - .4byte .LASF919 + .4byte .LASF927 .byte 0x4 .byte 0x8 .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF920 + .4byte .LASF928 .byte 0x4 .byte 0x9 .4byte 0xa0 @@ -242,115 +242,115 @@ tim4_start: .4byte 0xa0 .byte 0xc .uleb128 0x1 - .4byte .LASF921 + .4byte .LASF929 .byte 0x4 .byte 0xb .4byte 0xa0 .byte 0x10 .uleb128 0x1 - .4byte .LASF922 + .4byte .LASF930 .byte 0x4 .byte 0xc .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF923 + .4byte .LASF931 .byte 0x4 .byte 0xd .4byte 0x212 .byte 0x18 .uleb128 0x1 - .4byte .LASF924 + .4byte .LASF932 .byte 0x4 .byte 0xe .4byte 0xa0 .byte 0x20 .uleb128 0x1 - .4byte .LASF925 + .4byte .LASF933 .byte 0x4 .byte 0xf .4byte 0xa0 .byte 0x24 .uleb128 0x1 - .4byte .LASF926 + .4byte .LASF934 .byte 0x4 .byte 0x10 .4byte 0x212 .byte 0x28 .uleb128 0x1 - .4byte .LASF927 + .4byte .LASF935 .byte 0x4 .byte 0x11 .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF928 + .4byte .LASF936 .byte 0x4 .byte 0x12 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF929 + .4byte .LASF937 .byte 0x4 .byte 0x13 .4byte 0x212 .byte 0x38 .uleb128 0x1 - .4byte .LASF930 + .4byte .LASF938 .byte 0x4 .byte 0x14 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF931 + .4byte .LASF939 .byte 0x4 .byte 0x15 .4byte 0xa0 .byte 0x44 .uleb128 0x1 - .4byte .LASF932 + .4byte .LASF940 .byte 0x4 .byte 0x16 .4byte 0x212 .byte 0x48 .uleb128 0x1 - .4byte .LASF933 + .4byte .LASF941 .byte 0x4 .byte 0x17 .4byte 0xa0 .byte 0x50 .uleb128 0x1 - .4byte .LASF934 + .4byte .LASF942 .byte 0x4 .byte 0x18 .4byte 0xa0 .byte 0x54 .uleb128 0x1 - .4byte .LASF935 + .4byte .LASF943 .byte 0x4 .byte 0x19 .4byte 0x212 .byte 0x58 .uleb128 0x1 - .4byte .LASF936 + .4byte .LASF944 .byte 0x4 .byte 0x1a .4byte 0xa0 .byte 0x60 .uleb128 0x1 - .4byte .LASF937 + .4byte .LASF945 .byte 0x4 .byte 0x1b .4byte 0xa0 .byte 0x64 .uleb128 0x1 - .4byte .LASF938 + .4byte .LASF946 .byte 0x4 .byte 0x1c .4byte 0x212 .byte 0x68 .uleb128 0x1 - .4byte .LASF939 + .4byte .LASF947 .byte 0x4 .byte 0x1d .4byte 0xa0 @@ -362,25 +362,25 @@ tim4_start: .4byte 0xa0 .byte 0x74 .uleb128 0x1 - .4byte .LASF940 + .4byte .LASF948 .byte 0x4 .byte 0x1f .4byte 0x212 .byte 0x78 .uleb128 0x1 - .4byte .LASF941 + .4byte .LASF949 .byte 0x4 .byte 0x20 .4byte 0xa0 .byte 0x80 .uleb128 0x1 - .4byte .LASF942 + .4byte .LASF950 .byte 0x4 .byte 0x21 .4byte 0xa0 .byte 0x84 .uleb128 0x1 - .4byte .LASF943 + .4byte .LASF951 .byte 0x4 .byte 0x22 .4byte 0xa0 @@ -396,7 +396,7 @@ tim4_start: .uleb128 0x5 .4byte 0x202 .uleb128 0xc - .4byte .LASF944 + .4byte .LASF952 .byte 0x50 .byte 0x5 .byte 0x6 @@ -415,13 +415,13 @@ tim4_start: .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF945 + .4byte .LASF953 .byte 0x5 .byte 0x9 .4byte 0xa0 .byte 0x8 .uleb128 0x1 - .4byte .LASF946 + .4byte .LASF954 .byte 0x5 .byte 0xa .4byte 0xa0 @@ -439,19 +439,19 @@ tim4_start: .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF947 + .4byte .LASF955 .byte 0x5 .byte 0xd .4byte 0xa0 .byte 0x18 .uleb128 0x1 - .4byte .LASF948 + .4byte .LASF956 .byte 0x5 .byte 0xe .4byte 0xa0 .byte 0x1c .uleb128 0x1 - .4byte .LASF949 + .4byte .LASF957 .byte 0x5 .byte 0xf .4byte 0xa0 @@ -481,31 +481,31 @@ tim4_start: .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF950 + .4byte .LASF958 .byte 0x5 .byte 0x14 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF951 + .4byte .LASF959 .byte 0x5 .byte 0x15 .4byte 0xa0 .byte 0x38 .uleb128 0x1 - .4byte .LASF952 + .4byte .LASF960 .byte 0x5 .byte 0x16 .4byte 0xa0 .byte 0x3c .uleb128 0x1 - .4byte .LASF953 + .4byte .LASF961 .byte 0x5 .byte 0x17 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF954 + .4byte .LASF962 .byte 0x5 .byte 0x18 .4byte 0xa0 @@ -517,21 +517,21 @@ tim4_start: .4byte 0xa0 .byte 0x48 .uleb128 0x1 - .4byte .LASF955 + .4byte .LASF963 .byte 0x5 .byte 0x1a .4byte 0xa0 .byte 0x4c .byte 0 .uleb128 0x6 - .4byte .LASF956 + .4byte .LASF964 .byte 0x14 .4byte .LFB1 .4byte .LFE1-.LFB1 .uleb128 0x1 .byte 0x9c .uleb128 0x6 - .4byte .LASF957 + .4byte .LASF965 .byte 0x4 .4byte .LFB0 .4byte .LFE0-.LFB0 @@ -3501,7 +3501,7 @@ tim4_start: .uleb128 0x135 .4byte .LASF850 .byte 0 - .section .debug_macro,"G",%progbits,wm4.rcc.h.37.fc51eb78a9b2f3f5a4ab23580aa1aac2,comdat + .section .debug_macro,"G",%progbits,wm4.rcc.h.37.3d84d3b65eb54f3a031f4b28466e140e,comdat .Ldebug_macro14: .2byte 0x5 .byte 0 @@ -3602,59 +3602,83 @@ tim4_start: .uleb128 0x5c .4byte .LASF882 .byte 0x5 - .uleb128 0x5f + .uleb128 0x5e .4byte .LASF883 .byte 0x5 - .uleb128 0x60 + .uleb128 0x5f .4byte .LASF884 .byte 0x5 - .uleb128 0x63 + .uleb128 0x61 .4byte .LASF885 .byte 0x5 - .uleb128 0x65 + .uleb128 0x62 .4byte .LASF886 .byte 0x5 - .uleb128 0x66 + .uleb128 0x64 .4byte .LASF887 .byte 0x5 - .uleb128 0x69 + .uleb128 0x65 .4byte .LASF888 .byte 0x5 - .uleb128 0x6b + .uleb128 0x68 .4byte .LASF889 .byte 0x5 - .uleb128 0x6c + .uleb128 0x69 .4byte .LASF890 .byte 0x5 - .uleb128 0x6f + .uleb128 0x6c .4byte .LASF891 .byte 0x5 - .uleb128 0x71 + .uleb128 0x6d .4byte .LASF892 .byte 0x5 - .uleb128 0x72 + .uleb128 0x70 .4byte .LASF893 .byte 0x5 - .uleb128 0x73 + .uleb128 0x72 .4byte .LASF894 .byte 0x5 - .uleb128 0x76 + .uleb128 0x73 .4byte .LASF895 .byte 0x5 - .uleb128 0x77 + .uleb128 0x76 .4byte .LASF896 .byte 0x5 - .uleb128 0x79 + .uleb128 0x78 .4byte .LASF897 .byte 0x5 - .uleb128 0x7a + .uleb128 0x79 .4byte .LASF898 .byte 0x5 .uleb128 0x7c .4byte .LASF899 .byte 0x5 - .uleb128 0x7d + .uleb128 0x7e .4byte .LASF900 + .byte 0x5 + .uleb128 0x7f + .4byte .LASF901 + .byte 0x5 + .uleb128 0x80 + .4byte .LASF902 + .byte 0x5 + .uleb128 0x83 + .4byte .LASF903 + .byte 0x5 + .uleb128 0x84 + .4byte .LASF904 + .byte 0x5 + .uleb128 0x86 + .4byte .LASF905 + .byte 0x5 + .uleb128 0x87 + .4byte .LASF906 + .byte 0x5 + .uleb128 0x89 + .4byte .LASF907 + .byte 0x5 + .uleb128 0x8a + .4byte .LASF908 .byte 0 .section .debug_macro,"G",%progbits,wm4.timer.h.2.2e929ede818fb0960868f1b0a08a1cbf,comdat .Ldebug_macro15: @@ -3662,19 +3686,19 @@ tim4_start: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF901 + .4byte .LASF909 .byte 0x5 .uleb128 0x1d - .4byte .LASF902 + .4byte .LASF910 .byte 0x5 .uleb128 0x1e - .4byte .LASF903 + .4byte .LASF911 .byte 0x5 .uleb128 0x20 - .4byte .LASF904 + .4byte .LASF912 .byte 0x5 .uleb128 0x21 - .4byte .LASF905 + .4byte .LASF913 .byte 0 .section .debug_line,"",%progbits .Ldebug_line0: @@ -3689,7 +3713,7 @@ tim4_start: .ascii "__UHA_FBIT__ 8\000" .LASF815: .ascii "PRIiFAST64 __PRI64FAST(i)\000" -.LASF907: +.LASF915: .ascii "unsigned char\000" .LASF225: .ascii "__FLT64_DENORM_MIN__ 4.9406564584124654e-324F64\000" @@ -3733,9 +3757,11 @@ tim4_start: .ascii "__ULACCUM_FBIT__ 32\000" .LASF75: .ascii "__WCHAR_MAX__ 0xffffffffU\000" +.LASF886: + .ascii "RCC_CFGR_MCO1PRE_DIV2 (0b100)\000" .LASF514: .ascii "__int20__\000" -.LASF899: +.LASF907: .ascii "RCC_APB1ENR_TIM4_BIT 2\000" .LASF18: .ascii "__SIZEOF_LONG_LONG__ 8\000" @@ -3761,7 +3787,7 @@ tim4_start: .ascii "__ORDER_PDP_ENDIAN__ 3412\000" .LASF34: .ascii "__SIZE_TYPE__ unsigned int\000" -.LASF900: +.LASF908: .ascii "RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT)" .ascii "\000" .LASF621: @@ -3832,7 +3858,7 @@ tim4_start: .ascii "__SCNPTR(x) __STRINGIFY(x)\000" .LASF202: .ascii "__FLT32_MAX_10_EXP__ 38\000" -.LASF886: +.LASF894: .ascii "RCC_CFGR_HPRE_BIT 4\000" .LASF683: .ascii "SCNo8 __SCN8(o)\000" @@ -3848,7 +3874,7 @@ tim4_start: .ascii "__need_wchar_t\000" .LASF199: .ascii "__FLT32_MIN_EXP__ (-125)\000" -.LASF958: +.LASF966: .ascii "GNU C2X 12.3.1 20230626 -mcpu=cortex-m4 -mthumb -mf" .ascii "loat-abi=hard -mfpu=fpv4-sp-d16 -march=armv7e-m+fp " .ascii "-g3 -ggdb -O0 -std=c2x -ffunction-sections -fdata-s" @@ -3867,7 +3893,7 @@ tim4_start: .ascii "__int_fast32_t_defined 1\000" .LASF133: .ascii "__INT_FAST64_WIDTH__ 64\000" -.LASF955: +.LASF963: .ascii "DMAR\000" .LASF660: .ascii "___int_wchar_t_h \000" @@ -3879,6 +3905,8 @@ tim4_start: .ascii "INT16_C(x) __INT16_C(x)\000" .LASF250: .ascii "__SFRACT_EPSILON__ 0x1P-7HR\000" +.LASF884: + .ascii "RCC_CFGR_MCO1_MASK (0b11)\000" .LASF113: .ascii "__INT32_C(c) c ## L\000" .LASF27: @@ -3909,28 +3937,27 @@ tim4_start: .ascii "__PRI32LEAST(x) __LEAST32 __STRINGIFY(x)\000" .LASF88: .ascii "__PTRDIFF_WIDTH__ 32\000" -.LASF894: - .ascii "RCC_CFGR_SW(clock) ((clock & RCC_CFGR_SW_MASK) << R" - .ascii "CC_CFGR_SW_BIT)\000" +.LASF882: + .ascii "RCC_CFGR_MCO1_PLL (0b11)\000" .LASF134: .ascii "__UINT_FAST8_MAX__ 0xffffffffU\000" .LASF761: .ascii "SCNo32 __SCN32(o)\000" .LASF541: .ascii "_NOTHROW \000" -.LASF950: +.LASF958: .ascii "CCR1\000" -.LASF951: +.LASF959: .ascii "CCR2\000" -.LASF952: +.LASF960: .ascii "CCR3\000" -.LASF953: +.LASF961: .ascii "CCR4\000" .LASF307: .ascii "__LACCUM_IBIT__ 32\000" .LASF593: .ascii "INT_LEAST8_MAX (__INT_LEAST8_MAX__)\000" -.LASF888: +.LASF896: .ascii "RCC_CFGR_SWS_PLL (0b10)\000" .LASF560: .ascii "__EXP\000" @@ -3948,7 +3975,7 @@ tim4_start: .ascii "__INT64 \"ll\"\000" .LASF138: .ascii "__INTPTR_MAX__ 0x7fffffff\000" -.LASF934: +.LASF942: .ascii "AHB2LPENR\000" .LASF500: .ascii "__RAND_MAX\000" @@ -3958,7 +3985,7 @@ tim4_start: .ascii "INT_LEAST64_MIN (-__INT_LEAST64_MAX__ - 1)\000" .LASF614: .ascii "INT_FAST8_MAX (__INT_FAST8_MAX__)\000" -.LASF896: +.LASF904: .ascii "RCC_APB1ENR_PWREN_CLOCK_ENABLE (1 << RCC_APB1ENR_PW" .ascii "REN_BIT)\000" .LASF487: @@ -3991,7 +4018,7 @@ tim4_start: .ascii " RCC_PLLCFGR_PLLP_BIT)\000" .LASF302: .ascii "__UACCUM_IBIT__ 16\000" -.LASF910: +.LASF918: .ascii "long int\000" .LASF720: .ascii "SCNd16 __SCN16(d)\000" @@ -4032,7 +4059,7 @@ tim4_start: .ascii "INT_FAST64_MIN (-__INT_FAST64_MAX__ - 1)\000" .LASF371: .ascii "__GCC_ATOMIC_BOOL_LOCK_FREE 2\000" -.LASF893: +.LASF901: .ascii "RCC_CFGR_SW_MASK (0b11)\000" .LASF432: .ascii "__ARM_NEON__\000" @@ -4068,7 +4095,7 @@ tim4_start: .ascii "__SIZEOF_LONG__ 4\000" .LASF754: .ascii "PRIi32 __PRI32(i)\000" -.LASF931: +.LASF939: .ascii "APB2ENR\000" .LASF822: .ascii "SCNoFAST64 __SCN64FAST(o)\000" @@ -4082,7 +4109,7 @@ tim4_start: .ascii "__FLT32X_MIN_EXP__ (-1021)\000" .LASF816: .ascii "PRIoFAST64 __PRI64FAST(o)\000" -.LASF933: +.LASF941: .ascii "AHB1LPENR\000" .LASF406: .ascii "__ARM_FEATURE_SIMD32 1\000" @@ -4094,7 +4121,7 @@ tim4_start: .ascii "PRIoLEAST16 __PRI16LEAST(o)\000" .LASF459: .ascii "__NEWLIB__ 4\000" -.LASF943: +.LASF951: .ascii "DCKCFGR\000" .LASF721: .ascii "SCNi16 __SCN16(i)\000" @@ -4104,7 +4131,7 @@ tim4_start: .ascii "__FLT_DECIMAL_DIG__ 9\000" .LASF563: .ascii "_UINT8_T_DECLARED \000" -.LASF906: +.LASF914: .ascii "signed char\000" .LASF806: .ascii "PRIuLEAST64 __PRI64LEAST(u)\000" @@ -4138,23 +4165,23 @@ tim4_start: .ascii "__FLT64_MAX_10_EXP__ 308\000" .LASF874: .ascii "RCC_PLLCFGR_PLLN_MASK (0b111111111)\000" -.LASF959: +.LASF967: .ascii "src/timer.c\000" -.LASF926: +.LASF934: .ascii "RESERVED1\000" -.LASF929: +.LASF937: .ascii "RESERVED2\000" .LASF3: .ascii "__STDC_UTF_32__ 1\000" -.LASF935: +.LASF943: .ascii "RESERVED4\000" .LASF241: .ascii "__FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x\000" -.LASF940: +.LASF948: .ascii "RESERVED6\000" .LASF152: .ascii "__FLT_MAX_10_EXP__ 38\000" -.LASF883: +.LASF891: .ascii "RCC_CFGR_PPRE1_BIT 10\000" .LASF259: .ascii "__FRACT_MAX__ 0X7FFFP-15R\000" @@ -4168,9 +4195,9 @@ tim4_start: .ascii "_READ_WRITE_RETURN_TYPE int\000" .LASF772: .ascii "SCNoLEAST32 __SCN32LEAST(o)\000" -.LASF891: +.LASF899: .ascii "RCC_CFGR_SW_PLL (0b10)\000" -.LASF904: +.LASF912: .ascii "TIM_CR1_CEN_BIT 0\000" .LASF798: .ascii "SCNd64 __SCN64(d)\000" @@ -4190,15 +4217,15 @@ tim4_start: .ascii "__int_fast64_t_defined 1\000" .LASF838: .ascii "__PRIPTR(x) __STRINGIFY(x)\000" -.LASF917: +.LASF925: .ascii "uint16_t\000" .LASF417: .ascii "__thumb2__ 1\000" .LASF321: .ascii "__ULLACCUM_FBIT__ 32\000" -.LASF895: +.LASF903: .ascii "RCC_APB1ENR_PWREN_BIT 28\000" -.LASF898: +.LASF906: .ascii "RCC_APB1ENR_USART2EN_ENABLE (1 << RCC_APB1ENR_USART" .ascii "2EN_BIT)\000" .LASF366: @@ -4207,19 +4234,19 @@ tim4_start: .ascii "_SYS_FEATURES_H \000" .LASF813: .ascii "SCNxLEAST64 __SCN64LEAST(x)\000" -.LASF932: +.LASF940: .ascii "RESERVED3\000" .LASF22: .ascii "__SIZEOF_LONG_DOUBLE__ 8\000" -.LASF938: +.LASF946: .ascii "RESERVED5\000" -.LASF947: +.LASF955: .ascii "CCMR1\000" -.LASF948: +.LASF956: .ascii "CCMR2\000" .LASF36: .ascii "__WCHAR_TYPE__ unsigned int\000" -.LASF901: +.LASF909: .ascii "TIMER_H_ \000" .LASF470: .ascii "_MB_LEN_MAX 8\000" @@ -4237,7 +4264,7 @@ tim4_start: .ascii "__need_wchar_t \000" .LASF66: .ascii "__UINT_FAST64_TYPE__ long long unsigned int\000" -.LASF889: +.LASF897: .ascii "RCC_CFGR_SWS_BIT 2\000" .LASF156: .ascii "__FLT_MIN__ 1.1754943508222875e-38F\000" @@ -4263,9 +4290,9 @@ tim4_start: .ascii "__SCN64(x) __INT64 __STRINGIFY(x)\000" .LASF647: .ascii "_GCC_WRAP_STDINT_H \000" -.LASF911: +.LASF919: .ascii "__uint16_t\000" -.LASF928: +.LASF936: .ascii "AHB2ENR\000" .LASF805: .ascii "PRIoLEAST64 __PRI64LEAST(o)\000" @@ -4279,7 +4306,7 @@ tim4_start: .ascii "__UINT8_MAX__ 0xff\000" .LASF575: .ascii "_UINTMAX_T_DECLARED \000" -.LASF944: +.LASF952: .ascii "timer\000" .LASF184: .ascii "__LDBL_MAX_EXP__ 1024\000" @@ -4291,6 +4318,8 @@ tim4_start: .ascii "__int8_t_defined 1\000" .LASF176: .ascii "__DBL_HAS_DENORM__ 1\000" +.LASF881: + .ascii "RCC_CFGR_MCO1_HSE (0b10)\000" .LASF625: .ascii "INTMAX_MAX (__INTMAX_MAX__)\000" .LASF602: @@ -4305,7 +4334,7 @@ tim4_start: .ascii "__FLT_DENORM_MIN__ 1.4012984643248171e-45F\000" .LASF534: .ascii "__LEAST8 \"hh\"\000" -.LASF885: +.LASF893: .ascii "RCC_CFGR_HPRE_DIV_NONE 0\000" .LASF540: .ascii "_END_STD_C \000" @@ -4323,7 +4352,7 @@ tim4_start: .ascii "__FLT_EPSILON__ 1.1920928955078125e-7F\000" .LASF770: .ascii "SCNdLEAST32 __SCN32LEAST(d)\000" -.LASF923: +.LASF931: .ascii "RESERVED0\000" .LASF807: .ascii "PRIxLEAST64 __PRI64LEAST(x)\000" @@ -4361,7 +4390,7 @@ tim4_start: .ascii "__LACCUM_FBIT__ 31\000" .LASF689: .ascii "PRIuLEAST8 __PRI8LEAST(u)\000" -.LASF939: +.LASF947: .ascii "BDCR\000" .LASF211: .ascii "__FLT32_HAS_QUIET_NAN__ 1\000" @@ -4423,7 +4452,7 @@ tim4_start: .ascii "RCC_CR_HSERDY_READY (1 << RCC_CR_HSERDY_BIT)\000" .LASF763: .ascii "SCNx32 __SCN32(x)\000" -.LASF920: +.LASF928: .ascii "CFGR\000" .LASF558: .ascii "___int_least32_t_defined 1\000" @@ -4493,7 +4522,7 @@ tim4_start: .ascii "___int8_t_defined 1\000" .LASF248: .ascii "__SFRACT_MIN__ (-0.5HR-0.5HR)\000" -.LASF913: +.LASF921: .ascii "long unsigned int\000" .LASF349: .ascii "__SA_IBIT__ 16\000" @@ -4511,7 +4540,7 @@ tim4_start: .ascii "__UINT16_TYPE__ short unsigned int\000" .LASF868: .ascii "RCC_PLLCFGR_PLLSRC_BIT 22\000" -.LASF946: +.LASF954: .ascii "DIER\000" .LASF657: .ascii "_WCHAR_T_DEFINED_ \000" @@ -4569,7 +4598,7 @@ tim4_start: .ascii "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2\000" .LASF790: .ascii "__PRI64FAST(x) __FAST64 __STRINGIFY(x)\000" -.LASF892: +.LASF900: .ascii "RCC_CFGR_SW_BIT 0\000" .LASF168: .ascii "__DBL_MAX_EXP__ 1024\000" @@ -4615,11 +4644,11 @@ tim4_start: .ascii "PRIX32 __PRI32(X)\000" .LASF774: .ascii "SCNxLEAST32 __SCN32LEAST(x)\000" -.LASF956: +.LASF964: .ascii "tim4_start\000" .LASF704: .ascii "SCNiFAST8 __SCN8FAST(i)\000" -.LASF919: +.LASF927: .ascii "PLLCFGR\000" .LASF5: .ascii "__GNUC__ 12\000" @@ -4647,7 +4676,7 @@ tim4_start: .ascii "__ULACCUM_MIN__ 0.0ULK\000" .LASF462: .ascii "_ATEXIT_DYNAMIC_ALLOC 1\000" -.LASF912: +.LASF920: .ascii "__uint32_t\000" .LASF188: .ascii "__LDBL_MAX__ 1.7976931348623157e+308L\000" @@ -4657,7 +4686,7 @@ tim4_start: .ascii "__FLT_RADIX__ 2\000" .LASF455: .ascii "_INTTYPES_H \000" -.LASF914: +.LASF922: .ascii "long long int\000" .LASF401: .ascii "__ARM_FEATURE_CMSE\000" @@ -4677,7 +4706,7 @@ tim4_start: .ascii "WINT_MAX (__WINT_MAX__)\000" .LASF823: .ascii "SCNuFAST64 __SCN64FAST(u)\000" -.LASF941: +.LASF949: .ascii "SSCGR\000" .LASF137: .ascii "__UINT_FAST64_MAX__ 0xffffffffffffffffULL\000" @@ -4705,7 +4734,7 @@ tim4_start: .ascii "___int32_t_defined 1\000" .LASF83: .ascii "__INT_WIDTH__ 32\000" -.LASF925: +.LASF933: .ascii "APB2RSTR\000" .LASF409: .ascii "__ARM_ARCH_PROFILE\000" @@ -4757,9 +4786,9 @@ tim4_start: .ascii "__ARM_NEON_FP\000" .LASF280: .ascii "__LLFRACT_EPSILON__ 0x1P-63LLR\000" -.LASF937: +.LASF945: .ascii "APB2LPENR\000" -.LASF905: +.LASF913: .ascii "TIM_ENABLE (1 << TIM_CR1_CEN_BIT)\000" .LASF821: .ascii "SCNiFAST64 __SCN64FAST(i)\000" @@ -4767,7 +4796,7 @@ tim4_start: .ascii "_ANSIDECL_H_ \000" .LASF684: .ascii "SCNu8 __SCN8(u)\000" -.LASF902: +.LASF910: .ascii "TIM4_BASE_ADDR (0x40000800U)\000" .LASF261: .ascii "__UFRACT_FBIT__ 16\000" @@ -4787,7 +4816,7 @@ tim4_start: .ascii "L)\000" .LASF608: .ascii "INT64_MAX (__INT64_MAX__)\000" -.LASF916: +.LASF924: .ascii "unsigned int\000" .LASF857: .ascii "RCC_CR_HSERDY_BIT 17\000" @@ -4827,6 +4856,8 @@ tim4_start: .ascii "__INT_FAST8_WIDTH__ 32\000" .LASF2: .ascii "__STDC_UTF_16__ 1\000" +.LASF887: + .ascii "RCC_CFGR_MCO1PRE_BIT 24\000" .LASF402: .ascii "__ARM_FEATURE_LDREX\000" .LASF336: @@ -4873,7 +4904,7 @@ tim4_start: .ascii "__STRINGIFY(a) #a\000" .LASF356: .ascii "__USA_FBIT__ 16\000" -.LASF936: +.LASF944: .ascii "APB1LPENR\000" .LASF480: .ascii "__IEEE_LITTLE_ENDIAN \000" @@ -4981,9 +5012,11 @@ tim4_start: .ascii "SCNx64 __SCN64(x)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" -.LASF897: +.LASF885: + .ascii "RCC_CFGR_MCO1PRE_DIV4 (0b110)\000" +.LASF905: .ascii "RCC_APB1ENR_USART2EN_BIT 17\000" -.LASF884: +.LASF892: .ascii "RCC_CFGR_PPRE1_MASK (0b111)\000" .LASF646: .ascii "UINTMAX_C(x) __UINTMAX_C(x)\000" @@ -5001,16 +5034,18 @@ tim4_start: .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1\000" .LASF734: .ascii "SCNuLEAST16 __SCN16LEAST(u)\000" -.LASF924: +.LASF932: .ascii "APB1RSTR\000" .LASF298: .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" .LASF393: .ascii "__ARM_FEATURE_CRYPTO\000" -.LASF930: +.LASF938: .ascii "APB1ENR\000" .LASF742: .ascii "SCNdFAST16 __SCN16FAST(d)\000" +.LASF883: + .ascii "RCC_CFGR_MCO1_BIT 21\000" .LASF867: .ascii "RCC_PLLCFGR_PLLQ(q) ((q & RCC_PLLCFGR_PLLQ_MASK) <<" .ascii " RCC_PLLCFGR_PLLQ_BIT)\000" @@ -5037,13 +5072,13 @@ tim4_start: .ascii ")\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF915: +.LASF923: .ascii "long long unsigned int\000" .LASF612: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" .LASF150: .ascii "__FLT_MIN_10_EXP__ (-37)\000" -.LASF890: +.LASF898: .ascii "RCC_CFGR_SWS_MASK (0b11)\000" .LASF312: .ascii "__ULACCUM_IBIT__ 32\000" @@ -5084,7 +5119,7 @@ tim4_start: .ascii "__UINT_LEAST16_TYPE__ short unsigned int\000" .LASF574: .ascii "_INTMAX_T_DECLARED \000" -.LASF949: +.LASF957: .ascii "CCER\000" .LASF40: .ascii "__CHAR16_TYPE__ short unsigned int\000" @@ -5130,6 +5165,8 @@ tim4_start: .ascii "SIZE_MAX (__SIZE_MAX__)\000" .LASF333: .ascii "__DQ_IBIT__ 0\000" +.LASF888: + .ascii "RCC_CFGR_MCO1PRE_MASK (0b111)\000" .LASF450: .ascii "__ARM_BF16_FORMAT_ALTERNATIVE\000" .LASF45: @@ -5140,7 +5177,7 @@ tim4_start: .ascii "__int20__ +2\000" .LASF655: .ascii "_WCHAR_T_ \000" -.LASF945: +.LASF953: .ascii "SMCR\000" .LASF829: .ascii "PRIoMAX __PRIMAX(o)\000" @@ -5210,7 +5247,7 @@ tim4_start: .ascii "__ARM_ARCH_7EM__ 1\000" .LASF428: .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" -.LASF927: +.LASF935: .ascii "AHB1ENR\000" .LASF295: .ascii "__USACCUM_EPSILON__ 0x1P-8UHK\000" @@ -5250,11 +5287,11 @@ tim4_start: .ascii "__DBL_DIG__ 15\000" .LASF275: .ascii "__ULFRACT_EPSILON__ 0x1P-32ULR\000" -.LASF922: +.LASF930: .ascii "AHB2RSTR\000" .LASF672: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" -.LASF882: +.LASF890: .ascii "RCC_CFGR_PPRE2_MASK (0b111)\000" .LASF23: .ascii "__SIZEOF_SIZE_T__ 4\000" @@ -5280,7 +5317,7 @@ tim4_start: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF908: +.LASF916: .ascii "short int\000" .LASF836: .ascii "SCNuMAX __SCNMAX(u)\000" @@ -5306,7 +5343,7 @@ tim4_start: .ascii "__ARM_FEATURE_COPROC\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" -.LASF903: +.LASF911: .ascii "TIM4 ((struct timer *) TIM4_BASE_ADDR)\000" .LASF95: .ascii "__SIG_ATOMIC_MAX__ 0x7fffffff\000" @@ -5372,7 +5409,7 @@ tim4_start: .ascii "PRIdMAX __PRIMAX(d)\000" .LASF388: .ascii "__SIZEOF_WINT_T__ 4\000" -.LASF881: +.LASF889: .ascii "RCC_CFGR_PPRE2_BIT 13\000" .LASF783: .ascii "SCNoFAST32 __SCN32FAST(o)\000" @@ -5384,6 +5421,9 @@ tim4_start: .ascii "__LDBL_DECIMAL_DIG__ 17\000" .LASF702: .ascii "PRIXFAST8 __PRI8FAST(X)\000" +.LASF902: + .ascii "RCC_CFGR_SW(clock) ((clock & RCC_CFGR_SW_MASK) << R" + .ascii "CC_CFGR_SW_BIT)\000" .LASF308: .ascii "__LACCUM_MIN__ (-0X1P31LK-0X1P31LK)\000" .LASF785: @@ -5424,13 +5464,13 @@ tim4_start: .ascii "__ULLFRACT_MIN__ 0.0ULLR\000" .LASF652: .ascii "_T_WCHAR_ \000" -.LASF954: +.LASF962: .ascii "BDTR\000" .LASF382: .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" .LASF665: .ascii "_BSD_WCHAR_T_\000" -.LASF942: +.LASF950: .ascii "PLLI2SCFGR\000" .LASF277: .ascii "__LLFRACT_IBIT__ 0\000" @@ -5438,9 +5478,9 @@ tim4_start: .ascii "UINT16_C(x) __UINT16_C(x)\000" .LASF757: .ascii "PRIx32 __PRI32(x)\000" -.LASF957: +.LASF965: .ascii "tim4_init\000" -.LASF918: +.LASF926: .ascii "uint32_t\000" .LASF873: .ascii "RCC_PLLCFGR_PLLN_BIT 6\000" @@ -5500,7 +5540,7 @@ tim4_start: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF909: +.LASF917: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -5540,7 +5580,7 @@ tim4_start: .ascii "SCNuFAST32 __SCN32FAST(u)\000" .LASF523: .ascii "long +4\000" -.LASF921: +.LASF929: .ascii "AHB1RSTR\000" .LASF724: .ascii "SCNx16 __SCN16(x)\000" @@ -5550,7 +5590,7 @@ tim4_start: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF340: .ascii "__USQ_FBIT__ 32\000" -.LASF960: +.LASF968: .ascii "/home/alex/code/own/stm32-falling-sand\000" .LASF797: .ascii "PRIX64 __PRI64(X)\000" @@ -5602,7 +5642,7 @@ tim4_start: .ascii "__DBL_MANT_DIG__ 53\000" .LASF272: .ascii "__ULFRACT_IBIT__ 0\000" -.LASF887: +.LASF895: .ascii "RCC_CFGR_HPRE_MASK (0b1111)\000" .LASF72: .ascii "__INT_MAX__ 0x7fffffff\000" diff --git a/build/timer.i b/build/timer.i index a36d58e..cf7ccc7 100644 --- a/build/timer.i +++ b/build/timer.i @@ -2055,6 +2055,19 @@ struct rcc { #define RCC_CFGR_PPRE_DIV_2 (0b100) +#define RCC_CFGR_MCO1_HSE (0b10) +#define RCC_CFGR_MCO1_PLL (0b11) + +#define RCC_CFGR_MCO1_BIT 21 +#define RCC_CFGR_MCO1_MASK (0b11) + +#define RCC_CFGR_MCO1PRE_DIV4 (0b110) +#define RCC_CFGR_MCO1PRE_DIV2 (0b100) + +#define RCC_CFGR_MCO1PRE_BIT 24 +#define RCC_CFGR_MCO1PRE_MASK (0b111) + + #define RCC_CFGR_PPRE2_BIT 13 #define RCC_CFGR_PPRE2_MASK (0b111) diff --git a/build/timer.o b/build/timer.o index 2c88b0890366e9ec9bc623b2f63506c3cd07a4fe..841bd5a59a79ad3d50464be80c41a01f0026a57a 100644 GIT binary patch delta 7137 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 delta 6851 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 H{)6NIEDLKO diff --git a/build/usart.S b/build/usart.S index a6b6c96..94112f7 100644 --- a/build/usart.S +++ b/build/usart.S @@ -71,71 +71,71 @@ usart2_init: movs r1, #7 mov r0, r3 bl gpio_set_af - .loc 1 20 33 + .loc 1 29 33 ldr r3, .L2 ldr r3, [r3, #64] ldr r2, .L2 - .loc 1 20 43 + .loc 1 29 43 orr r3, r3, #131072 str r3, [r2, #64] - .loc 1 23 35 + .loc 1 32 35 ldr r3, .L2+4 - .loc 1 23 41 + .loc 1 32 41 movs r2, #0 str r2, [r3, #12] - .loc 1 24 35 + .loc 1 33 35 ldr r3, .L2+4 - .loc 1 24 41 + .loc 1 33 41 movs r2, #0 str r2, [r3, #16] - .loc 1 25 35 + .loc 1 34 35 ldr r3, .L2+4 - .loc 1 25 41 + .loc 1 34 41 movs r2, #0 str r2, [r3, #20] - .loc 1 43 35 + .loc 1 52 35 ldr r3, .L2+4 ldr r3, [r3, #8] ldr r2, .L2+4 - .loc 1 43 41 + .loc 1 52 41 bic r3, r3, #65280 bic r3, r3, #240 str r3, [r2, #8] - .loc 1 44 35 + .loc 1 53 35 ldr r3, .L2+4 ldr r3, [r3, #8] ldr r2, .L2+4 - .loc 1 44 41 + .loc 1 53 41 orr r3, r3, #416 str r3, [r2, #8] - .loc 1 45 35 + .loc 1 54 35 ldr r3, .L2+4 ldr r3, [r3, #8] ldr r2, .L2+4 - .loc 1 45 41 + .loc 1 54 41 bic r3, r3, #7 str r3, [r2, #8] - .loc 1 46 35 + .loc 1 55 35 ldr r3, .L2+4 ldr r2, .L2+4 ldr r3, [r3, #8] - .loc 1 46 41 + .loc 1 55 41 str r3, [r2, #8] - .loc 1 49 35 + .loc 1 58 35 ldr r3, .L2+4 ldr r3, [r3, #12] ldr r2, .L2+4 - .loc 1 49 41 + .loc 1 58 41 orr r3, r3, #8 str r3, [r2, #12] - .loc 1 50 35 + .loc 1 59 35 ldr r3, .L2+4 ldr r3, [r3, #12] ldr r2, .L2+4 - .loc 1 50 41 + .loc 1 59 41 orr r3, r3, #4 str r3, [r2, #12] - .loc 1 51 1 + .loc 1 60 1 nop adds r7, r7, #8 .cfi_def_cfa_offset 8 @@ -160,7 +160,7 @@ usart2_init: .type usart2_start, %function usart2_start: .LFB1: - .loc 1 53 25 + .loc 1 62 25 .cfi_startproc @ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, uses_anonymous_args = 0 @@ -170,14 +170,14 @@ usart2_start: .cfi_offset 7, -4 add r7, sp, #0 .cfi_def_cfa_register 7 - .loc 1 54 35 + .loc 1 63 35 ldr r3, .L5 ldr r3, [r3, #12] ldr r2, .L5 - .loc 1 54 41 + .loc 1 63 41 orr r3, r3, #8192 str r3, [r2, #12] - .loc 1 55 1 + .loc 1 64 1 nop mov sp, r7 .cfi_def_cfa_register 13 @@ -202,7 +202,7 @@ usart2_start: .type usart2_write_byte, %function usart2_write_byte: .LFB2: - .loc 1 57 35 + .loc 1 66 35 .cfi_startproc @ args = 0, pretend = 0, frame = 8 @ frame_needed = 1, uses_anonymous_args = 0 @@ -216,23 +216,23 @@ usart2_write_byte: .cfi_def_cfa_register 7 mov r3, r0 strb r3, [r7, #7] - .loc 1 58 35 + .loc 1 67 35 ldr r2, .L9 - .loc 1 58 40 + .loc 1 67 40 ldrb r3, [r7, #7] @ zero_extendqisi2 str r3, [r2, #4] - .loc 1 61 9 + .loc 1 70 9 nop .L8: - .loc 1 61 44 discriminator 1 + .loc 1 70 44 discriminator 1 ldr r3, .L9 ldr r3, [r3] - .loc 1 61 49 discriminator 1 + .loc 1 70 49 discriminator 1 and r3, r3, #64 - .loc 1 61 10 discriminator 1 + .loc 1 70 10 discriminator 1 cmp r3, #0 beq .L8 - .loc 1 62 1 + .loc 1 71 1 nop nop adds r7, r7, #12 @@ -260,7 +260,7 @@ usart2_write_byte: .type usart2_write, %function usart2_write: .LFB3: - .loc 1 64 30 + .loc 1 73 30 .cfi_startproc @ args = 0, pretend = 0, frame = 8 @ frame_needed = 1, uses_anonymous_args = 0 @@ -273,24 +273,24 @@ usart2_write: add r7, sp, #0 .cfi_def_cfa_register 7 str r0, [r7, #4] - .loc 1 65 9 + .loc 1 74 9 b .L12 .L13: - .loc 1 65 38 discriminator 2 + .loc 1 74 38 discriminator 2 ldr r3, [r7, #4] adds r2, r3, #1 str r2, [r7, #4] - .loc 1 65 16 discriminator 2 + .loc 1 74 16 discriminator 2 ldrb r3, [r3] @ zero_extendqisi2 mov r0, r3 bl usart2_write_byte .L12: - .loc 1 65 10 discriminator 1 + .loc 1 74 10 discriminator 1 ldr r3, [r7, #4] ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 bne .L13 - .loc 1 66 1 + .loc 1 75 1 nop nop adds r7, r7, #8 @@ -317,10 +317,10 @@ usart2_write: .byte 0x4 .4byte .Ldebug_abbrev0 .uleb128 0xb - .4byte .LASF984 + .4byte .LASF993 .byte 0x1d - .4byte .LASF985 - .4byte .LASF986 + .4byte .LASF994 + .4byte .LASF995 .4byte .LLRL0 .4byte 0 .4byte .Ldebug_line0 @@ -328,9 +328,9 @@ usart2_write: .uleb128 0x2 .byte 0x1 .byte 0x6 - .4byte .LASF931 + .4byte .LASF940 .uleb128 0x4 - .4byte .LASF934 + .4byte .LASF943 .byte 0x2 .byte 0x2b .byte 0x17 @@ -338,13 +338,13 @@ usart2_write: .uleb128 0x2 .byte 0x1 .byte 0x8 - .4byte .LASF932 + .4byte .LASF941 .uleb128 0x2 .byte 0x2 .byte 0x5 - .4byte .LASF933 + .4byte .LASF942 .uleb128 0x4 - .4byte .LASF935 + .4byte .LASF944 .byte 0x2 .byte 0x39 .byte 0x1c @@ -352,13 +352,13 @@ usart2_write: .uleb128 0x2 .byte 0x2 .byte 0x7 - .4byte .LASF936 + .4byte .LASF945 .uleb128 0x2 .byte 0x4 .byte 0x5 - .4byte .LASF937 + .4byte .LASF946 .uleb128 0x4 - .4byte .LASF938 + .4byte .LASF947 .byte 0x2 .byte 0x4f .byte 0x1b @@ -366,15 +366,15 @@ usart2_write: .uleb128 0x2 .byte 0x4 .byte 0x7 - .4byte .LASF939 + .4byte .LASF948 .uleb128 0x2 .byte 0x8 .byte 0x5 - .4byte .LASF940 + .4byte .LASF949 .uleb128 0x2 .byte 0x8 .byte 0x7 - .4byte .LASF941 + .4byte .LASF950 .uleb128 0xc .byte 0x4 .byte 0x5 @@ -382,21 +382,21 @@ usart2_write: .uleb128 0x2 .byte 0x4 .byte 0x7 - .4byte .LASF942 + .4byte .LASF951 .uleb128 0x4 - .4byte .LASF943 + .4byte .LASF952 .byte 0x3 .byte 0x18 .byte 0x13 .4byte 0x31 .uleb128 0x4 - .4byte .LASF944 + .4byte .LASF953 .byte 0x3 .byte 0x24 .byte 0x14 .4byte 0x4b .uleb128 0x4 - .4byte .LASF945 + .4byte .LASF954 .byte 0x3 .byte 0x30 .byte 0x14 @@ -417,13 +417,13 @@ usart2_write: .4byte 0xb8 .byte 0 .uleb128 0x1 - .4byte .LASF946 + .4byte .LASF955 .byte 0x4 .byte 0x8 .4byte 0xb8 .byte 0x4 .uleb128 0x1 - .4byte .LASF947 + .4byte .LASF956 .byte 0x4 .byte 0x9 .4byte 0xb8 @@ -435,115 +435,115 @@ usart2_write: .4byte 0xb8 .byte 0xc .uleb128 0x1 - .4byte .LASF948 + .4byte .LASF957 .byte 0x4 .byte 0xb .4byte 0xb8 .byte 0x10 .uleb128 0x1 - .4byte .LASF949 + .4byte .LASF958 .byte 0x4 .byte 0xc .4byte 0xb8 .byte 0x14 .uleb128 0x1 - .4byte .LASF950 + .4byte .LASF959 .byte 0x4 .byte 0xd .4byte 0x22a .byte 0x18 .uleb128 0x1 - .4byte .LASF951 + .4byte .LASF960 .byte 0x4 .byte 0xe .4byte 0xb8 .byte 0x20 .uleb128 0x1 - .4byte .LASF952 + .4byte .LASF961 .byte 0x4 .byte 0xf .4byte 0xb8 .byte 0x24 .uleb128 0x1 - .4byte .LASF953 + .4byte .LASF962 .byte 0x4 .byte 0x10 .4byte 0x22a .byte 0x28 .uleb128 0x1 - .4byte .LASF954 + .4byte .LASF963 .byte 0x4 .byte 0x11 .4byte 0xb8 .byte 0x30 .uleb128 0x1 - .4byte .LASF955 + .4byte .LASF964 .byte 0x4 .byte 0x12 .4byte 0xb8 .byte 0x34 .uleb128 0x1 - .4byte .LASF956 + .4byte .LASF965 .byte 0x4 .byte 0x13 .4byte 0x22a .byte 0x38 .uleb128 0x1 - .4byte .LASF957 + .4byte .LASF966 .byte 0x4 .byte 0x14 .4byte 0xb8 .byte 0x40 .uleb128 0x1 - .4byte .LASF958 + .4byte .LASF967 .byte 0x4 .byte 0x15 .4byte 0xb8 .byte 0x44 .uleb128 0x1 - .4byte .LASF959 + .4byte .LASF968 .byte 0x4 .byte 0x16 .4byte 0x22a .byte 0x48 .uleb128 0x1 - .4byte .LASF960 + .4byte .LASF969 .byte 0x4 .byte 0x17 .4byte 0xb8 .byte 0x50 .uleb128 0x1 - .4byte .LASF961 + .4byte .LASF970 .byte 0x4 .byte 0x18 .4byte 0xb8 .byte 0x54 .uleb128 0x1 - .4byte .LASF962 + .4byte .LASF971 .byte 0x4 .byte 0x19 .4byte 0x22a .byte 0x58 .uleb128 0x1 - .4byte .LASF963 + .4byte .LASF972 .byte 0x4 .byte 0x1a .4byte 0xb8 .byte 0x60 .uleb128 0x1 - .4byte .LASF964 + .4byte .LASF973 .byte 0x4 .byte 0x1b .4byte 0xb8 .byte 0x64 .uleb128 0x1 - .4byte .LASF965 + .4byte .LASF974 .byte 0x4 .byte 0x1c .4byte 0x22a .byte 0x68 .uleb128 0x1 - .4byte .LASF966 + .4byte .LASF975 .byte 0x4 .byte 0x1d .4byte 0xb8 @@ -555,25 +555,25 @@ usart2_write: .4byte 0xb8 .byte 0x74 .uleb128 0x1 - .4byte .LASF967 + .4byte .LASF976 .byte 0x4 .byte 0x1f .4byte 0x22a .byte 0x78 .uleb128 0x1 - .4byte .LASF968 + .4byte .LASF977 .byte 0x4 .byte 0x20 .4byte 0xb8 .byte 0x80 .uleb128 0x1 - .4byte .LASF969 + .4byte .LASF978 .byte 0x4 .byte 0x21 .4byte 0xb8 .byte 0x84 .uleb128 0x1 - .4byte .LASF970 + .4byte .LASF979 .byte 0x4 .byte 0x22 .4byte 0xb8 @@ -593,30 +593,30 @@ usart2_write: .byte 0x1 .4byte 0x3d .byte 0x5 - .byte 0x25 + .byte 0x26 .byte 0xe .4byte 0x256 .uleb128 0x5 - .4byte .LASF971 + .4byte .LASF980 .byte 0 .uleb128 0x5 - .4byte .LASF972 + .4byte .LASF981 .byte 0x1 .uleb128 0x5 - .4byte .LASF973 + .4byte .LASF982 .byte 0x2 .uleb128 0x5 - .4byte .LASF974 + .4byte .LASF983 .byte 0x3 .byte 0 .uleb128 0x4 - .4byte .LASF975 + .4byte .LASF984 .byte 0x5 - .byte 0x2a + .byte 0x2b .byte 0x3 .4byte 0x22f .uleb128 0x11 - .4byte .LASF976 + .4byte .LASF985 .byte 0x1c .byte 0x6 .byte 0x6 @@ -659,15 +659,15 @@ usart2_write: .4byte 0xb8 .byte 0x14 .uleb128 0x1 - .4byte .LASF977 + .4byte .LASF986 .byte 0x6 .byte 0xd .4byte 0xb8 .byte 0x18 .byte 0 .uleb128 0x8 - .4byte .LASF978 - .byte 0x2d + .4byte .LASF987 + .byte 0x2e .4byte 0x2d7 .uleb128 0x6 .4byte 0xa0 @@ -675,8 +675,8 @@ usart2_write: .4byte 0x94 .byte 0 .uleb128 0x8 - .4byte .LASF979 - .byte 0x2c + .4byte .LASF988 + .byte 0x2d .4byte 0x2ec .uleb128 0x6 .4byte 0xa0 @@ -684,9 +684,9 @@ usart2_write: .4byte 0x256 .byte 0 .uleb128 0x12 - .4byte .LASF980 + .4byte .LASF989 .byte 0x1 - .byte 0x40 + .byte 0x49 .byte 0x6 .4byte .LFB3 .4byte .LFE3-.LFB3 @@ -695,7 +695,7 @@ usart2_write: .4byte 0x311 .uleb128 0x9 .ascii "buf\000" - .byte 0x40 + .byte 0x49 .byte 0x19 .4byte 0x311 .uleb128 0x2 @@ -710,9 +710,9 @@ usart2_write: .byte 0x8 .4byte .LASF511 .uleb128 0x14 - .4byte .LASF981 + .4byte .LASF990 .byte 0x1 - .byte 0x39 + .byte 0x42 .byte 0x6 .4byte .LFB2 .4byte .LFE2-.LFB2 @@ -721,7 +721,7 @@ usart2_write: .4byte 0x341 .uleb128 0x9 .ascii "c\000" - .byte 0x39 + .byte 0x42 .byte 0x20 .4byte 0x94 .uleb128 0x2 @@ -729,16 +729,16 @@ usart2_write: .sleb128 -9 .byte 0 .uleb128 0x15 - .4byte .LASF987 + .4byte .LASF996 .byte 0x1 - .byte 0x35 + .byte 0x3e .byte 0x6 .4byte .LFB1 .4byte .LFE1-.LFB1 .uleb128 0x1 .byte 0x9c .uleb128 0x16 - .4byte .LASF988 + .4byte .LASF997 .byte 0x1 .byte 0x5 .byte 0x6 @@ -747,14 +747,14 @@ usart2_write: .uleb128 0x1 .byte 0x9c .uleb128 0xa - .4byte .LASF982 + .4byte .LASF991 .byte 0xa .4byte 0xa0 .uleb128 0x2 .byte 0x91 .sleb128 -10 .uleb128 0xa - .4byte .LASF983 + .4byte .LASF992 .byte 0xe .4byte 0xa0 .uleb128 0x2 @@ -2656,7 +2656,7 @@ usart2_write: .uleb128 0x5 .byte 0x5 .uleb128 0x2 - .4byte .LASF901 + .4byte .LASF909 .file 18 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" .byte 0x3 .uleb128 0x4 @@ -3932,7 +3932,7 @@ usart2_write: .uleb128 0x135 .4byte .LASF850 .byte 0 - .section .debug_macro,"G",%progbits,wm4.rcc.h.37.fc51eb78a9b2f3f5a4ab23580aa1aac2,comdat + .section .debug_macro,"G",%progbits,wm4.rcc.h.37.3d84d3b65eb54f3a031f4b28466e140e,comdat .Ldebug_macro14: .2byte 0x5 .byte 0 @@ -4033,59 +4033,83 @@ usart2_write: .uleb128 0x5c .4byte .LASF882 .byte 0x5 - .uleb128 0x5f + .uleb128 0x5e .4byte .LASF883 .byte 0x5 - .uleb128 0x60 + .uleb128 0x5f .4byte .LASF884 .byte 0x5 - .uleb128 0x63 + .uleb128 0x61 .4byte .LASF885 .byte 0x5 - .uleb128 0x65 + .uleb128 0x62 .4byte .LASF886 .byte 0x5 - .uleb128 0x66 + .uleb128 0x64 .4byte .LASF887 .byte 0x5 - .uleb128 0x69 + .uleb128 0x65 .4byte .LASF888 .byte 0x5 - .uleb128 0x6b + .uleb128 0x68 .4byte .LASF889 .byte 0x5 - .uleb128 0x6c + .uleb128 0x69 .4byte .LASF890 .byte 0x5 - .uleb128 0x6f + .uleb128 0x6c .4byte .LASF891 .byte 0x5 - .uleb128 0x71 + .uleb128 0x6d .4byte .LASF892 .byte 0x5 - .uleb128 0x72 + .uleb128 0x70 .4byte .LASF893 .byte 0x5 - .uleb128 0x73 + .uleb128 0x72 .4byte .LASF894 .byte 0x5 - .uleb128 0x76 + .uleb128 0x73 .4byte .LASF895 .byte 0x5 - .uleb128 0x77 + .uleb128 0x76 .4byte .LASF896 .byte 0x5 - .uleb128 0x79 + .uleb128 0x78 .4byte .LASF897 .byte 0x5 - .uleb128 0x7a + .uleb128 0x79 .4byte .LASF898 .byte 0x5 .uleb128 0x7c .4byte .LASF899 .byte 0x5 - .uleb128 0x7d + .uleb128 0x7e .4byte .LASF900 + .byte 0x5 + .uleb128 0x7f + .4byte .LASF901 + .byte 0x5 + .uleb128 0x80 + .4byte .LASF902 + .byte 0x5 + .uleb128 0x83 + .4byte .LASF903 + .byte 0x5 + .uleb128 0x84 + .4byte .LASF904 + .byte 0x5 + .uleb128 0x86 + .4byte .LASF905 + .byte 0x5 + .uleb128 0x87 + .4byte .LASF906 + .byte 0x5 + .uleb128 0x89 + .4byte .LASF907 + .byte 0x5 + .uleb128 0x8a + .4byte .LASF908 .byte 0 .section .debug_macro,"G",%progbits,wm4.stdbool.h.29.eb124ecb79face0a1d832a352bec45e0,comdat .Ldebug_macro15: @@ -4093,51 +4117,54 @@ usart2_write: .byte 0 .byte 0x5 .uleb128 0x1d - .4byte .LASF902 + .4byte .LASF910 .byte 0x5 .uleb128 0x21 - .4byte .LASF903 + .4byte .LASF911 .byte 0x5 .uleb128 0x23 - .4byte .LASF904 + .4byte .LASF912 .byte 0x5 .uleb128 0x24 - .4byte .LASF905 + .4byte .LASF913 .byte 0x5 .uleb128 0x32 - .4byte .LASF906 + .4byte .LASF914 .byte 0 - .section .debug_macro,"G",%progbits,wm4.gpio.h.21.e1d894a99a4e20e5ed6ffc90fcb5e1e3,comdat + .section .debug_macro,"G",%progbits,wm4.gpio.h.21.3348067d9334353ab1797d9b1fa5e257,comdat .Ldebug_macro16: .2byte 0x5 .byte 0 .byte 0x5 .uleb128 0x15 - .4byte .LASF907 + .4byte .LASF915 .byte 0x5 .uleb128 0x16 - .4byte .LASF908 + .4byte .LASF916 .byte 0x5 - .uleb128 0x18 - .4byte .LASF909 + .uleb128 0x17 + .4byte .LASF917 .byte 0x5 .uleb128 0x19 - .4byte .LASF910 + .4byte .LASF918 .byte 0x5 .uleb128 0x1a - .4byte .LASF911 + .4byte .LASF919 .byte 0x5 - .uleb128 0x1d - .4byte .LASF912 + .uleb128 0x1b + .4byte .LASF920 .byte 0x5 - .uleb128 0x1f - .4byte .LASF913 + .uleb128 0x1e + .4byte .LASF921 .byte 0x5 - .uleb128 0x21 - .4byte .LASF914 + .uleb128 0x20 + .4byte .LASF922 .byte 0x5 - .uleb128 0x23 - .4byte .LASF915 + .uleb128 0x22 + .4byte .LASF923 + .byte 0x5 + .uleb128 0x24 + .4byte .LASF924 .byte 0 .section .debug_macro,"G",%progbits,wm4.usart.h.2.41f911260774cb69712a09f3470bfff3,comdat .Ldebug_macro17: @@ -4145,49 +4172,49 @@ usart2_write: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF916 - .byte 0x5 - .uleb128 0x10 - .4byte .LASF917 - .byte 0x5 - .uleb128 0x11 - .4byte .LASF918 - .byte 0x5 - .uleb128 0x15 - .4byte .LASF919 - .byte 0x5 - .uleb128 0x16 - .4byte .LASF920 - .byte 0x5 - .uleb128 0x1a - .4byte .LASF921 - .byte 0x5 - .uleb128 0x1b - .4byte .LASF922 - .byte 0x5 - .uleb128 0x1e - .4byte .LASF923 - .byte 0x5 - .uleb128 0x1f - .4byte .LASF924 - .byte 0x5 - .uleb128 0x22 .4byte .LASF925 .byte 0x5 - .uleb128 0x23 + .uleb128 0x10 .4byte .LASF926 .byte 0x5 - .uleb128 0x26 + .uleb128 0x11 .4byte .LASF927 .byte 0x5 - .uleb128 0x27 + .uleb128 0x15 .4byte .LASF928 .byte 0x5 - .uleb128 0x29 + .uleb128 0x16 .4byte .LASF929 .byte 0x5 - .uleb128 0x2a + .uleb128 0x1a .4byte .LASF930 + .byte 0x5 + .uleb128 0x1b + .4byte .LASF931 + .byte 0x5 + .uleb128 0x1e + .4byte .LASF932 + .byte 0x5 + .uleb128 0x1f + .4byte .LASF933 + .byte 0x5 + .uleb128 0x22 + .4byte .LASF934 + .byte 0x5 + .uleb128 0x23 + .4byte .LASF935 + .byte 0x5 + .uleb128 0x26 + .4byte .LASF936 + .byte 0x5 + .uleb128 0x27 + .4byte .LASF937 + .byte 0x5 + .uleb128 0x29 + .4byte .LASF938 + .byte 0x5 + .uleb128 0x2a + .4byte .LASF939 .byte 0 .section .debug_line,"",%progbits .Ldebug_line0: @@ -4202,7 +4229,7 @@ usart2_write: .ascii "__UHA_FBIT__ 8\000" .LASF815: .ascii "PRIiFAST64 __PRI64FAST(i)\000" -.LASF932: +.LASF941: .ascii "unsigned char\000" .LASF225: .ascii "__FLT64_DENORM_MIN__ 4.9406564584124654e-324F64\000" @@ -4236,7 +4263,7 @@ usart2_write: .ascii "__WINT_MIN__ 0U\000" .LASF90: .ascii "__INTMAX_MAX__ 0x7fffffffffffffffLL\000" -.LASF973: +.LASF982: .ascii "GPIO_MODE_AF\000" .LASF335: .ascii "__TQ_IBIT__ 0\000" @@ -4248,11 +4275,13 @@ usart2_write: .ascii "__ULACCUM_FBIT__ 32\000" .LASF75: .ascii "__WCHAR_MAX__ 0xffffffffU\000" +.LASF886: + .ascii "RCC_CFGR_MCO1PRE_DIV2 (0b100)\000" .LASF514: .ascii "__int20__\000" -.LASF899: +.LASF907: .ascii "RCC_APB1ENR_TIM4_BIT 2\000" -.LASF930: +.LASF939: .ascii "USART_BRR_FRACTION_MASK (0b111)\000" .LASF18: .ascii "__SIZEOF_LONG_LONG__ 8\000" @@ -4270,7 +4299,7 @@ usart2_write: .ascii "__SFRACT_FBIT__ 7\000" .LASF94: .ascii "__INTMAX_WIDTH__ 64\000" -.LASF916: +.LASF925: .ascii "USART_H_ \000" .LASF448: .ascii "__ARM_FEATURE_BF16_SCALAR_ARITHMETIC\000" @@ -4280,7 +4309,7 @@ usart2_write: .ascii "__ORDER_PDP_ENDIAN__ 3412\000" .LASF34: .ascii "__SIZE_TYPE__ unsigned int\000" -.LASF900: +.LASF908: .ascii "RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT)" .ascii "\000" .LASF621: @@ -4345,7 +4374,7 @@ usart2_write: .ascii "PRIx8 __PRI8(x)\000" .LASF590: .ascii "INT8_MAX (__INT8_MAX__)\000" -.LASF912: +.LASF921: .ascii "PORT(port) (((port) - 'A') << 8)\000" .LASF631: .ascii "PTRDIFF_MAX (__PTRDIFF_MAX__)\000" @@ -4353,7 +4382,7 @@ usart2_write: .ascii "__SCNPTR(x) __STRINGIFY(x)\000" .LASF202: .ascii "__FLT32_MAX_10_EXP__ 38\000" -.LASF886: +.LASF894: .ascii "RCC_CFGR_HPRE_BIT 4\000" .LASF683: .ascii "SCNo8 __SCN8(o)\000" @@ -4369,7 +4398,7 @@ usart2_write: .ascii "__need_wchar_t\000" .LASF199: .ascii "__FLT32_MIN_EXP__ (-125)\000" -.LASF984: +.LASF993: .ascii "GNU C2X 12.3.1 20230626 -mcpu=cortex-m4 -mthumb -mf" .ascii "loat-abi=hard -mfpu=fpv4-sp-d16 -march=armv7e-m+fp " .ascii "-g3 -ggdb -O0 -std=c2x -ffunction-sections -fdata-s" @@ -4400,6 +4429,8 @@ usart2_write: .ascii "INT16_C(x) __INT16_C(x)\000" .LASF250: .ascii "__SFRACT_EPSILON__ 0x1P-7HR\000" +.LASF884: + .ascii "RCC_CFGR_MCO1_MASK (0b11)\000" .LASF113: .ascii "__INT32_C(c) c ## L\000" .LASF27: @@ -4430,12 +4461,11 @@ usart2_write: .ascii "__PRI32LEAST(x) __LEAST32 __STRINGIFY(x)\000" .LASF88: .ascii "__PTRDIFF_WIDTH__ 32\000" -.LASF894: - .ascii "RCC_CFGR_SW(clock) ((clock & RCC_CFGR_SW_MASK) << R" - .ascii "CC_CFGR_SW_BIT)\000" +.LASF882: + .ascii "RCC_CFGR_MCO1_PLL (0b11)\000" .LASF134: .ascii "__UINT_FAST8_MAX__ 0xffffffffU\000" -.LASF929: +.LASF938: .ascii "USART_BRR_FRACTION_BIT 0\000" .LASF541: .ascii "_NOTHROW \000" @@ -4445,9 +4475,9 @@ usart2_write: .ascii "__LACCUM_IBIT__ 32\000" .LASF593: .ascii "INT_LEAST8_MAX (__INT_LEAST8_MAX__)\000" -.LASF888: +.LASF896: .ascii "RCC_CFGR_SWS_PLL (0b10)\000" -.LASF934: +.LASF943: .ascii "__uint8_t\000" .LASF81: .ascii "__SCHAR_WIDTH__ 8\000" @@ -4463,7 +4493,7 @@ usart2_write: .ascii "__INT64 \"ll\"\000" .LASF138: .ascii "__INTPTR_MAX__ 0x7fffffff\000" -.LASF961: +.LASF970: .ascii "AHB2LPENR\000" .LASF500: .ascii "__RAND_MAX\000" @@ -4471,7 +4501,7 @@ usart2_write: .ascii "__UINT_FAST16_MAX__ 0xffffffffU\000" .LASF610: .ascii "INT_LEAST64_MIN (-__INT_LEAST64_MAX__ - 1)\000" -.LASF896: +.LASF904: .ascii "RCC_APB1ENR_PWREN_CLOCK_ENABLE (1 << RCC_APB1ENR_PW" .ascii "REN_BIT)\000" .LASF487: @@ -4504,7 +4534,7 @@ usart2_write: .ascii " RCC_PLLCFGR_PLLP_BIT)\000" .LASF302: .ascii "__UACCUM_IBIT__ 16\000" -.LASF937: +.LASF946: .ascii "long int\000" .LASF720: .ascii "SCNd16 __SCN16(d)\000" @@ -4520,7 +4550,7 @@ usart2_write: .ascii "SCNuLEAST32 __SCN32LEAST(u)\000" .LASF240: .ascii "__FLT32X_EPSILON__ 2.2204460492503131e-16F32x\000" -.LASF982: +.LASF991: .ascii "txPin\000" .LASF878: .ascii "RCC_PLLCFGR_PLLM(m) ((m & RCC_PLLCFGR_PLLM_MASK) <<" @@ -4543,7 +4573,7 @@ usart2_write: .ascii "INT_FAST64_MIN (-__INT_FAST64_MAX__ - 1)\000" .LASF371: .ascii "__GCC_ATOMIC_BOOL_LOCK_FREE 2\000" -.LASF893: +.LASF901: .ascii "RCC_CFGR_SW_MASK (0b11)\000" .LASF432: .ascii "__ARM_NEON__\000" @@ -4567,7 +4597,7 @@ usart2_write: .ascii "__CHAR32_TYPE__ long unsigned int\000" .LASF429: .ascii "__ARM_FEATURE_FP16_VECTOR_ARITHMETIC\000" -.LASF901: +.LASF909: .ascii "GPIO_H_ \000" .LASF179: .ascii "__DBL_IS_IEC_60559__ 2\000" @@ -4579,7 +4609,7 @@ usart2_write: .ascii "__SIZEOF_LONG__ 4\000" .LASF754: .ascii "PRIi32 __PRI32(i)\000" -.LASF958: +.LASF967: .ascii "APB2ENR\000" .LASF822: .ascii "SCNoFAST64 __SCN64FAST(o)\000" @@ -4593,7 +4623,7 @@ usart2_write: .ascii "__FLT32X_MIN_EXP__ (-1021)\000" .LASF816: .ascii "PRIoFAST64 __PRI64FAST(o)\000" -.LASF960: +.LASF969: .ascii "AHB1LPENR\000" .LASF406: .ascii "__ARM_FEATURE_SIMD32 1\000" @@ -4605,23 +4635,23 @@ usart2_write: .ascii "PRIoLEAST16 __PRI16LEAST(o)\000" .LASF459: .ascii "__NEWLIB__ 4\000" -.LASF970: +.LASF979: .ascii "DCKCFGR\000" .LASF721: .ascii "SCNi16 __SCN16(i)\000" .LASF360: .ascii "__UTA_FBIT__ 64\000" -.LASF976: +.LASF985: .ascii "usart\000" .LASF153: .ascii "__FLT_DECIMAL_DIG__ 9\000" .LASF563: .ascii "_UINT8_T_DECLARED \000" -.LASF931: +.LASF940: .ascii "signed char\000" .LASF806: .ascii "PRIuLEAST64 __PRI64LEAST(u)\000" -.LASF943: +.LASF952: .ascii "uint8_t\000" .LASF705: .ascii "SCNoFAST8 __SCN8FAST(o)\000" @@ -4629,7 +4659,7 @@ usart2_write: .ascii "INTMAX_MIN (-INTMAX_MAX - 1)\000" .LASF467: .ascii "_HAVE_LONG_DOUBLE 1\000" -.LASF975: +.LASF984: .ascii "GPIO_MODE\000" .LASF256: .ascii "__FRACT_FBIT__ 15\000" @@ -4657,33 +4687,33 @@ usart2_write: .ascii "__FLT64_MAX_10_EXP__ 308\000" .LASF874: .ascii "RCC_PLLCFGR_PLLN_MASK (0b111111111)\000" -.LASF950: +.LASF959: .ascii "RESERVED0\000" -.LASF953: +.LASF962: .ascii "RESERVED1\000" -.LASF956: +.LASF965: .ascii "RESERVED2\000" .LASF3: .ascii "__STDC_UTF_32__ 1\000" -.LASF962: +.LASF971: .ascii "RESERVED4\000" .LASF241: .ascii "__FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x\000" -.LASF967: +.LASF976: .ascii "RESERVED6\000" .LASF152: .ascii "__FLT_MAX_10_EXP__ 38\000" .LASF42: .ascii "__SIG_ATOMIC_TYPE__ int\000" -.LASF883: +.LASF891: .ascii "RCC_CFGR_PPRE1_BIT 10\000" .LASF259: .ascii "__FRACT_MAX__ 0X7FFFP-15R\000" .LASF729: .ascii "PRIxLEAST16 __PRI16LEAST(x)\000" -.LASF981: +.LASF990: .ascii "usart2_write_byte\000" -.LASF985: +.LASF994: .ascii "src/usart.c\000" .LASF130: .ascii "__INT_FAST32_MAX__ 0x7fffffff\000" @@ -4693,13 +4723,13 @@ usart2_write: .ascii "_READ_WRITE_RETURN_TYPE int\000" .LASF772: .ascii "SCNoLEAST32 __SCN32LEAST(o)\000" -.LASF891: +.LASF899: .ascii "RCC_CFGR_SW_PLL (0b10)\000" .LASF845: .ascii "PRIXPTR __PRIPTR(X)\000" .LASF798: .ascii "SCNd64 __SCN64(d)\000" -.LASF972: +.LASF981: .ascii "GPIO_MODE_OUTPUT\000" .LASF614: .ascii "INT_FAST8_MAX (__INT_FAST8_MAX__)\000" @@ -4721,9 +4751,9 @@ usart2_write: .ascii "__thumb2__ 1\000" .LASF321: .ascii "__ULLACCUM_FBIT__ 32\000" -.LASF895: +.LASF903: .ascii "RCC_APB1ENR_PWREN_BIT 28\000" -.LASF898: +.LASF906: .ascii "RCC_APB1ENR_USART2EN_ENABLE (1 << RCC_APB1ENR_USART" .ascii "2EN_BIT)\000" .LASF366: @@ -4732,11 +4762,11 @@ usart2_write: .ascii "_SYS_FEATURES_H \000" .LASF813: .ascii "SCNxLEAST64 __SCN64LEAST(x)\000" -.LASF959: +.LASF968: .ascii "RESERVED3\000" .LASF22: .ascii "__SIZEOF_LONG_DOUBLE__ 8\000" -.LASF965: +.LASF974: .ascii "RESERVED5\000" .LASF386: .ascii "__PRAGMA_REDEFINE_EXTNAME 1\000" @@ -4758,9 +4788,9 @@ usart2_write: .ascii "__need_wchar_t \000" .LASF66: .ascii "__UINT_FAST64_TYPE__ long long unsigned int\000" -.LASF917: +.LASF926: .ascii "USART2_BASE_ADDR (0x40004400U)\000" -.LASF889: +.LASF897: .ascii "RCC_CFGR_SWS_BIT 2\000" .LASF156: .ascii "__FLT_MIN__ 1.1754943508222875e-38F\000" @@ -4778,7 +4808,7 @@ usart2_write: .ascii "__FLT32_IS_IEC_60559__ 2\000" .LASF630: .ascii "SIG_ATOMIC_MAX (__STDINT_EXP(INT_MAX))\000" -.LASF926: +.LASF935: .ascii "USART_CR1_RE_ENABLE (1 << USART_CR1_RE_BIT)\000" .LASF725: .ascii "PRIdLEAST16 __PRI16LEAST(d)\000" @@ -4788,9 +4818,9 @@ usart2_write: .ascii "__SCN64(x) __INT64 __STRINGIFY(x)\000" .LASF647: .ascii "_GCC_WRAP_STDINT_H \000" -.LASF935: +.LASF944: .ascii "__uint16_t\000" -.LASF955: +.LASF964: .ascii "AHB2ENR\000" .LASF805: .ascii "PRIoLEAST64 __PRI64LEAST(o)\000" @@ -4814,8 +4844,10 @@ usart2_write: .ascii "__int8_t_defined 1\000" .LASF176: .ascii "__DBL_HAS_DENORM__ 1\000" -.LASF908: +.LASF917: .ascii "GPIO_AF_USART2_TX (0b0111)\000" +.LASF881: + .ascii "RCC_CFGR_MCO1_HSE (0b10)\000" .LASF625: .ascii "INTMAX_MAX (__INTMAX_MAX__)\000" .LASF602: @@ -4832,11 +4864,11 @@ usart2_write: .ascii "__FLT_DENORM_MIN__ 1.4012984643248171e-45F\000" .LASF534: .ascii "__LEAST8 \"hh\"\000" -.LASF885: +.LASF893: .ascii "RCC_CFGR_HPRE_DIV_NONE 0\000" .LASF540: .ascii "_END_STD_C \000" -.LASF904: +.LASF912: .ascii "true ((_Bool)+1u)\000" .LASF600: .ascii "UINT_LEAST16_MAX (__UINT_LEAST16_MAX__)\000" @@ -4888,7 +4920,7 @@ usart2_write: .ascii "__LACCUM_FBIT__ 31\000" .LASF689: .ascii "PRIuLEAST8 __PRI8LEAST(u)\000" -.LASF966: +.LASF975: .ascii "BDCR\000" .LASF211: .ascii "__FLT32_HAS_QUIET_NAN__ 1\000" @@ -4904,7 +4936,7 @@ usart2_write: .ascii "PRIo64 __PRI64(o)\000" .LASF736: .ascii "PRIdFAST16 __PRI16FAST(d)\000" -.LASF944: +.LASF953: .ascii "uint16_t\000" .LASF96: .ascii "__SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)\000" @@ -4948,7 +4980,7 @@ usart2_write: .ascii "RCC_CR_HSERDY_READY (1 << RCC_CR_HSERDY_BIT)\000" .LASF763: .ascii "SCNx32 __SCN32(x)\000" -.LASF947: +.LASF956: .ascii "CFGR\000" .LASF558: .ascii "___int_least32_t_defined 1\000" @@ -5018,7 +5050,7 @@ usart2_write: .ascii "___int8_t_defined 1\000" .LASF248: .ascii "__SFRACT_MIN__ (-0.5HR-0.5HR)\000" -.LASF939: +.LASF948: .ascii "long unsigned int\000" .LASF349: .ascii "__SA_IBIT__ 16\000" @@ -5036,9 +5068,9 @@ usart2_write: .ascii "__UINT16_TYPE__ short unsigned int\000" .LASF868: .ascii "RCC_PLLCFGR_PLLSRC_BIT 22\000" -.LASF907: +.LASF916: .ascii "GPIO_AF_USART2_RX (0b0111)\000" -.LASF905: +.LASF913: .ascii "false ((_Bool)+0u)\000" .LASF657: .ascii "_WCHAR_T_DEFINED_ \000" @@ -5076,7 +5108,7 @@ usart2_write: .ascii "SCNx8 __SCN8(x)\000" .LASF208: .ascii "__FLT32_DENORM_MIN__ 1.4012984643248171e-45F32\000" -.LASF979: +.LASF988: .ascii "gpio_set_mode\000" .LASF125: .ascii "__UINT64_C(c) c ## ULL\000" @@ -5092,13 +5124,13 @@ usart2_write: .ascii "PRIXLEAST16 __PRI16LEAST(X)\000" .LASF623: .ascii "INT_FAST64_MAX (__INT_FAST64_MAX__)\000" -.LASF925: +.LASF934: .ascii "USART_CR1_RE_BIT 2\000" .LASF373: .ascii "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2\000" .LASF790: .ascii "__PRI64FAST(x) __FAST64 __STRINGIFY(x)\000" -.LASF892: +.LASF900: .ascii "RCC_CFGR_SW_BIT 0\000" .LASF168: .ascii "__DBL_MAX_EXP__ 1024\000" @@ -5126,7 +5158,7 @@ usart2_write: .ascii "_INT32_T_DECLARED \000" .LASF1: .ascii "__STDC_VERSION__ 202000L\000" -.LASF983: +.LASF992: .ascii "rxPin\000" .LASF520: .ascii "__int20 +2\000" @@ -5146,7 +5178,7 @@ usart2_write: .ascii "SCNxLEAST32 __SCN32LEAST(x)\000" .LASF712: .ascii "__SCN16LEAST(x) __LEAST16 __STRINGIFY(x)\000" -.LASF946: +.LASF955: .ascii "PLLCFGR\000" .LASF5: .ascii "__GNUC__ 12\000" @@ -5174,7 +5206,7 @@ usart2_write: .ascii "__ULACCUM_MIN__ 0.0ULK\000" .LASF462: .ascii "_ATEXIT_DYNAMIC_ALLOC 1\000" -.LASF938: +.LASF947: .ascii "__uint32_t\000" .LASF188: .ascii "__LDBL_MAX__ 1.7976931348623157e+308L\000" @@ -5184,7 +5216,7 @@ usart2_write: .ascii "__FLT_RADIX__ 2\000" .LASF455: .ascii "_INTTYPES_H \000" -.LASF940: +.LASF949: .ascii "long long int\000" .LASF401: .ascii "__ARM_FEATURE_CMSE\000" @@ -5202,7 +5234,7 @@ usart2_write: .ascii "WINT_MAX (__WINT_MAX__)\000" .LASF823: .ascii "SCNuFAST64 __SCN64FAST(u)\000" -.LASF968: +.LASF977: .ascii "SSCGR\000" .LASF137: .ascii "__UINT_FAST64_MAX__ 0xffffffffffffffffULL\000" @@ -5218,19 +5250,21 @@ usart2_write: .ascii "__STDC__ 1\000" .LASF239: .ascii "__FLT32X_MIN__ 2.2250738585072014e-308F32x\000" +.LASF915: + .ascii "GPIO_AF_MCO_1 (0b0000)\000" .LASF218: .ascii "__FLT64_MAX_EXP__ 1024\000" .LASF654: .ascii "__WCHAR_T \000" .LASF223: .ascii "__FLT64_MIN__ 2.2250738585072014e-308F64\000" -.LASF977: +.LASF986: .ascii "GTPR\000" .LASF554: .ascii "___int32_t_defined 1\000" .LASF83: .ascii "__INT_WIDTH__ 32\000" -.LASF952: +.LASF961: .ascii "APB2RSTR\000" .LASF409: .ascii "__ARM_ARCH_PROFILE\000" @@ -5282,7 +5316,7 @@ usart2_write: .ascii "__ARM_NEON_FP\000" .LASF280: .ascii "__LLFRACT_EPSILON__ 0x1P-63LLR\000" -.LASF964: +.LASF973: .ascii "APB2LPENR\000" .LASF821: .ascii "SCNiFAST64 __SCN64FAST(i)\000" @@ -5290,7 +5324,7 @@ usart2_write: .ascii "_ANSIDECL_H_ \000" .LASF684: .ascii "SCNu8 __SCN8(u)\000" -.LASF902: +.LASF910: .ascii "_STDBOOL_H \000" .LASF261: .ascii "__UFRACT_FBIT__ 16\000" @@ -5310,11 +5344,11 @@ usart2_write: .ascii "L)\000" .LASF608: .ascii "INT64_MAX (__INT64_MAX__)\000" -.LASF942: +.LASF951: .ascii "unsigned int\000" .LASF857: .ascii "RCC_CR_HSERDY_BIT 17\000" -.LASF910: +.LASF919: .ascii "GPIO_PORT_OFFSET (0x400U)\000" .LASF460: .ascii "__NEWLIB_MINOR__ 3\000" @@ -5354,9 +5388,11 @@ usart2_write: .ascii "__INT_FAST8_WIDTH__ 32\000" .LASF2: .ascii "__STDC_UTF_16__ 1\000" +.LASF887: + .ascii "RCC_CFGR_MCO1PRE_BIT 24\000" .LASF402: .ascii "__ARM_FEATURE_LDREX\000" -.LASF987: +.LASF996: .ascii "usart2_start\000" .LASF336: .ascii "__UQQ_FBIT__ 8\000" @@ -5386,7 +5422,7 @@ usart2_write: .ascii "__ARM_FEATURE_COPROC 15\000" .LASF484: .ascii "__OBSOLETE_MATH_DEFAULT 1\000" -.LASF978: +.LASF987: .ascii "gpio_set_af\000" .LASF864: .ascii "RCC_CR_HSION_ON (1 << RCC_CR_HSION_BIT)\000" @@ -5402,7 +5438,7 @@ usart2_write: .ascii "__STRINGIFY(a) #a\000" .LASF356: .ascii "__USA_FBIT__ 16\000" -.LASF963: +.LASF972: .ascii "APB1LPENR\000" .LASF480: .ascii "__IEEE_LITTLE_ENDIAN \000" @@ -5500,7 +5536,7 @@ usart2_write: .ascii "__LFRACT_IBIT__ 0\000" .LASF16: .ascii "__SIZEOF_INT__ 4\000" -.LASF924: +.LASF933: .ascii "USART_CR1_TE_ENABLE (1 << USART_CR1_TE_BIT)\000" .LASF166: .ascii "__DBL_MIN_EXP__ (-1021)\000" @@ -5510,13 +5546,15 @@ usart2_write: .ascii "SCNuFAST16 __SCN16FAST(u)\000" .LASF802: .ascii "SCNx64 __SCN64(x)\000" -.LASF915: +.LASF924: .ascii "PINPORT(pin) (pin >> 8)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" -.LASF897: +.LASF885: + .ascii "RCC_CFGR_MCO1PRE_DIV4 (0b110)\000" +.LASF905: .ascii "RCC_APB1ENR_USART2EN_BIT 17\000" -.LASF884: +.LASF892: .ascii "RCC_CFGR_PPRE1_MASK (0b111)\000" .LASF646: .ascii "UINTMAX_C(x) __UINTMAX_C(x)\000" @@ -5532,18 +5570,20 @@ usart2_write: .ascii "__SACCUM_FBIT__ 7\000" .LASF734: .ascii "SCNuLEAST16 __SCN16LEAST(u)\000" -.LASF951: +.LASF960: .ascii "APB1RSTR\000" .LASF298: .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" .LASF393: .ascii "__ARM_FEATURE_CRYPTO\000" -.LASF957: +.LASF966: .ascii "APB1ENR\000" .LASF698: .ascii "PRIiFAST8 __PRI8FAST(i)\000" .LASF742: .ascii "SCNdFAST16 __SCN16FAST(d)\000" +.LASF883: + .ascii "RCC_CFGR_MCO1_BIT 21\000" .LASF867: .ascii "RCC_PLLCFGR_PLLQ(q) ((q & RCC_PLLCFGR_PLLQ_MASK) <<" .ascii " RCC_PLLCFGR_PLLQ_BIT)\000" @@ -5570,13 +5610,13 @@ usart2_write: .ascii ")\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF941: +.LASF950: .ascii "long long unsigned int\000" .LASF612: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" .LASF150: .ascii "__FLT_MIN_10_EXP__ (-37)\000" -.LASF890: +.LASF898: .ascii "RCC_CFGR_SWS_MASK (0b11)\000" .LASF312: .ascii "__ULACCUM_IBIT__ 32\000" @@ -5625,7 +5665,7 @@ usart2_write: .ascii "__LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK\000" .LASF40: .ascii "__CHAR16_TYPE__ short unsigned int\000" -.LASF920: +.LASF929: .ascii "USART_SR_TC_COMPLETED (1 << USART_SR_TC_BIT)\000" .LASF231: .ascii "__FLT32X_DIG__ 15\000" @@ -5669,6 +5709,8 @@ usart2_write: .ascii "SIZE_MAX (__SIZE_MAX__)\000" .LASF333: .ascii "__DQ_IBIT__ 0\000" +.LASF888: + .ascii "RCC_CFGR_MCO1PRE_MASK (0b111)\000" .LASF450: .ascii "__ARM_BF16_FORMAT_ALTERNATIVE\000" .LASF45: @@ -5685,13 +5727,13 @@ usart2_write: .ascii "PRIoMAX __PRIMAX(o)\000" .LASF748: .ascii "__SCN32(x) __INT32 __STRINGIFY(x)\000" -.LASF971: +.LASF980: .ascii "GPIO_MODE_INPUT\000" .LASF744: .ascii "SCNoFAST16 __SCN16FAST(o)\000" -.LASF913: +.LASF922: .ascii "PIN(port,num) (PORT(port) | num)\000" -.LASF988: +.LASF997: .ascii "usart2_init\000" .LASF345: .ascii "__UTQ_IBIT__ 0\000" @@ -5717,7 +5759,7 @@ usart2_write: .ascii "PRIi16 __PRI16(i)\000" .LASF390: .ascii "__ARM_FEATURE_DSP 1\000" -.LASF922: +.LASF931: .ascii "USART_CR1_UE_ENABLE (1 << USART_CR1_UE_BIT)\000" .LASF826: .ascii "__SCNMAX(x) __STRINGIFY(ll ##x)\000" @@ -5747,19 +5789,19 @@ usart2_write: .ascii "RCC_H_ \000" .LASF405: .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" -.LASF909: +.LASF918: .ascii "GPIO_BASE_ADDR (0x40020000U)\000" .LASF38: .ascii "__INTMAX_TYPE__ long long int\000" .LASF377: .ascii "__GCC_ATOMIC_INT_LOCK_FREE 2\000" -.LASF928: +.LASF937: .ascii "USART_BRR_MANTISSA_MASK (0b111111111111)\000" .LASF436: .ascii "__ARM_ARCH_7EM__ 1\000" .LASF428: .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" -.LASF954: +.LASF963: .ascii "AHB1ENR\000" .LASF295: .ascii "__USACCUM_EPSILON__ 0x1P-8UHK\000" @@ -5799,11 +5841,11 @@ usart2_write: .ascii "__DBL_DIG__ 15\000" .LASF275: .ascii "__ULFRACT_EPSILON__ 0x1P-32ULR\000" -.LASF949: +.LASF958: .ascii "AHB2RSTR\000" .LASF672: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" -.LASF882: +.LASF890: .ascii "RCC_CFGR_PPRE2_MASK (0b111)\000" .LASF23: .ascii "__SIZEOF_SIZE_T__ 4\000" @@ -5829,11 +5871,11 @@ usart2_write: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF933: +.LASF942: .ascii "short int\000" .LASF836: .ascii "SCNuMAX __SCNMAX(u)\000" -.LASF918: +.LASF927: .ascii "USART2 ((struct usart *) USART2_BASE_ADDR)\000" .LASF121: .ascii "__UINT16_C(c) c\000" @@ -5845,7 +5887,7 @@ usart2_write: .ascii "RCC_PLLCFGR_PLLM_MASK (0b111111)\000" .LASF587: .ascii "INTPTR_MAX (__INTPTR_MAX__)\000" -.LASF919: +.LASF928: .ascii "USART_SR_TC_BIT 6\000" .LASF711: .ascii "__SCN16(x) __INT16 __STRINGIFY(x)\000" @@ -5857,7 +5899,7 @@ usart2_write: .ascii "_ATTRIBUTE(attrs) __attribute__ (attrs)\000" .LASF443: .ascii "__ARM_FEATURE_COPROC\000" -.LASF974: +.LASF983: .ascii "GPIO_MODE_ANALOG\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" @@ -5927,7 +5969,7 @@ usart2_write: .ascii "PRIdMAX __PRIMAX(d)\000" .LASF388: .ascii "__SIZEOF_WINT_T__ 4\000" -.LASF881: +.LASF889: .ascii "RCC_CFGR_PPRE2_BIT 13\000" .LASF783: .ascii "SCNoFAST32 __SCN32FAST(o)\000" @@ -5939,6 +5981,9 @@ usart2_write: .ascii "__LDBL_DECIMAL_DIG__ 17\000" .LASF702: .ascii "PRIXFAST8 __PRI8FAST(X)\000" +.LASF902: + .ascii "RCC_CFGR_SW(clock) ((clock & RCC_CFGR_SW_MASK) << R" + .ascii "CC_CFGR_SW_BIT)\000" .LASF308: .ascii "__LACCUM_MIN__ (-0X1P31LK-0X1P31LK)\000" .LASF785: @@ -5985,7 +6030,7 @@ usart2_write: .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" .LASF665: .ascii "_BSD_WCHAR_T_\000" -.LASF969: +.LASF978: .ascii "PLLI2SCFGR\000" .LASF277: .ascii "__LLFRACT_IBIT__ 0\000" @@ -5995,7 +6040,7 @@ usart2_write: .ascii "PRIx32 __PRI32(x)\000" .LASF278: .ascii "__LLFRACT_MIN__ (-0.5LLR-0.5LLR)\000" -.LASF945: +.LASF954: .ascii "uint32_t\000" .LASF873: .ascii "RCC_PLLCFGR_PLLN_BIT 6\000" @@ -6049,13 +6094,13 @@ usart2_write: .ascii "__INT_LEAST16_TYPE__ short int\000" .LASF159: .ascii "__FLT_HAS_DENORM__ 1\000" -.LASF914: +.LASF923: .ascii "PINNUM(pin) (pin & 0b1111)\000" .LASF769: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF936: +.LASF945: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -6063,7 +6108,7 @@ usart2_write: .ascii "__FLT32_HAS_INFINITY__ 1\000" .LASF416: .ascii "__thumb__ 1\000" -.LASF927: +.LASF936: .ascii "USART_BRR_MANTISSA_BIT 4\000" .LASF421: .ascii "__ARMEL__ 1\000" @@ -6071,11 +6116,11 @@ usart2_write: .ascii "PRIXLEAST8 __PRI8LEAST(X)\000" .LASF328: .ascii "__HQ_FBIT__ 15\000" -.LASF906: +.LASF914: .ascii "__bool_true_false_are_defined 1\000" -.LASF921: +.LASF930: .ascii "USART_CR1_UE_BIT 13\000" -.LASF911: +.LASF920: .ascii "GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADD" .ascii "R + (GPIO_PORT_OFFSET * port)))\000" .LASF799: @@ -6084,7 +6129,7 @@ usart2_write: .ascii "RCC_CR_HSIRDY_BIT 1\000" .LASF80: .ascii "__SIZE_MAX__ 0xffffffffU\000" -.LASF980: +.LASF989: .ascii "usart2_write\000" .LASF819: .ascii "PRIXFAST64 __PRI64FAST(X)\000" @@ -6104,7 +6149,7 @@ usart2_write: .ascii "SCNuFAST32 __SCN32FAST(u)\000" .LASF523: .ascii "long +4\000" -.LASF948: +.LASF957: .ascii "AHB1RSTR\000" .LASF724: .ascii "SCNx16 __SCN16(x)\000" @@ -6114,7 +6159,7 @@ usart2_write: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF340: .ascii "__USQ_FBIT__ 32\000" -.LASF986: +.LASF995: .ascii "/home/alex/code/own/stm32-falling-sand\000" .LASF797: .ascii "PRIX64 __PRI64(X)\000" @@ -6152,7 +6197,7 @@ usart2_write: .ascii "__DBL_MIN_10_EXP__ (-307)\000" .LASF796: .ascii "PRIx64 __PRI64(x)\000" -.LASF923: +.LASF932: .ascii "USART_CR1_TE_BIT 3\000" .LASF513: .ascii "__int20\000" @@ -6160,7 +6205,7 @@ usart2_write: .ascii "INT_FAST32_MAX (__INT_FAST32_MAX__)\000" .LASF205: .ascii "__FLT32_NORM_MAX__ 3.4028234663852886e+38F32\000" -.LASF903: +.LASF911: .ascii "bool _Bool\000" .LASF632: .ascii "PTRDIFF_MIN (-PTRDIFF_MAX - 1)\000" @@ -6172,7 +6217,7 @@ usart2_write: .ascii "__ULFRACT_IBIT__ 0\000" .LASF852: .ascii "RCC ((struct rcc *) RCC_BASE_ADDR)\000" -.LASF887: +.LASF895: .ascii "RCC_CFGR_HPRE_MASK (0b1111)\000" .LASF72: .ascii "__INT_MAX__ 0x7fffffff\000" diff --git a/build/usart.i b/build/usart.i index 8b07638..6bdf7f6 100644 --- a/build/usart.i +++ b/build/usart.i @@ -2055,6 +2055,19 @@ struct rcc { #define RCC_CFGR_PPRE_DIV_2 (0b100) +#define RCC_CFGR_MCO1_HSE (0b10) +#define RCC_CFGR_MCO1_PLL (0b11) + +#define RCC_CFGR_MCO1_BIT 21 +#define RCC_CFGR_MCO1_MASK (0b11) + +#define RCC_CFGR_MCO1PRE_DIV4 (0b110) +#define RCC_CFGR_MCO1PRE_DIV2 (0b100) + +#define RCC_CFGR_MCO1PRE_BIT 24 +#define RCC_CFGR_MCO1PRE_MASK (0b111) + + #define RCC_CFGR_PPRE2_BIT 13 #define RCC_CFGR_PPRE2_MASK (0b111) @@ -2124,6 +2137,7 @@ struct gpio { }; +#define GPIO_AF_MCO_1 (0b0000) #define GPIO_AF_USART2_RX (0b0111) #define GPIO_AF_USART2_TX (0b0111) @@ -2150,9 +2164,9 @@ typedef enum { void gpio_set_mode(uint16_t pin, GPIO_MODE mode); void gpio_set_af(uint16_t pin, uint8_t af); void gpio_write(uint16_t pin, -# 46 "src/gpio.h" 3 4 +# 47 "src/gpio.h" 3 4 _Bool -# 46 "src/gpio.h" +# 47 "src/gpio.h" val); # 3 "src/usart.c" 2 # 1 "src/usart.h" 1 @@ -2218,16 +2232,14 @@ void usart2_init(void) { uint16_t rxPin = (((('A') - 'A') << 8) | 3); gpio_set_mode(rxPin, GPIO_MODE_AF); gpio_set_af(rxPin, (0b0111)); - - - +# 29 "src/usart.c" ((struct rcc *) (0x40023800U))->APB1ENR |= (1 << 17); ((struct usart *) (0x40004400U))->CR1 = 0; ((struct usart *) (0x40004400U))->CR2 = 0; ((struct usart *) (0x40004400U))->CR3 = 0; -# 43 "src/usart.c" +# 52 "src/usart.c" ((struct usart *) (0x40004400U))->BRR &= ~((0b111111111111) << 4); ((struct usart *) (0x40004400U))->BRR |= (0x1A << 4); ((struct usart *) (0x40004400U))->BRR &= ~((0b111) << 0); diff --git a/build/usart.o b/build/usart.o index b3faefa46d130e8522e055b3f02414f672aca560..7f9a7022a7b992a255eff609492a0aac92525067 100644 GIT binary patch delta 7683 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 delta 7343 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 sZZ)PaYbJ;7R%3e6G`ViK8k0=(CFGR &= ~(RCC_CFGR_MCO1_MASK << RCC_CFGR_MCO1_BIT); */ + /* RCC->CFGR |= (RCC_CFGR_MCO1_HSE << RCC_CFGR_MCO1_BIT); */ + /* RCC->CFGR |= (RCC_CFGR_MCO1_PLL << RCC_CFGR_MCO1_BIT); */ + /* RCC->CFGR &= ~(RCC_CFGR_MCO1PRE_MASK << RCC_CFGR_MCO1PRE_BIT); */ + /* RCC->CFGR |= (RCC_CFGR_MCO1PRE_DIV4 << RCC_CFGR_MCO1PRE_BIT); */ // Enable USART RCC->APB1ENR |= RCC_APB1ENR_USART2EN_ENABLE;