diff --git a/build/final.elf b/build/final.elf index 4974603..f408989 100755 Binary files a/build/final.elf and b/build/final.elf differ diff --git a/build/final.elf.map b/build/final.elf.map index 2a42ce1..4610e2f 100644 --- a/build/final.elf.map +++ b/build/final.elf.map @@ -54,7 +54,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 + .debug_macro 0x00000000 0x40 build/main.o .group 0x00000000 0xc build/startup.o .group 0x00000000 0xc build/startup.o .group 0x00000000 0xc build/startup.o @@ -98,6 +98,64 @@ Discarded input sections .debug_macro 0x00000000 0x89 build/timer.o .debug_macro 0x00000000 0x4cc build/timer.o .debug_macro 0x00000000 0x22 build/timer.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .group 0x00000000 0xc build/usart.o + .text 0x00000000 0x0 build/usart.o + .data 0x00000000 0x0 build/usart.o + .bss 0x00000000 0x0 build/usart.o + .text.usart2_init + 0x00000000 0xb8 build/usart.o + .text.usart2_start + 0x00000000 0x20 build/usart.o + .text.usart2_write_byte + 0x00000000 0x30 build/usart.o + .text.usart2_write + 0x00000000 0x2a build/usart.o + .debug_info 0x00000000 0x381 build/usart.o + .debug_abbrev 0x00000000 0x16a build/usart.o + .debug_aranges + 0x00000000 0x38 build/usart.o + .debug_rnglists + 0x00000000 0x26 build/usart.o + .debug_macro 0x00000000 0xb74 build/usart.o + .debug_macro 0x00000000 0x22 build/usart.o + .debug_macro 0x00000000 0x75 build/usart.o + .debug_macro 0x00000000 0x2a build/usart.o + .debug_macro 0x00000000 0x5c build/usart.o + .debug_macro 0x00000000 0x3c build/usart.o + .debug_macro 0x00000000 0x103 build/usart.o + .debug_macro 0x00000000 0x3a build/usart.o + .debug_macro 0x00000000 0x57 build/usart.o + .debug_macro 0x00000000 0x6a build/usart.o + .debug_macro 0x00000000 0x1df build/usart.o + .debug_macro 0x00000000 0x89 build/usart.o + .debug_macro 0x00000000 0x4cc build/usart.o + .debug_macro 0x00000000 0x130 build/usart.o + .debug_macro 0x00000000 0x22 build/usart.o + .debug_macro 0x00000000 0x3a build/usart.o + .debug_macro 0x00000000 0x5e build/usart.o + .debug_line 0x00000000 0x179 build/usart.o + .debug_str 0x00000000 0x5ec2 build/usart.o + .comment 0x00000000 0x46 build/usart.o + .debug_line_str + 0x00000000 0x26c build/usart.o + .debug_frame 0x00000000 0xa0 build/usart.o + .ARM.attributes + 0x00000000 0x34 build/usart.o Memory Configuration @@ -114,6 +172,7 @@ LOAD build/gpio.o LOAD build/main.o LOAD build/startup.o LOAD build/timer.o +LOAD build/usart.o 0x20020000 stack_start = (ORIGIN (sram) + LENGTH (sram)) .isr_vector 0x08000000 0x198 @@ -296,7 +355,7 @@ LOAD linker stubs .debug_rnglists 0x0000005a 0x19 build/timer.o -.debug_macro 0x00000000 0x3ba0 +.debug_macro 0x00000000 0x3bc4 .debug_macro 0x00000000 0xb56 build/gpio.o .debug_macro 0x00000b56 0x22 build/gpio.o .debug_macro 0x00000b78 0x75 build/gpio.o @@ -311,17 +370,17 @@ LOAD linker stubs .debug_macro 0x0000108c 0x89 build/gpio.o .debug_macro 0x00001115 0x4cc build/gpio.o .debug_macro 0x000015e1 0x22 build/gpio.o - .debug_macro 0x00001603 0x34 build/gpio.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_macro 0x00001603 0x40 build/gpio.o + .debug_macro 0x00001643 0xb80 build/main.o + .debug_macro 0x000021c3 0x136 build/main.o + .debug_macro 0x000022f9 0x46 build/main.o + .debug_macro 0x0000233f 0x2e build/main.o + .debug_macro 0x0000236d 0x22 build/main.o + .debug_macro 0x0000238f 0xb02 build/startup.o + .debug_macro 0x00002e91 0x56 build/startup.o + .debug_macro 0x00002ee7 0x51 build/startup.o + .debug_macro 0x00002f38 0xb5c build/timer.o + .debug_macro 0x00003a94 0x130 build/timer.o .debug_line 0x00000000 0x516 .debug_line 0x00000000 0x179 build/gpio.o @@ -329,15 +388,15 @@ LOAD linker stubs .debug_line 0x0000034d 0xea build/startup.o .debug_line 0x00000437 0xdf build/timer.o -.debug_str 0x00000000 0x5ed0 - .debug_str 0x00000000 0x538b build/gpio.o - 0x553b (size before relaxing) - .debug_str 0x0000538b 0xab1 build/main.o - 0x5f7e (size before relaxing) - .debug_str 0x00005e3c 0x88 build/startup.o +.debug_str 0x00000000 0x5f5e + .debug_str 0x00000000 0x53c1 build/gpio.o + 0x5571 (size before relaxing) + .debug_str 0x000053c1 0xb09 build/main.o + 0x600c (size before relaxing) + .debug_str 0x00005eca 0x88 build/startup.o 0x3cdc (size before relaxing) - .debug_str 0x00005ec4 0xc build/timer.o - 0x5b16 (size before relaxing) + .debug_str 0x00005f52 0xc build/timer.o + 0x5b6e (size before relaxing) .comment 0x00000000 0x45 .comment 0x00000000 0x45 build/gpio.o diff --git a/build/gpio.S b/build/gpio.S index 9e89fa0..b1a9fc5 100644 --- a/build/gpio.S +++ b/build/gpio.S @@ -311,10 +311,10 @@ gpio_write: .byte 0x4 .4byte .Ldebug_abbrev0 .uleb128 0xa - .4byte .LASF898 - .byte 0x1d - .4byte .LASF899 .4byte .LASF900 + .byte 0x1d + .4byte .LASF901 + .4byte .LASF902 .4byte .LLRL0 .4byte 0 .4byte .Ldebug_line0 @@ -322,9 +322,9 @@ gpio_write: .uleb128 0x1 .byte 0x1 .byte 0x6 - .4byte .LASF863 + .4byte .LASF865 .uleb128 0x2 - .4byte .LASF866 + .4byte .LASF868 .byte 0x2 .byte 0x2b .byte 0x17 @@ -332,13 +332,13 @@ gpio_write: .uleb128 0x1 .byte 0x1 .byte 0x8 - .4byte .LASF864 + .4byte .LASF866 .uleb128 0x1 .byte 0x2 .byte 0x5 - .4byte .LASF865 - .uleb128 0x2 .4byte .LASF867 + .uleb128 0x2 + .4byte .LASF869 .byte 0x2 .byte 0x39 .byte 0x1c @@ -346,13 +346,13 @@ gpio_write: .uleb128 0x1 .byte 0x2 .byte 0x7 - .4byte .LASF868 + .4byte .LASF870 .uleb128 0x1 .byte 0x4 .byte 0x5 - .4byte .LASF869 + .4byte .LASF871 .uleb128 0x2 - .4byte .LASF870 + .4byte .LASF872 .byte 0x2 .byte 0x4f .byte 0x1b @@ -360,21 +360,21 @@ gpio_write: .uleb128 0x1 .byte 0x4 .byte 0x7 - .4byte .LASF871 + .4byte .LASF873 .uleb128 0x1 .byte 0x8 .byte 0x5 - .4byte .LASF872 + .4byte .LASF874 .uleb128 0x1 .byte 0x8 .byte 0x7 - .4byte .LASF873 + .4byte .LASF875 .uleb128 0xb .byte 0x4 .byte 0x5 .ascii "int\000" .uleb128 0x2 - .4byte .LASF874 + .4byte .LASF876 .byte 0x2 .byte 0xe8 .byte 0x16 @@ -382,21 +382,21 @@ gpio_write: .uleb128 0x1 .byte 0x4 .byte 0x7 - .4byte .LASF875 + .4byte .LASF877 .uleb128 0x2 - .4byte .LASF876 + .4byte .LASF878 .byte 0x3 .byte 0x18 .byte 0x13 .4byte 0x31 .uleb128 0x2 - .4byte .LASF877 + .4byte .LASF879 .byte 0x3 .byte 0x24 .byte 0x14 .4byte 0x4b .uleb128 0x2 - .4byte .LASF878 + .4byte .LASF880 .byte 0x3 .byte 0x30 .byte 0x14 @@ -404,35 +404,35 @@ gpio_write: .uleb128 0xc .4byte 0xb8 .uleb128 0x2 - .4byte .LASF879 + .4byte .LASF881 .byte 0x3 .byte 0x52 .byte 0x15 .4byte 0x8d .uleb128 0xd - .4byte .LASF896 + .4byte .LASF898 .byte 0x28 .byte 0x4 .byte 0x7 .byte 0x8 .4byte 0x151 .uleb128 0x3 - .4byte .LASF880 + .4byte .LASF882 .byte 0x8 .4byte 0xc4 .byte 0 .uleb128 0x3 - .4byte .LASF881 + .4byte .LASF883 .byte 0x9 .4byte 0xc4 .byte 0x4 .uleb128 0x3 - .4byte .LASF882 + .4byte .LASF884 .byte 0xa .4byte 0xc4 .byte 0x8 .uleb128 0x3 - .4byte .LASF883 + .4byte .LASF885 .byte 0xb .4byte 0xc4 .byte 0xc @@ -447,22 +447,22 @@ gpio_write: .4byte 0xc4 .byte 0x14 .uleb128 0x3 - .4byte .LASF884 + .4byte .LASF886 .byte 0xe .4byte 0xc4 .byte 0x18 .uleb128 0x3 - .4byte .LASF885 + .4byte .LASF887 .byte 0xf .4byte 0xc4 .byte 0x1c .uleb128 0x3 - .4byte .LASF886 + .4byte .LASF888 .byte 0x10 .4byte 0xc4 .byte 0x20 .uleb128 0x3 - .4byte .LASF887 + .4byte .LASF889 .byte 0x11 .4byte 0xc4 .byte 0x24 @@ -472,30 +472,30 @@ gpio_write: .byte 0x1 .4byte 0x3d .byte 0x4 - .byte 0x21 + .byte 0x25 .byte 0xe .4byte 0x178 .uleb128 0x5 - .4byte .LASF888 + .4byte .LASF890 .byte 0 .uleb128 0x5 - .4byte .LASF889 + .4byte .LASF891 .byte 0x1 .uleb128 0x5 - .4byte .LASF890 + .4byte .LASF892 .byte 0x2 .uleb128 0x5 - .4byte .LASF891 + .4byte .LASF893 .byte 0x3 .byte 0 .uleb128 0x2 - .4byte .LASF892 + .4byte .LASF894 .byte 0x4 - .byte 0x26 + .byte 0x2a .byte 0x3 .4byte 0x151 .uleb128 0x8 - .4byte .LASF894 + .4byte .LASF896 .byte 0x19 .4byte .LFB2 .4byte .LFE2-.LFB2 @@ -519,7 +519,7 @@ gpio_write: .byte 0x91 .sleb128 -19 .uleb128 0x6 - .4byte .LASF896 + .4byte .LASF898 .byte 0x1a .4byte 0x1c9 .uleb128 0x2 @@ -529,12 +529,12 @@ gpio_write: .uleb128 0x1 .byte 0x1 .byte 0x2 - .4byte .LASF893 + .4byte .LASF895 .uleb128 0xf .byte 0x4 .4byte 0xd5 .uleb128 0x8 - .4byte .LASF895 + .4byte .LASF897 .byte 0xd .4byte .LFB1 .4byte .LFE1-.LFB1 @@ -558,7 +558,7 @@ gpio_write: .byte 0x91 .sleb128 -19 .uleb128 0x6 - .4byte .LASF896 + .4byte .LASF898 .byte 0xe .4byte 0x1c9 .uleb128 0x2 @@ -573,7 +573,7 @@ gpio_write: .sleb128 -16 .byte 0 .uleb128 0x10 - .4byte .LASF901 + .4byte .LASF903 .byte 0x1 .byte 0x6 .byte 0x6 @@ -590,7 +590,7 @@ gpio_write: .byte 0x91 .sleb128 -18 .uleb128 0x11 - .4byte .LASF897 + .4byte .LASF899 .byte 0x1 .byte 0x6 .byte 0x2c @@ -599,7 +599,7 @@ gpio_write: .byte 0x91 .sleb128 -19 .uleb128 0x6 - .4byte .LASF896 + .4byte .LASF898 .byte 0x7 .4byte 0x1c9 .uleb128 0x2 @@ -3704,7 +3704,7 @@ gpio_write: .uleb128 0x32 .4byte .LASF854 .byte 0 - .section .debug_macro,"G",%progbits,wm4.gpio.h.2.3af2911851c1c29c51024d0f06788d31,comdat + .section .debug_macro,"G",%progbits,wm4.gpio.h.2.e8870d5e334b8cc926c6b43b65993420,comdat .Ldebug_macro15: .2byte 0x5 .byte 0 @@ -3712,19 +3712,19 @@ gpio_write: .uleb128 0x2 .4byte .LASF855 .byte 0x5 - .uleb128 0x14 + .uleb128 0x15 .4byte .LASF856 .byte 0x5 - .uleb128 0x15 + .uleb128 0x16 .4byte .LASF857 .byte 0x5 - .uleb128 0x16 + .uleb128 0x18 .4byte .LASF858 .byte 0x5 .uleb128 0x19 .4byte .LASF859 .byte 0x5 - .uleb128 0x1b + .uleb128 0x1a .4byte .LASF860 .byte 0x5 .uleb128 0x1d @@ -3732,6 +3732,12 @@ gpio_write: .byte 0x5 .uleb128 0x1f .4byte .LASF862 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF863 + .byte 0x5 + .uleb128 0x23 + .4byte .LASF864 .byte 0 .section .debug_line,"",%progbits .Ldebug_line0: @@ -3776,7 +3782,7 @@ gpio_write: .ascii "__PTRDIFF_MAX__ 0x7fffffff\000" .LASF541: .ascii "_LONG_DOUBLE long double\000" -.LASF896: +.LASF898: .ascii "gpio\000" .LASF591: .ascii "INT_LEAST8_MIN (-__INT_LEAST8_MAX__ - 1)\000" @@ -3784,7 +3790,7 @@ gpio_write: .ascii "_UINT32_T_DECLARED \000" .LASF90: .ascii "__INTMAX_MAX__ 0x7fffffffffffffffLL\000" -.LASF890: +.LASF892: .ascii "GPIO_MODE_AF\000" .LASF335: .ascii "__TQ_IBIT__ 0\000" @@ -3898,7 +3904,7 @@ gpio_write: .ascii "__need_wchar_t\000" .LASF199: .ascii "__FLT32_MIN_EXP__ (-125)\000" -.LASF898: +.LASF900: .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" @@ -3967,7 +3973,7 @@ gpio_write: .ascii "__LACCUM_IBIT__ 32\000" .LASF592: .ascii "INT_LEAST8_MAX (__INT_LEAST8_MAX__)\000" -.LASF866: +.LASF868: .ascii "__uint8_t\000" .LASF81: .ascii "__SCHAR_WIDTH__ 8\000" @@ -3983,7 +3989,7 @@ gpio_write: .ascii "__INT64 \"ll\"\000" .LASF138: .ascii "__INTPTR_MAX__ 0x7fffffff\000" -.LASF858: +.LASF860: .ascii "GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADD" .ascii "R + (GPIO_PORT_OFFSET * port)))\000" .LASF499: @@ -4009,6 +4015,8 @@ gpio_write: .ascii "INT_FAST32_MIN (-__INT_FAST32_MAX__ - 1)\000" .LASF672: .ascii "__SCN8LEAST(x) __LEAST8 __STRINGIFY(x)\000" +.LASF857: + .ascii "GPIO_AF_USART2_TX (0b0111)\000" .LASF55: .ascii "__UINT_LEAST8_TYPE__ unsigned char\000" .LASF727: @@ -4017,7 +4025,7 @@ gpio_write: .ascii "__ACCUM_FBIT__ 15\000" .LASF791: .ascii "PRId64 __PRI64(d)\000" -.LASF869: +.LASF871: .ascii "long int\000" .LASF818: .ascii "PRIXFAST64 __PRI64FAST(X)\000" @@ -4113,7 +4121,7 @@ gpio_write: .ascii "PRIoLEAST16 __PRI16LEAST(o)\000" .LASF458: .ascii "__NEWLIB__ 4\000" -.LASF888: +.LASF890: .ascii "GPIO_MODE_INPUT\000" .LASF720: .ascii "SCNi16 __SCN16(i)\000" @@ -4123,11 +4131,11 @@ gpio_write: .ascii "__FLT_DECIMAL_DIG__ 9\000" .LASF562: .ascii "_UINT8_T_DECLARED \000" -.LASF863: +.LASF865: .ascii "signed char\000" .LASF805: .ascii "PRIuLEAST64 __PRI64LEAST(u)\000" -.LASF876: +.LASF878: .ascii "uint8_t\000" .LASF704: .ascii "SCNoFAST8 __SCN8FAST(o)\000" @@ -4137,7 +4145,7 @@ gpio_write: .ascii "__ARM_FEATURE_FMA 1\000" .LASF466: .ascii "_HAVE_LONG_DOUBLE 1\000" -.LASF892: +.LASF894: .ascii "GPIO_MODE\000" .LASF256: .ascii "__FRACT_FBIT__ 15\000" @@ -4161,7 +4169,7 @@ gpio_write: .ascii "__FLT64_MAX_10_EXP__ 308\000" .LASF65: .ascii "__UINT_FAST32_TYPE__ unsigned int\000" -.LASF864: +.LASF866: .ascii "unsigned char\000" .LASF3: .ascii "__STDC_UTF_32__ 1\000" @@ -4207,13 +4215,13 @@ gpio_write: .ascii "__int_fast64_t_defined 1\000" .LASF837: .ascii "__PRIPTR(x) __STRINGIFY(x)\000" -.LASF877: +.LASF879: .ascii "uint16_t\000" .LASF417: .ascii "__thumb2__ 1\000" .LASF321: .ascii "__ULLACCUM_FBIT__ 32\000" -.LASF893: +.LASF895: .ascii "_Bool\000" .LASF366: .ascii "__STRICT_ANSI__ 1\000" @@ -4231,9 +4239,9 @@ gpio_write: .ascii "__PRAGMA_REDEFINE_EXTNAME 1\000" .LASF36: .ascii "__WCHAR_TYPE__ unsigned int\000" -.LASF859: +.LASF861: .ascii "PORT(port) (((port) - 'A') << 8)\000" -.LASF889: +.LASF891: .ascii "GPIO_MODE_OUTPUT\000" .LASF357: .ascii "__USA_IBIT__ 16\000" @@ -4271,7 +4279,7 @@ gpio_write: .ascii "__SCN64(x) __INT64 __STRINGIFY(x)\000" .LASF646: .ascii "_GCC_WRAP_STDINT_H \000" -.LASF867: +.LASF869: .ascii "__uint16_t\000" .LASF224: .ascii "__FLT64_EPSILON__ 2.2204460492503131e-16F64\000" @@ -4481,7 +4489,7 @@ gpio_write: .ascii "___int8_t_defined 1\000" .LASF248: .ascii "__SFRACT_MIN__ (-0.5HR-0.5HR)\000" -.LASF871: +.LASF873: .ascii "long unsigned int\000" .LASF349: .ascii "__SA_IBIT__ 16\000" @@ -4497,7 +4505,9 @@ gpio_write: .ascii "__ARM_FP16_FORMAT_IEEE\000" .LASF48: .ascii "__UINT16_TYPE__ short unsigned int\000" -.LASF894: +.LASF856: + .ascii "GPIO_AF_USART2_RX (0b0111)\000" +.LASF896: .ascii "gpio_write\000" .LASF569: .ascii "__int32_t_defined 1\000" @@ -4541,7 +4551,7 @@ gpio_write: .ascii "SCNx8 __SCN8(x)\000" .LASF208: .ascii "__FLT32_DENORM_MIN__ 1.4012984643248171e-45F32\000" -.LASF901: +.LASF903: .ascii "gpio_set_mode\000" .LASF125: .ascii "__UINT64_C(c) c ## ULL\000" @@ -4561,7 +4571,7 @@ gpio_write: .ascii "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2\000" .LASF789: .ascii "__PRI64FAST(x) __FAST64 __STRINGIFY(x)\000" -.LASF879: +.LASF881: .ascii "uintptr_t\000" .LASF168: .ascii "__DBL_MAX_EXP__ 1024\000" @@ -4609,7 +4619,7 @@ gpio_write: .ascii "PRIX32 __PRI32(X)\000" .LASF773: .ascii "SCNxLEAST32 __SCN32LEAST(x)\000" -.LASF882: +.LASF884: .ascii "OSPEEDR\000" .LASF711: .ascii "__SCN16LEAST(x) __LEAST16 __STRINGIFY(x)\000" @@ -4639,7 +4649,7 @@ gpio_write: .ascii "__ULACCUM_MIN__ 0.0ULK\000" .LASF461: .ascii "_ATEXIT_DYNAMIC_ALLOC 1\000" -.LASF870: +.LASF872: .ascii "__uint32_t\000" .LASF188: .ascii "__LDBL_MAX__ 1.7976931348623157e+308L\000" @@ -4649,7 +4659,7 @@ gpio_write: .ascii "__FLT_RADIX__ 2\000" .LASF454: .ascii "_INTTYPES_H \000" -.LASF872: +.LASF874: .ascii "long long int\000" .LASF401: .ascii "__ARM_FEATURE_CMSE\000" @@ -4756,7 +4766,7 @@ gpio_write: .ascii "\000" .LASF582: .ascii "__int_fast16_t_defined 1\000" -.LASF880: +.LASF882: .ascii "MODER\000" .LASF482: .ascii "__FLOAT_TYPE float\000" @@ -4767,9 +4777,9 @@ gpio_write: .ascii "L)\000" .LASF607: .ascii "INT64_MAX (__INT64_MAX__)\000" -.LASF875: +.LASF877: .ascii "unsigned int\000" -.LASF874: +.LASF876: .ascii "__uintptr_t\000" .LASF459: .ascii "__NEWLIB_MINOR__ 3\000" @@ -4799,7 +4809,7 @@ gpio_write: .ascii "__CHAR_BIT__ 8\000" .LASF143: .ascii "__FLT_EVAL_METHOD__ 0\000" -.LASF865: +.LASF867: .ascii "short int\000" .LASF685: .ascii "PRIdLEAST8 __PRI8LEAST(d)\000" @@ -4843,7 +4853,7 @@ gpio_write: .ascii "__ARM_FEATURE_COPROC 15\000" .LASF483: .ascii "__OBSOLETE_MATH_DEFAULT 1\000" -.LASF895: +.LASF897: .ascii "gpio_set_af\000" .LASF82: .ascii "__SHRT_WIDTH__ 16\000" @@ -4943,7 +4953,7 @@ gpio_write: .ascii "SCNuFAST16 __SCN16FAST(u)\000" .LASF801: .ascii "SCNx64 __SCN64(x)\000" -.LASF862: +.LASF864: .ascii "PINPORT(pin) (pin >> 8)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" @@ -4991,7 +5001,7 @@ gpio_write: .ascii "__ORDER_LITTLE_ENDIAN__ 1234\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF873: +.LASF875: .ascii "long long unsigned int\000" .LASF611: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" @@ -5067,11 +5077,11 @@ gpio_write: .ascii "SCNdFAST8 __SCN8FAST(d)\000" .LASF576: .ascii "_UINTPTR_T_DECLARED \000" -.LASF887: +.LASF889: .ascii "AFRH\000" .LASF314: .ascii "__ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK\000" -.LASF886: +.LASF888: .ascii "AFRL\000" .LASF273: .ascii "__ULFRACT_MIN__ 0.0ULR\000" @@ -5085,7 +5095,7 @@ gpio_write: .ascii "__INT32_TYPE__ long int\000" .LASF118: .ascii "__UINT_LEAST8_MAX__ 0xff\000" -.LASF885: +.LASF887: .ascii "LCKR\000" .LASF520: .ascii "__int20__ +2\000" @@ -5099,7 +5109,7 @@ gpio_write: .ascii "__SCN32(x) __INT32 __STRINGIFY(x)\000" .LASF743: .ascii "SCNoFAST16 __SCN16FAST(o)\000" -.LASF860: +.LASF862: .ascii "PIN(port,num) (PORT(port) | num)\000" .LASF345: .ascii "__UTQ_IBIT__ 0\000" @@ -5135,7 +5145,7 @@ gpio_write: .ascii "__QQ_IBIT__ 0\000" .LASF763: .ascii "PRIdLEAST32 __PRI32LEAST(d)\000" -.LASF881: +.LASF883: .ascii "OTYPER\000" .LASF811: .ascii "SCNuLEAST64 __SCN64LEAST(u)\000" @@ -5155,11 +5165,11 @@ gpio_write: .ascii "__GNUC_MINOR__ 3\000" .LASF57: .ascii "__UINT_LEAST32_TYPE__ long unsigned int\000" -.LASF899: +.LASF901: .ascii "src/gpio.c\000" .LASF405: .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" -.LASF856: +.LASF858: .ascii "GPIO_BASE_ADDR (0x40020000U)\000" .LASF38: .ascii "__INTMAX_TYPE__ long long int\000" @@ -5211,7 +5221,7 @@ gpio_write: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" .LASF23: .ascii "__SIZEOF_SIZE_T__ 4\000" -.LASF857: +.LASF859: .ascii "GPIO_PORT_OFFSET (0x400U)\000" .LASF50: .ascii "__UINT64_TYPE__ long long unsigned int\000" @@ -5231,7 +5241,7 @@ gpio_write: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF883: +.LASF885: .ascii "PUPDR\000" .LASF835: .ascii "SCNuMAX __SCNMAX(u)\000" @@ -5239,7 +5249,7 @@ gpio_write: .ascii "__UINT16_C(c) c\000" .LASF359: .ascii "__UDA_IBIT__ 32\000" -.LASF897: +.LASF899: .ascii "mode\000" .LASF586: .ascii "INTPTR_MAX (__INTPTR_MAX__)\000" @@ -5253,7 +5263,7 @@ gpio_write: .ascii "_ATTRIBUTE(attrs) __attribute__ (attrs)\000" .LASF443: .ascii "__ARM_FEATURE_COPROC\000" -.LASF891: +.LASF893: .ascii "GPIO_MODE_ANALOG\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" @@ -5291,7 +5301,7 @@ gpio_write: .ascii "__FAST8 \000" .LASF496: .ascii "__XSI_VISIBLE 0\000" -.LASF884: +.LASF886: .ascii "BSRR\000" .LASF794: .ascii "PRIu64 __PRI64(u)\000" @@ -5379,7 +5389,7 @@ gpio_write: .ascii "PRIx32 __PRI32(x)\000" .LASF278: .ascii "__LLFRACT_MIN__ (-0.5LLR-0.5LLR)\000" -.LASF878: +.LASF880: .ascii "uint32_t\000" .LASF689: .ascii "PRIxLEAST8 __PRI8LEAST(x)\000" @@ -5429,13 +5439,13 @@ gpio_write: .ascii "__INT_LEAST16_TYPE__ short int\000" .LASF326: .ascii "__QQ_FBIT__ 7\000" -.LASF861: +.LASF863: .ascii "PINNUM(pin) (pin & 0b1111)\000" .LASF768: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF868: +.LASF870: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -5483,7 +5493,7 @@ gpio_write: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF280: .ascii "__LLFRACT_EPSILON__ 0x1P-63LLR\000" -.LASF900: +.LASF902: .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 cb23541..9250b62 100644 --- a/build/gpio.i +++ b/build/gpio.i @@ -1999,6 +1999,10 @@ struct gpio { volatile uint32_t AFRH; }; + +#define GPIO_AF_USART2_RX (0b0111) +#define GPIO_AF_USART2_TX (0b0111) + #define GPIO_BASE_ADDR (0x40020000U) #define GPIO_PORT_OFFSET (0x400U) #define GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADDR + (GPIO_PORT_OFFSET * port))) @@ -2022,9 +2026,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, -# 42 "src/gpio.h" 3 4 +# 46 "src/gpio.h" 3 4 _Bool -# 42 "src/gpio.h" +# 46 "src/gpio.h" val); # 5 "src/gpio.c" 2 diff --git a/build/gpio.o b/build/gpio.o index 849a43d..8eb3dee 100644 Binary files a/build/gpio.o and b/build/gpio.o differ diff --git a/build/main.S b/build/main.S index c94d753..f83b1b4 100644 --- a/build/main.S +++ b/build/main.S @@ -352,10 +352,10 @@ main: .byte 0x4 .4byte .Ldebug_abbrev0 .uleb128 0xd - .4byte .LASF1002 + .4byte .LASF1006 .byte 0x1d - .4byte .LASF1003 - .4byte .LASF1004 + .4byte .LASF1007 + .4byte .LASF1008 .4byte .LLRL0 .4byte 0 .4byte .Ldebug_line0 @@ -363,17 +363,17 @@ main: .uleb128 0x3 .byte 0x1 .byte 0x6 - .4byte .LASF936 + .4byte .LASF940 .uleb128 0x3 .byte 0x1 .byte 0x8 - .4byte .LASF937 + .4byte .LASF941 .uleb128 0x3 .byte 0x2 .byte 0x5 - .4byte .LASF938 + .4byte .LASF942 .uleb128 0x4 - .4byte .LASF941 + .4byte .LASF945 .byte 0x2 .byte 0x39 .byte 0x1c @@ -381,13 +381,13 @@ main: .uleb128 0x3 .byte 0x2 .byte 0x7 - .4byte .LASF939 + .4byte .LASF943 .uleb128 0x3 .byte 0x4 .byte 0x5 - .4byte .LASF940 + .4byte .LASF944 .uleb128 0x4 - .4byte .LASF942 + .4byte .LASF946 .byte 0x2 .byte 0x4f .byte 0x1b @@ -395,15 +395,15 @@ main: .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF943 + .4byte .LASF947 .uleb128 0x3 .byte 0x8 .byte 0x5 - .4byte .LASF944 + .4byte .LASF948 .uleb128 0x3 .byte 0x8 .byte 0x7 - .4byte .LASF945 + .4byte .LASF949 .uleb128 0xe .byte 0x4 .byte 0x5 @@ -411,15 +411,15 @@ main: .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF946 + .4byte .LASF950 .uleb128 0x4 - .4byte .LASF947 + .4byte .LASF951 .byte 0x3 .byte 0x24 .byte 0x14 .4byte 0x3f .uleb128 0x4 - .4byte .LASF948 + .4byte .LASF952 .byte 0x3 .byte 0x30 .byte 0x14 @@ -438,13 +438,13 @@ main: .4byte 0xa0 .byte 0 .uleb128 0x1 - .4byte .LASF949 + .4byte .LASF953 .byte 0x4 .byte 0x8 .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF950 + .4byte .LASF954 .byte 0x4 .byte 0x9 .4byte 0xa0 @@ -456,115 +456,115 @@ main: .4byte 0xa0 .byte 0xc .uleb128 0x1 - .4byte .LASF951 + .4byte .LASF955 .byte 0x4 .byte 0xb .4byte 0xa0 .byte 0x10 .uleb128 0x1 - .4byte .LASF952 + .4byte .LASF956 .byte 0x4 .byte 0xc .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF953 + .4byte .LASF957 .byte 0x4 .byte 0xd .4byte 0x210 .byte 0x18 .uleb128 0x1 - .4byte .LASF954 + .4byte .LASF958 .byte 0x4 .byte 0xe .4byte 0xa0 .byte 0x20 .uleb128 0x1 - .4byte .LASF955 + .4byte .LASF959 .byte 0x4 .byte 0xf .4byte 0xa0 .byte 0x24 .uleb128 0x1 - .4byte .LASF956 + .4byte .LASF960 .byte 0x4 .byte 0x10 .4byte 0x210 .byte 0x28 .uleb128 0x1 - .4byte .LASF957 + .4byte .LASF961 .byte 0x4 .byte 0x11 .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF958 + .4byte .LASF962 .byte 0x4 .byte 0x12 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF959 + .4byte .LASF963 .byte 0x4 .byte 0x13 .4byte 0x210 .byte 0x38 .uleb128 0x1 - .4byte .LASF960 + .4byte .LASF964 .byte 0x4 .byte 0x14 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF961 + .4byte .LASF965 .byte 0x4 .byte 0x15 .4byte 0xa0 .byte 0x44 .uleb128 0x1 - .4byte .LASF962 + .4byte .LASF966 .byte 0x4 .byte 0x16 .4byte 0x210 .byte 0x48 .uleb128 0x1 - .4byte .LASF963 + .4byte .LASF967 .byte 0x4 .byte 0x17 .4byte 0xa0 .byte 0x50 .uleb128 0x1 - .4byte .LASF964 + .4byte .LASF968 .byte 0x4 .byte 0x18 .4byte 0xa0 .byte 0x54 .uleb128 0x1 - .4byte .LASF965 + .4byte .LASF969 .byte 0x4 .byte 0x19 .4byte 0x210 .byte 0x58 .uleb128 0x1 - .4byte .LASF966 + .4byte .LASF970 .byte 0x4 .byte 0x1a .4byte 0xa0 .byte 0x60 .uleb128 0x1 - .4byte .LASF967 + .4byte .LASF971 .byte 0x4 .byte 0x1b .4byte 0xa0 .byte 0x64 .uleb128 0x1 - .4byte .LASF968 + .4byte .LASF972 .byte 0x4 .byte 0x1c .4byte 0x210 .byte 0x68 .uleb128 0x1 - .4byte .LASF969 + .4byte .LASF973 .byte 0x4 .byte 0x1d .4byte 0xa0 @@ -576,25 +576,25 @@ main: .4byte 0xa0 .byte 0x74 .uleb128 0x1 - .4byte .LASF970 + .4byte .LASF974 .byte 0x4 .byte 0x1f .4byte 0x210 .byte 0x78 .uleb128 0x1 - .4byte .LASF971 + .4byte .LASF975 .byte 0x4 .byte 0x20 .4byte 0xa0 .byte 0x80 .uleb128 0x1 - .4byte .LASF972 + .4byte .LASF976 .byte 0x4 .byte 0x21 .4byte 0xa0 .byte 0x84 .uleb128 0x1 - .4byte .LASF973 + .4byte .LASF977 .byte 0x4 .byte 0x22 .4byte 0xa0 @@ -614,30 +614,30 @@ main: .byte 0x1 .4byte 0x31 .byte 0x5 - .byte 0x21 + .byte 0x25 .byte 0xe .4byte 0x23c .uleb128 0x5 - .4byte .LASF974 + .4byte .LASF978 .byte 0 .uleb128 0x5 - .4byte .LASF975 + .4byte .LASF979 .byte 0x1 .uleb128 0x5 - .4byte .LASF976 + .4byte .LASF980 .byte 0x2 .uleb128 0x5 - .4byte .LASF977 + .4byte .LASF981 .byte 0x3 .byte 0 .uleb128 0x4 - .4byte .LASF978 + .4byte .LASF982 .byte 0x5 - .byte 0x26 + .byte 0x2a .byte 0x3 .4byte 0x215 .uleb128 0x9 - .4byte .LASF979 + .4byte .LASF983 .byte 0x18 .byte 0x6 .4byte 0x29a @@ -648,13 +648,13 @@ main: .4byte 0xa0 .byte 0 .uleb128 0x1 - .4byte .LASF980 + .4byte .LASF984 .byte 0x6 .byte 0x8 .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF981 + .4byte .LASF985 .byte 0x6 .byte 0x9 .4byte 0xa0 @@ -672,7 +672,7 @@ main: .4byte 0xa0 .byte 0x10 .uleb128 0x1 - .4byte .LASF982 + .4byte .LASF986 .byte 0x6 .byte 0xc .4byte 0xa0 @@ -697,7 +697,7 @@ main: .byte 0x4 .byte 0 .uleb128 0x9 - .4byte .LASF983 + .4byte .LASF987 .byte 0x50 .byte 0x8 .4byte 0x3b8 @@ -714,13 +714,13 @@ main: .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF984 + .4byte .LASF988 .byte 0x8 .byte 0x9 .4byte 0xa0 .byte 0x8 .uleb128 0x1 - .4byte .LASF985 + .4byte .LASF989 .byte 0x8 .byte 0xa .4byte 0xa0 @@ -738,19 +738,19 @@ main: .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF986 + .4byte .LASF990 .byte 0x8 .byte 0xd .4byte 0xa0 .byte 0x18 .uleb128 0x1 - .4byte .LASF987 + .4byte .LASF991 .byte 0x8 .byte 0xe .4byte 0xa0 .byte 0x1c .uleb128 0x1 - .4byte .LASF988 + .4byte .LASF992 .byte 0x8 .byte 0xf .4byte 0xa0 @@ -780,31 +780,31 @@ main: .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF989 + .4byte .LASF993 .byte 0x8 .byte 0x14 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF990 + .4byte .LASF994 .byte 0x8 .byte 0x15 .4byte 0xa0 .byte 0x38 .uleb128 0x1 - .4byte .LASF991 + .4byte .LASF995 .byte 0x8 .byte 0x16 .4byte 0xa0 .byte 0x3c .uleb128 0x1 - .4byte .LASF992 + .4byte .LASF996 .byte 0x8 .byte 0x17 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF993 + .4byte .LASF997 .byte 0x8 .byte 0x18 .4byte 0xa0 @@ -816,15 +816,15 @@ main: .4byte 0xa0 .byte 0x48 .uleb128 0x1 - .4byte .LASF994 + .4byte .LASF998 .byte 0x8 .byte 0x1a .4byte 0xa0 .byte 0x4c .byte 0 .uleb128 0xa - .4byte .LASF996 - .byte 0x2a + .4byte .LASF1000 + .byte 0x2e .4byte 0x3cd .uleb128 0x6 .4byte 0x88 @@ -834,10 +834,10 @@ main: .uleb128 0x3 .byte 0x1 .byte 0x2 - .4byte .LASF995 + .4byte .LASF999 .uleb128 0xa - .4byte .LASF997 - .byte 0x28 + .4byte .LASF1001 + .byte 0x2c .4byte 0x3e9 .uleb128 0x6 .4byte 0x88 @@ -845,13 +845,13 @@ main: .4byte 0x23c .byte 0 .uleb128 0xb - .4byte .LASF998 + .4byte .LASF1002 .byte 0x24 .uleb128 0xb - .4byte .LASF999 + .4byte .LASF1003 .byte 0x23 .uleb128 0x12 - .4byte .LASF1005 + .4byte .LASF1009 .byte 0x1 .byte 0x4b .byte 0x5 @@ -871,7 +871,7 @@ main: .byte 0x91 .sleb128 -14 .uleb128 0xc - .4byte .LASF1000 + .4byte .LASF1004 .byte 0x55 .byte 0xc .4byte 0x88 @@ -879,7 +879,7 @@ main: .byte 0x91 .sleb128 -10 .uleb128 0xc - .4byte .LASF1001 + .4byte .LASF1005 .byte 0x56 .byte 0x7 .4byte 0x3cd @@ -888,7 +888,7 @@ main: .sleb128 -11 .byte 0 .uleb128 0x14 - .4byte .LASF1006 + .4byte .LASF1010 .byte 0x1 .byte 0xc .byte 0xd @@ -2768,7 +2768,7 @@ main: .byte 0x4 .byte 0x5 .uleb128 0xa - .4byte .LASF935 + .4byte .LASF939 .byte 0x4 .byte 0 .section .debug_macro,"G",%progbits,wm4._newlib_version.h.4.6d111ab2e95434b664b53815e5c8ccba,comdat @@ -4048,7 +4048,7 @@ main: .uleb128 0x32 .4byte .LASF854 .byte 0 - .section .debug_macro,"G",%progbits,wm4.rcc.h.2.b760e7ff526d570de1c04ddc6fae6ff8,comdat + .section .debug_macro,"G",%progbits,wm4.rcc.h.2.52b7ffe0266717aacf3b04a1b7cb33f9,comdat .Ldebug_macro15: .2byte 0x5 .byte 0 @@ -4199,35 +4199,47 @@ main: .byte 0x5 .uleb128 0x7a .4byte .LASF903 + .byte 0x5 + .uleb128 0x7c + .4byte .LASF904 + .byte 0x5 + .uleb128 0x7d + .4byte .LASF905 .byte 0 - .section .debug_macro,"G",%progbits,wm4.gpio.h.2.3af2911851c1c29c51024d0f06788d31,comdat + .section .debug_macro,"G",%progbits,wm4.gpio.h.2.e8870d5e334b8cc926c6b43b65993420,comdat .Ldebug_macro16: .2byte 0x5 .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF904 - .byte 0x5 - .uleb128 0x14 - .4byte .LASF905 - .byte 0x5 - .uleb128 0x15 .4byte .LASF906 .byte 0x5 - .uleb128 0x16 + .uleb128 0x15 .4byte .LASF907 .byte 0x5 - .uleb128 0x19 + .uleb128 0x16 .4byte .LASF908 .byte 0x5 - .uleb128 0x1b + .uleb128 0x18 .4byte .LASF909 .byte 0x5 - .uleb128 0x1d + .uleb128 0x19 .4byte .LASF910 .byte 0x5 - .uleb128 0x1f + .uleb128 0x1a .4byte .LASF911 + .byte 0x5 + .uleb128 0x1d + .4byte .LASF912 + .byte 0x5 + .uleb128 0x1f + .4byte .LASF913 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF914 + .byte 0x5 + .uleb128 0x23 + .4byte .LASF915 .byte 0 .section .debug_macro,"G",%progbits,wm4.flash.h.2.51d6f0499046dca8c8d7cee08875e55f,comdat .Ldebug_macro17: @@ -4235,37 +4247,37 @@ main: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF912 - .byte 0x5 - .uleb128 0xf - .4byte .LASF913 - .byte 0x5 - .uleb128 0x10 - .4byte .LASF914 - .byte 0x5 - .uleb128 0x14 - .4byte .LASF915 - .byte 0x5 - .uleb128 0x15 .4byte .LASF916 .byte 0x5 - .uleb128 0x18 + .uleb128 0xf .4byte .LASF917 .byte 0x5 - .uleb128 0x19 + .uleb128 0x10 .4byte .LASF918 .byte 0x5 - .uleb128 0x1c + .uleb128 0x14 .4byte .LASF919 .byte 0x5 - .uleb128 0x1e + .uleb128 0x15 .4byte .LASF920 .byte 0x5 - .uleb128 0x1f + .uleb128 0x18 .4byte .LASF921 .byte 0x5 - .uleb128 0x20 + .uleb128 0x19 .4byte .LASF922 + .byte 0x5 + .uleb128 0x1c + .4byte .LASF923 + .byte 0x5 + .uleb128 0x1e + .4byte .LASF924 + .byte 0x5 + .uleb128 0x1f + .4byte .LASF925 + .byte 0x5 + .uleb128 0x20 + .4byte .LASF926 .byte 0 .section .debug_macro,"G",%progbits,wm4.pwr.h.2.b22d01f8fafa27268c4600cc8f787804,comdat .Ldebug_macro18: @@ -4273,25 +4285,25 @@ main: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF923 - .byte 0x5 - .uleb128 0xb - .4byte .LASF924 - .byte 0x5 - .uleb128 0xc - .4byte .LASF925 - .byte 0x5 - .uleb128 0xf - .4byte .LASF926 - .byte 0x5 - .uleb128 0x12 .4byte .LASF927 .byte 0x5 - .uleb128 0x13 + .uleb128 0xb .4byte .LASF928 .byte 0x5 - .uleb128 0x14 + .uleb128 0xc .4byte .LASF929 + .byte 0x5 + .uleb128 0xf + .4byte .LASF930 + .byte 0x5 + .uleb128 0x12 + .4byte .LASF931 + .byte 0x5 + .uleb128 0x13 + .4byte .LASF932 + .byte 0x5 + .uleb128 0x14 + .4byte .LASF933 .byte 0 .section .debug_macro,"G",%progbits,wm4.timer.h.2.2e929ede818fb0960868f1b0a08a1cbf,comdat .Ldebug_macro19: @@ -4299,19 +4311,19 @@ main: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF930 + .4byte .LASF934 .byte 0x5 .uleb128 0x1d - .4byte .LASF931 + .4byte .LASF935 .byte 0x5 .uleb128 0x1e - .4byte .LASF932 + .4byte .LASF936 .byte 0x5 .uleb128 0x20 - .4byte .LASF933 + .4byte .LASF937 .byte 0x5 .uleb128 0x21 - .4byte .LASF934 + .4byte .LASF938 .byte 0 .section .debug_line,"",%progbits .Ldebug_line0: @@ -4328,7 +4340,7 @@ main: .ascii "__UHA_FBIT__ 8\000" .LASF814: .ascii "PRIiFAST64 __PRI64FAST(i)\000" -.LASF937: +.LASF941: .ascii "unsigned char\000" .LASF225: .ascii "__FLT64_DENORM_MIN__ 4.9406564584124654e-324F64\000" @@ -4358,7 +4370,7 @@ main: .ascii "__WINT_MIN__ 0U\000" .LASF90: .ascii "__INTMAX_MAX__ 0x7fffffffffffffffLL\000" -.LASF976: +.LASF980: .ascii "GPIO_MODE_AF\000" .LASF335: .ascii "__TQ_IBIT__ 0\000" @@ -4372,7 +4384,7 @@ main: .ascii "__WCHAR_MAX__ 0xffffffffU\000" .LASF513: .ascii "__int20__\000" -.LASF902: +.LASF904: .ascii "RCC_APB1ENR_TIM4_BIT 2\000" .LASF18: .ascii "__SIZEOF_LONG_LONG__ 8\000" @@ -4384,7 +4396,7 @@ main: .ascii "__FRACT_MIN__ (-0.5R-0.5R)\000" .LASF324: .ascii "__ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULLK\000" -.LASF979: +.LASF983: .ascii "flash\000" .LASF294: .ascii "__USACCUM_MAX__ 0XFFFFP-8UHK\000" @@ -4400,7 +4412,7 @@ main: .ascii "__ORDER_PDP_ENDIAN__ 3412\000" .LASF34: .ascii "__SIZE_TYPE__ unsigned int\000" -.LASF903: +.LASF905: .ascii "RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT)" .ascii "\000" .LASF620: @@ -4459,9 +4471,9 @@ main: .ascii "_LDBL_EQ_DBL 1\000" .LASF675: .ascii "PRIi8 __PRI8(i)\000" -.LASF918: +.LASF922: .ascii "FLASH_ACR_ICEN_ENABLE (1 <> 8)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" +.LASF902: + .ascii "RCC_APB1ENR_USART2EN_BIT 17\000" .LASF889: .ascii "RCC_CFGR_PPRE1_MASK (0b111)\000" .LASF645: @@ -5697,13 +5718,13 @@ main: .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1\000" .LASF733: .ascii "SCNuLEAST16 __SCN16LEAST(u)\000" -.LASF954: +.LASF958: .ascii "APB1RSTR\000" .LASF298: .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" .LASF393: .ascii "__ARM_FEATURE_CRYPTO\000" -.LASF960: +.LASF964: .ascii "APB1ENR\000" .LASF741: .ascii "SCNdFAST16 __SCN16FAST(d)\000" @@ -5733,7 +5754,7 @@ main: .ascii ")\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF945: +.LASF949: .ascii "long long unsigned int\000" .LASF611: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" @@ -5780,11 +5801,11 @@ main: .ascii " RCC_PLLCFGR_PLLN_BIT)\000" .LASF56: .ascii "__UINT_LEAST16_TYPE__ short unsigned int\000" -.LASF926: +.LASF930: .ascii "PWR_SCALE3 (0b11)\000" .LASF573: .ascii "_INTMAX_T_DECLARED \000" -.LASF988: +.LASF992: .ascii "CCER\000" .LASF40: .ascii "__CHAR16_TYPE__ short unsigned int\000" @@ -5842,19 +5863,19 @@ main: .ascii "__int20__ +2\000" .LASF654: .ascii "_WCHAR_T_ \000" -.LASF984: +.LASF988: .ascii "SMCR\000" .LASF828: .ascii "PRIoMAX __PRIMAX(o)\000" .LASF747: .ascii "__SCN32(x) __INT32 __STRINGIFY(x)\000" -.LASF921: +.LASF925: .ascii "FLASH_ACR_LATENCY_MASK (0b1111)\000" -.LASF974: +.LASF978: .ascii "GPIO_MODE_INPUT\000" .LASF743: .ascii "SCNoFAST16 __SCN16FAST(o)\000" -.LASF909: +.LASF913: .ascii "PIN(port,num) (PORT(port) | num)\000" .LASF345: .ascii "__UTQ_IBIT__ 0\000" @@ -5906,7 +5927,7 @@ main: .ascii "__UINT_LEAST32_TYPE__ long unsigned int\000" .LASF405: .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" -.LASF905: +.LASF909: .ascii "GPIO_BASE_ADDR (0x40020000U)\000" .LASF38: .ascii "__INTMAX_TYPE__ long long int\000" @@ -5918,7 +5939,7 @@ main: .ascii "__ARM_ARCH_7EM__ 1\000" .LASF428: .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" -.LASF957: +.LASF961: .ascii "AHB1ENR\000" .LASF295: .ascii "__USACCUM_EPSILON__ 0x1P-8UHK\000" @@ -5958,7 +5979,7 @@ main: .ascii "__DBL_DIG__ 15\000" .LASF275: .ascii "__ULFRACT_EPSILON__ 0x1P-32ULR\000" -.LASF952: +.LASF956: .ascii "AHB2RSTR\000" .LASF671: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" @@ -5982,13 +6003,13 @@ main: .ascii "__LDBL_MIN__ 2.2250738585072014e-308L\000" .LASF445: .ascii "__ARM_FEATURE_CDE\000" -.LASF980: +.LASF984: .ascii "KEYR\000" .LASF509: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF938: +.LASF942: .ascii "short int\000" .LASF835: .ascii "SCNuMAX __SCNMAX(u)\000" @@ -6012,11 +6033,11 @@ main: .ascii "_ATTRIBUTE(attrs) __attribute__ (attrs)\000" .LASF443: .ascii "__ARM_FEATURE_COPROC\000" -.LASF977: +.LASF981: .ascii "GPIO_MODE_ANALOG\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" -.LASF932: +.LASF936: .ascii "TIM4 ((struct timer *) TIM4_BASE_ADDR)\000" .LASF95: .ascii "__SIG_ATOMIC_MAX__ 0x7fffffff\000" @@ -6024,7 +6045,7 @@ main: .ascii "UINT64_MAX (__UINT64_MAX__)\000" .LASF471: .ascii "_RETARGETABLE_LOCKING 1\000" -.LASF915: +.LASF919: .ascii "FLASH_ACR_DCEN_BIT 10\000" .LASF453: .ascii "__USES_INITFINI__ 1\000" @@ -6096,11 +6117,11 @@ main: .ascii "__LDBL_DECIMAL_DIG__ 17\000" .LASF701: .ascii "PRIXFAST8 __PRI8FAST(X)\000" -.LASF1001: +.LASF1005: .ascii "led_on\000" .LASF308: .ascii "__LACCUM_MIN__ (-0X1P31LK-0X1P31LK)\000" -.LASF1003: +.LASF1007: .ascii "src/main.c\000" .LASF126: .ascii "__INT_FAST8_MAX__ 0x7fffffff\000" @@ -6138,13 +6159,13 @@ main: .ascii "__ULLFRACT_MIN__ 0.0ULLR\000" .LASF651: .ascii "_T_WCHAR_ \000" -.LASF993: +.LASF997: .ascii "BDTR\000" .LASF382: .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" .LASF664: .ascii "_BSD_WCHAR_T_\000" -.LASF972: +.LASF976: .ascii "PLLI2SCFGR\000" .LASF277: .ascii "__LLFRACT_IBIT__ 0\000" @@ -6152,9 +6173,9 @@ main: .ascii "UINT16_C(x) __UINT16_C(x)\000" .LASF756: .ascii "PRIx32 __PRI32(x)\000" -.LASF999: +.LASF1003: .ascii "tim4_init\000" -.LASF948: +.LASF952: .ascii "uint32_t\000" .LASF878: .ascii "RCC_PLLCFGR_PLLN_BIT 6\000" @@ -6162,13 +6183,13 @@ main: .ascii "PRIxLEAST8 __PRI8LEAST(x)\000" .LASF506: .ascii "_SYS__INTSUP_H \000" -.LASF982: +.LASF986: .ascii "OPTCR\000" .LASF290: .ascii "__SACCUM_EPSILON__ 0x1P-7HK\000" .LASF415: .ascii "__GCC_ASM_FLAG_OUTPUTS__ 1\000" -.LASF913: +.LASF917: .ascii "FLASH_BASE_ADDR (0x40023C00U)\000" .LASF745: .ascii "SCNxFAST16 __SCN16FAST(x)\000" @@ -6214,13 +6235,13 @@ main: .ascii "__PRI16(x) __INT16 __STRINGIFY(x)\000" .LASF159: .ascii "__FLT_HAS_DENORM__ 1\000" -.LASF910: +.LASF914: .ascii "PINNUM(pin) (pin & 0b1111)\000" .LASF768: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF939: +.LASF943: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -6236,7 +6257,7 @@ main: .ascii "__HQ_FBIT__ 15\000" .LASF854: .ascii "__bool_true_false_are_defined 1\000" -.LASF907: +.LASF911: .ascii "GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADD" .ascii "R + (GPIO_PORT_OFFSET * port)))\000" .LASF798: @@ -6247,7 +6268,7 @@ main: .ascii "__SIZE_MAX__ 0xffffffffU\000" .LASF818: .ascii "PRIXFAST64 __PRI64FAST(X)\000" -.LASF912: +.LASF916: .ascii "FLASH_H_ \000" .LASF412: .ascii "__ARM_ARCH\000" @@ -6265,7 +6286,7 @@ main: .ascii "SCNuFAST32 __SCN32FAST(u)\000" .LASF522: .ascii "long +4\000" -.LASF951: +.LASF955: .ascii "AHB1RSTR\000" .LASF723: .ascii "SCNx16 __SCN16(x)\000" @@ -6275,7 +6296,7 @@ main: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF340: .ascii "__USQ_FBIT__ 32\000" -.LASF1004: +.LASF1008: .ascii "/home/alex/code/own/stm32-falling-sand\000" .LASF796: .ascii "PRIX64 __PRI64(X)\000" @@ -6339,7 +6360,7 @@ main: .ascii "__INT_LEAST64_TYPE__ long long int\000" .LASF103: .ascii "__UINT16_MAX__ 0xffff\000" -.LASF924: +.LASF928: .ascii "PWR_BASE_ADDR (0x40007000U)\000" .LASF446: .ascii "__ARM_FEATURE_CDE_COPROC\000" diff --git a/build/main.i b/build/main.i index e5271b3..69baaab 100644 --- a/build/main.i +++ b/build/main.i @@ -2100,6 +2100,9 @@ struct rcc { #define RCC_APB1ENR_PWREN_BIT 28 #define RCC_APB1ENR_PWREN_CLOCK_ENABLE (1 << RCC_APB1ENR_PWREN_BIT) +#define RCC_APB1ENR_USART2EN_BIT 17 +#define RCC_APB1ENR_USART2EN_ENABLE (1 << RCC_APB1ENR_USART2EN_BIT) + #define RCC_APB1ENR_TIM4_BIT 2 #define RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT) # 5 "src/main.c" 2 @@ -2123,6 +2126,10 @@ struct gpio { volatile uint32_t AFRH; }; + +#define GPIO_AF_USART2_RX (0b0111) +#define GPIO_AF_USART2_TX (0b0111) + #define GPIO_BASE_ADDR (0x40020000U) #define GPIO_PORT_OFFSET (0x400U) #define GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADDR + (GPIO_PORT_OFFSET * port))) @@ -2146,9 +2153,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, -# 42 "src/gpio.h" 3 4 +# 46 "src/gpio.h" 3 4 _Bool -# 42 "src/gpio.h" +# 46 "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 87fe3e8..2ea000b 100644 Binary files a/build/main.o and b/build/main.o differ diff --git a/build/timer.S b/build/timer.S index d8141ff..fead8af 100644 --- a/build/timer.S +++ b/build/timer.S @@ -136,10 +136,10 @@ tim4_start: .byte 0x4 .4byte .Ldebug_abbrev0 .uleb128 0x7 - .4byte .LASF956 - .byte 0x1d - .4byte .LASF957 .4byte .LASF958 + .byte 0x1d + .4byte .LASF959 + .4byte .LASF960 .4byte .LLRL0 .4byte 0 .4byte .Ldebug_line0 @@ -147,17 +147,17 @@ tim4_start: .uleb128 0x3 .byte 0x1 .byte 0x6 - .4byte .LASF904 + .4byte .LASF906 .uleb128 0x3 .byte 0x1 .byte 0x8 - .4byte .LASF905 + .4byte .LASF907 .uleb128 0x3 .byte 0x2 .byte 0x5 - .4byte .LASF906 + .4byte .LASF908 .uleb128 0x4 - .4byte .LASF909 + .4byte .LASF911 .byte 0x2 .byte 0x39 .byte 0x1c @@ -165,13 +165,13 @@ tim4_start: .uleb128 0x3 .byte 0x2 .byte 0x7 - .4byte .LASF907 + .4byte .LASF909 .uleb128 0x3 .byte 0x4 .byte 0x5 - .4byte .LASF908 - .uleb128 0x4 .4byte .LASF910 + .uleb128 0x4 + .4byte .LASF912 .byte 0x2 .byte 0x4f .byte 0x1b @@ -179,15 +179,15 @@ tim4_start: .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF911 + .4byte .LASF913 .uleb128 0x3 .byte 0x8 .byte 0x5 - .4byte .LASF912 + .4byte .LASF914 .uleb128 0x3 .byte 0x8 .byte 0x7 - .4byte .LASF913 + .4byte .LASF915 .uleb128 0x8 .byte 0x4 .byte 0x5 @@ -195,15 +195,15 @@ tim4_start: .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF914 + .4byte .LASF916 .uleb128 0x4 - .4byte .LASF915 + .4byte .LASF917 .byte 0x3 .byte 0x24 .byte 0x14 .4byte 0x3f .uleb128 0x4 - .4byte .LASF916 + .4byte .LASF918 .byte 0x3 .byte 0x30 .byte 0x14 @@ -224,13 +224,13 @@ tim4_start: .4byte 0xa0 .byte 0 .uleb128 0x1 - .4byte .LASF917 + .4byte .LASF919 .byte 0x4 .byte 0x8 .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF918 + .4byte .LASF920 .byte 0x4 .byte 0x9 .4byte 0xa0 @@ -242,115 +242,115 @@ tim4_start: .4byte 0xa0 .byte 0xc .uleb128 0x1 - .4byte .LASF919 + .4byte .LASF921 .byte 0x4 .byte 0xb .4byte 0xa0 .byte 0x10 .uleb128 0x1 - .4byte .LASF920 + .4byte .LASF922 .byte 0x4 .byte 0xc .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF921 + .4byte .LASF923 .byte 0x4 .byte 0xd .4byte 0x212 .byte 0x18 .uleb128 0x1 - .4byte .LASF922 + .4byte .LASF924 .byte 0x4 .byte 0xe .4byte 0xa0 .byte 0x20 .uleb128 0x1 - .4byte .LASF923 + .4byte .LASF925 .byte 0x4 .byte 0xf .4byte 0xa0 .byte 0x24 .uleb128 0x1 - .4byte .LASF924 + .4byte .LASF926 .byte 0x4 .byte 0x10 .4byte 0x212 .byte 0x28 .uleb128 0x1 - .4byte .LASF925 + .4byte .LASF927 .byte 0x4 .byte 0x11 .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF926 + .4byte .LASF928 .byte 0x4 .byte 0x12 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF927 + .4byte .LASF929 .byte 0x4 .byte 0x13 .4byte 0x212 .byte 0x38 .uleb128 0x1 - .4byte .LASF928 + .4byte .LASF930 .byte 0x4 .byte 0x14 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF929 + .4byte .LASF931 .byte 0x4 .byte 0x15 .4byte 0xa0 .byte 0x44 .uleb128 0x1 - .4byte .LASF930 + .4byte .LASF932 .byte 0x4 .byte 0x16 .4byte 0x212 .byte 0x48 .uleb128 0x1 - .4byte .LASF931 + .4byte .LASF933 .byte 0x4 .byte 0x17 .4byte 0xa0 .byte 0x50 .uleb128 0x1 - .4byte .LASF932 + .4byte .LASF934 .byte 0x4 .byte 0x18 .4byte 0xa0 .byte 0x54 .uleb128 0x1 - .4byte .LASF933 + .4byte .LASF935 .byte 0x4 .byte 0x19 .4byte 0x212 .byte 0x58 .uleb128 0x1 - .4byte .LASF934 + .4byte .LASF936 .byte 0x4 .byte 0x1a .4byte 0xa0 .byte 0x60 .uleb128 0x1 - .4byte .LASF935 + .4byte .LASF937 .byte 0x4 .byte 0x1b .4byte 0xa0 .byte 0x64 .uleb128 0x1 - .4byte .LASF936 + .4byte .LASF938 .byte 0x4 .byte 0x1c .4byte 0x212 .byte 0x68 .uleb128 0x1 - .4byte .LASF937 + .4byte .LASF939 .byte 0x4 .byte 0x1d .4byte 0xa0 @@ -362,25 +362,25 @@ tim4_start: .4byte 0xa0 .byte 0x74 .uleb128 0x1 - .4byte .LASF938 + .4byte .LASF940 .byte 0x4 .byte 0x1f .4byte 0x212 .byte 0x78 .uleb128 0x1 - .4byte .LASF939 + .4byte .LASF941 .byte 0x4 .byte 0x20 .4byte 0xa0 .byte 0x80 .uleb128 0x1 - .4byte .LASF940 + .4byte .LASF942 .byte 0x4 .byte 0x21 .4byte 0xa0 .byte 0x84 .uleb128 0x1 - .4byte .LASF941 + .4byte .LASF943 .byte 0x4 .byte 0x22 .4byte 0xa0 @@ -396,7 +396,7 @@ tim4_start: .uleb128 0x5 .4byte 0x202 .uleb128 0xc - .4byte .LASF942 + .4byte .LASF944 .byte 0x50 .byte 0x5 .byte 0x6 @@ -415,13 +415,13 @@ tim4_start: .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF943 + .4byte .LASF945 .byte 0x5 .byte 0x9 .4byte 0xa0 .byte 0x8 .uleb128 0x1 - .4byte .LASF944 + .4byte .LASF946 .byte 0x5 .byte 0xa .4byte 0xa0 @@ -439,19 +439,19 @@ tim4_start: .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF945 + .4byte .LASF947 .byte 0x5 .byte 0xd .4byte 0xa0 .byte 0x18 .uleb128 0x1 - .4byte .LASF946 + .4byte .LASF948 .byte 0x5 .byte 0xe .4byte 0xa0 .byte 0x1c .uleb128 0x1 - .4byte .LASF947 + .4byte .LASF949 .byte 0x5 .byte 0xf .4byte 0xa0 @@ -481,31 +481,31 @@ tim4_start: .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF948 + .4byte .LASF950 .byte 0x5 .byte 0x14 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF949 + .4byte .LASF951 .byte 0x5 .byte 0x15 .4byte 0xa0 .byte 0x38 .uleb128 0x1 - .4byte .LASF950 + .4byte .LASF952 .byte 0x5 .byte 0x16 .4byte 0xa0 .byte 0x3c .uleb128 0x1 - .4byte .LASF951 + .4byte .LASF953 .byte 0x5 .byte 0x17 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF952 + .4byte .LASF954 .byte 0x5 .byte 0x18 .4byte 0xa0 @@ -517,21 +517,21 @@ tim4_start: .4byte 0xa0 .byte 0x48 .uleb128 0x1 - .4byte .LASF953 + .4byte .LASF955 .byte 0x5 .byte 0x1a .4byte 0xa0 .byte 0x4c .byte 0 .uleb128 0x6 - .4byte .LASF954 + .4byte .LASF956 .byte 0x14 .4byte .LFB1 .4byte .LFE1-.LFB1 .uleb128 0x1 .byte 0x9c .uleb128 0x6 - .4byte .LASF955 + .4byte .LASF957 .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.7ab56e8f55874aebd4da18716582113c,comdat + .section .debug_macro,"G",%progbits,wm4.rcc.h.37.fc51eb78a9b2f3f5a4ab23580aa1aac2,comdat .Ldebug_macro14: .2byte 0x5 .byte 0 @@ -3649,6 +3649,12 @@ tim4_start: .byte 0x5 .uleb128 0x7a .4byte .LASF898 + .byte 0x5 + .uleb128 0x7c + .4byte .LASF899 + .byte 0x5 + .uleb128 0x7d + .4byte .LASF900 .byte 0 .section .debug_macro,"G",%progbits,wm4.timer.h.2.2e929ede818fb0960868f1b0a08a1cbf,comdat .Ldebug_macro15: @@ -3656,19 +3662,19 @@ tim4_start: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF899 - .byte 0x5 - .uleb128 0x1d - .4byte .LASF900 - .byte 0x5 - .uleb128 0x1e .4byte .LASF901 .byte 0x5 - .uleb128 0x20 + .uleb128 0x1d .4byte .LASF902 .byte 0x5 - .uleb128 0x21 + .uleb128 0x1e .4byte .LASF903 + .byte 0x5 + .uleb128 0x20 + .4byte .LASF904 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF905 .byte 0 .section .debug_line,"",%progbits .Ldebug_line0: @@ -3683,7 +3689,7 @@ tim4_start: .ascii "__UHA_FBIT__ 8\000" .LASF815: .ascii "PRIiFAST64 __PRI64FAST(i)\000" -.LASF905: +.LASF907: .ascii "unsigned char\000" .LASF225: .ascii "__FLT64_DENORM_MIN__ 4.9406564584124654e-324F64\000" @@ -3729,7 +3735,7 @@ tim4_start: .ascii "__WCHAR_MAX__ 0xffffffffU\000" .LASF514: .ascii "__int20__\000" -.LASF897: +.LASF899: .ascii "RCC_APB1ENR_TIM4_BIT 2\000" .LASF18: .ascii "__SIZEOF_LONG_LONG__ 8\000" @@ -3755,7 +3761,7 @@ tim4_start: .ascii "__ORDER_PDP_ENDIAN__ 3412\000" .LASF34: .ascii "__SIZE_TYPE__ unsigned int\000" -.LASF898: +.LASF900: .ascii "RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT)" .ascii "\000" .LASF621: @@ -3842,7 +3848,7 @@ tim4_start: .ascii "__need_wchar_t\000" .LASF199: .ascii "__FLT32_MIN_EXP__ (-125)\000" -.LASF956: +.LASF958: .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" @@ -3861,7 +3867,7 @@ tim4_start: .ascii "__int_fast32_t_defined 1\000" .LASF133: .ascii "__INT_FAST64_WIDTH__ 64\000" -.LASF953: +.LASF955: .ascii "DMAR\000" .LASF660: .ascii "___int_wchar_t_h \000" @@ -3912,13 +3918,13 @@ tim4_start: .ascii "SCNo32 __SCN32(o)\000" .LASF541: .ascii "_NOTHROW \000" -.LASF948: - .ascii "CCR1\000" -.LASF949: - .ascii "CCR2\000" .LASF950: - .ascii "CCR3\000" + .ascii "CCR1\000" .LASF951: + .ascii "CCR2\000" +.LASF952: + .ascii "CCR3\000" +.LASF953: .ascii "CCR4\000" .LASF307: .ascii "__LACCUM_IBIT__ 32\000" @@ -3942,7 +3948,7 @@ tim4_start: .ascii "__INT64 \"ll\"\000" .LASF138: .ascii "__INTPTR_MAX__ 0x7fffffff\000" -.LASF932: +.LASF934: .ascii "AHB2LPENR\000" .LASF500: .ascii "__RAND_MAX\000" @@ -3985,7 +3991,7 @@ tim4_start: .ascii " RCC_PLLCFGR_PLLP_BIT)\000" .LASF302: .ascii "__UACCUM_IBIT__ 16\000" -.LASF908: +.LASF910: .ascii "long int\000" .LASF720: .ascii "SCNd16 __SCN16(d)\000" @@ -4062,7 +4068,7 @@ tim4_start: .ascii "__SIZEOF_LONG__ 4\000" .LASF754: .ascii "PRIi32 __PRI32(i)\000" -.LASF929: +.LASF931: .ascii "APB2ENR\000" .LASF822: .ascii "SCNoFAST64 __SCN64FAST(o)\000" @@ -4076,7 +4082,7 @@ tim4_start: .ascii "__FLT32X_MIN_EXP__ (-1021)\000" .LASF816: .ascii "PRIoFAST64 __PRI64FAST(o)\000" -.LASF931: +.LASF933: .ascii "AHB1LPENR\000" .LASF406: .ascii "__ARM_FEATURE_SIMD32 1\000" @@ -4088,7 +4094,7 @@ tim4_start: .ascii "PRIoLEAST16 __PRI16LEAST(o)\000" .LASF459: .ascii "__NEWLIB__ 4\000" -.LASF941: +.LASF943: .ascii "DCKCFGR\000" .LASF721: .ascii "SCNi16 __SCN16(i)\000" @@ -4098,7 +4104,7 @@ tim4_start: .ascii "__FLT_DECIMAL_DIG__ 9\000" .LASF563: .ascii "_UINT8_T_DECLARED \000" -.LASF904: +.LASF906: .ascii "signed char\000" .LASF806: .ascii "PRIuLEAST64 __PRI64LEAST(u)\000" @@ -4132,19 +4138,19 @@ tim4_start: .ascii "__FLT64_MAX_10_EXP__ 308\000" .LASF874: .ascii "RCC_PLLCFGR_PLLN_MASK (0b111111111)\000" -.LASF957: +.LASF959: .ascii "src/timer.c\000" -.LASF924: +.LASF926: .ascii "RESERVED1\000" -.LASF927: +.LASF929: .ascii "RESERVED2\000" .LASF3: .ascii "__STDC_UTF_32__ 1\000" -.LASF933: +.LASF935: .ascii "RESERVED4\000" .LASF241: .ascii "__FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x\000" -.LASF938: +.LASF940: .ascii "RESERVED6\000" .LASF152: .ascii "__FLT_MAX_10_EXP__ 38\000" @@ -4164,7 +4170,7 @@ tim4_start: .ascii "SCNoLEAST32 __SCN32LEAST(o)\000" .LASF891: .ascii "RCC_CFGR_SW_PLL (0b10)\000" -.LASF902: +.LASF904: .ascii "TIM_CR1_CEN_BIT 0\000" .LASF798: .ascii "SCNd64 __SCN64(d)\000" @@ -4184,7 +4190,7 @@ tim4_start: .ascii "__int_fast64_t_defined 1\000" .LASF838: .ascii "__PRIPTR(x) __STRINGIFY(x)\000" -.LASF915: +.LASF917: .ascii "uint16_t\000" .LASF417: .ascii "__thumb2__ 1\000" @@ -4192,25 +4198,28 @@ tim4_start: .ascii "__ULLACCUM_FBIT__ 32\000" .LASF895: .ascii "RCC_APB1ENR_PWREN_BIT 28\000" +.LASF898: + .ascii "RCC_APB1ENR_USART2EN_ENABLE (1 << RCC_APB1ENR_USART" + .ascii "2EN_BIT)\000" .LASF366: .ascii "__STRICT_ANSI__ 1\000" .LASF486: .ascii "_SYS_FEATURES_H \000" .LASF813: .ascii "SCNxLEAST64 __SCN64LEAST(x)\000" -.LASF930: +.LASF932: .ascii "RESERVED3\000" .LASF22: .ascii "__SIZEOF_LONG_DOUBLE__ 8\000" -.LASF936: +.LASF938: .ascii "RESERVED5\000" -.LASF945: +.LASF947: .ascii "CCMR1\000" -.LASF946: +.LASF948: .ascii "CCMR2\000" .LASF36: .ascii "__WCHAR_TYPE__ unsigned int\000" -.LASF899: +.LASF901: .ascii "TIMER_H_ \000" .LASF470: .ascii "_MB_LEN_MAX 8\000" @@ -4254,9 +4263,9 @@ tim4_start: .ascii "__SCN64(x) __INT64 __STRINGIFY(x)\000" .LASF647: .ascii "_GCC_WRAP_STDINT_H \000" -.LASF909: +.LASF911: .ascii "__uint16_t\000" -.LASF926: +.LASF928: .ascii "AHB2ENR\000" .LASF805: .ascii "PRIoLEAST64 __PRI64LEAST(o)\000" @@ -4270,7 +4279,7 @@ tim4_start: .ascii "__UINT8_MAX__ 0xff\000" .LASF575: .ascii "_UINTMAX_T_DECLARED \000" -.LASF942: +.LASF944: .ascii "timer\000" .LASF184: .ascii "__LDBL_MAX_EXP__ 1024\000" @@ -4314,7 +4323,7 @@ tim4_start: .ascii "__FLT_EPSILON__ 1.1920928955078125e-7F\000" .LASF770: .ascii "SCNdLEAST32 __SCN32LEAST(d)\000" -.LASF921: +.LASF923: .ascii "RESERVED0\000" .LASF807: .ascii "PRIxLEAST64 __PRI64LEAST(x)\000" @@ -4352,7 +4361,7 @@ tim4_start: .ascii "__LACCUM_FBIT__ 31\000" .LASF689: .ascii "PRIuLEAST8 __PRI8LEAST(u)\000" -.LASF937: +.LASF939: .ascii "BDCR\000" .LASF211: .ascii "__FLT32_HAS_QUIET_NAN__ 1\000" @@ -4414,7 +4423,7 @@ tim4_start: .ascii "RCC_CR_HSERDY_READY (1 << RCC_CR_HSERDY_BIT)\000" .LASF763: .ascii "SCNx32 __SCN32(x)\000" -.LASF918: +.LASF920: .ascii "CFGR\000" .LASF558: .ascii "___int_least32_t_defined 1\000" @@ -4484,7 +4493,7 @@ tim4_start: .ascii "___int8_t_defined 1\000" .LASF248: .ascii "__SFRACT_MIN__ (-0.5HR-0.5HR)\000" -.LASF911: +.LASF913: .ascii "long unsigned int\000" .LASF349: .ascii "__SA_IBIT__ 16\000" @@ -4502,7 +4511,7 @@ tim4_start: .ascii "__UINT16_TYPE__ short unsigned int\000" .LASF868: .ascii "RCC_PLLCFGR_PLLSRC_BIT 22\000" -.LASF944: +.LASF946: .ascii "DIER\000" .LASF657: .ascii "_WCHAR_T_DEFINED_ \000" @@ -4606,11 +4615,11 @@ tim4_start: .ascii "PRIX32 __PRI32(X)\000" .LASF774: .ascii "SCNxLEAST32 __SCN32LEAST(x)\000" -.LASF954: +.LASF956: .ascii "tim4_start\000" .LASF704: .ascii "SCNiFAST8 __SCN8FAST(i)\000" -.LASF917: +.LASF919: .ascii "PLLCFGR\000" .LASF5: .ascii "__GNUC__ 12\000" @@ -4638,7 +4647,7 @@ tim4_start: .ascii "__ULACCUM_MIN__ 0.0ULK\000" .LASF462: .ascii "_ATEXIT_DYNAMIC_ALLOC 1\000" -.LASF910: +.LASF912: .ascii "__uint32_t\000" .LASF188: .ascii "__LDBL_MAX__ 1.7976931348623157e+308L\000" @@ -4648,7 +4657,7 @@ tim4_start: .ascii "__FLT_RADIX__ 2\000" .LASF455: .ascii "_INTTYPES_H \000" -.LASF912: +.LASF914: .ascii "long long int\000" .LASF401: .ascii "__ARM_FEATURE_CMSE\000" @@ -4668,7 +4677,7 @@ tim4_start: .ascii "WINT_MAX (__WINT_MAX__)\000" .LASF823: .ascii "SCNuFAST64 __SCN64FAST(u)\000" -.LASF939: +.LASF941: .ascii "SSCGR\000" .LASF137: .ascii "__UINT_FAST64_MAX__ 0xffffffffffffffffULL\000" @@ -4696,7 +4705,7 @@ tim4_start: .ascii "___int32_t_defined 1\000" .LASF83: .ascii "__INT_WIDTH__ 32\000" -.LASF923: +.LASF925: .ascii "APB2RSTR\000" .LASF409: .ascii "__ARM_ARCH_PROFILE\000" @@ -4748,9 +4757,9 @@ tim4_start: .ascii "__ARM_NEON_FP\000" .LASF280: .ascii "__LLFRACT_EPSILON__ 0x1P-63LLR\000" -.LASF935: +.LASF937: .ascii "APB2LPENR\000" -.LASF903: +.LASF905: .ascii "TIM_ENABLE (1 << TIM_CR1_CEN_BIT)\000" .LASF821: .ascii "SCNiFAST64 __SCN64FAST(i)\000" @@ -4758,7 +4767,7 @@ tim4_start: .ascii "_ANSIDECL_H_ \000" .LASF684: .ascii "SCNu8 __SCN8(u)\000" -.LASF900: +.LASF902: .ascii "TIM4_BASE_ADDR (0x40000800U)\000" .LASF261: .ascii "__UFRACT_FBIT__ 16\000" @@ -4778,7 +4787,7 @@ tim4_start: .ascii "L)\000" .LASF608: .ascii "INT64_MAX (__INT64_MAX__)\000" -.LASF914: +.LASF916: .ascii "unsigned int\000" .LASF857: .ascii "RCC_CR_HSERDY_BIT 17\000" @@ -4864,7 +4873,7 @@ tim4_start: .ascii "__STRINGIFY(a) #a\000" .LASF356: .ascii "__USA_FBIT__ 16\000" -.LASF934: +.LASF936: .ascii "APB1LPENR\000" .LASF480: .ascii "__IEEE_LITTLE_ENDIAN \000" @@ -4972,6 +4981,8 @@ tim4_start: .ascii "SCNx64 __SCN64(x)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" +.LASF897: + .ascii "RCC_APB1ENR_USART2EN_BIT 17\000" .LASF884: .ascii "RCC_CFGR_PPRE1_MASK (0b111)\000" .LASF646: @@ -4990,13 +5001,13 @@ tim4_start: .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1\000" .LASF734: .ascii "SCNuLEAST16 __SCN16LEAST(u)\000" -.LASF922: +.LASF924: .ascii "APB1RSTR\000" .LASF298: .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" .LASF393: .ascii "__ARM_FEATURE_CRYPTO\000" -.LASF928: +.LASF930: .ascii "APB1ENR\000" .LASF742: .ascii "SCNdFAST16 __SCN16FAST(d)\000" @@ -5026,7 +5037,7 @@ tim4_start: .ascii ")\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF913: +.LASF915: .ascii "long long unsigned int\000" .LASF612: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" @@ -5073,7 +5084,7 @@ tim4_start: .ascii "__UINT_LEAST16_TYPE__ short unsigned int\000" .LASF574: .ascii "_INTMAX_T_DECLARED \000" -.LASF947: +.LASF949: .ascii "CCER\000" .LASF40: .ascii "__CHAR16_TYPE__ short unsigned int\000" @@ -5129,7 +5140,7 @@ tim4_start: .ascii "__int20__ +2\000" .LASF655: .ascii "_WCHAR_T_ \000" -.LASF943: +.LASF945: .ascii "SMCR\000" .LASF829: .ascii "PRIoMAX __PRIMAX(o)\000" @@ -5199,7 +5210,7 @@ tim4_start: .ascii "__ARM_ARCH_7EM__ 1\000" .LASF428: .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" -.LASF925: +.LASF927: .ascii "AHB1ENR\000" .LASF295: .ascii "__USACCUM_EPSILON__ 0x1P-8UHK\000" @@ -5239,7 +5250,7 @@ tim4_start: .ascii "__DBL_DIG__ 15\000" .LASF275: .ascii "__ULFRACT_EPSILON__ 0x1P-32ULR\000" -.LASF920: +.LASF922: .ascii "AHB2RSTR\000" .LASF672: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" @@ -5269,7 +5280,7 @@ tim4_start: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF906: +.LASF908: .ascii "short int\000" .LASF836: .ascii "SCNuMAX __SCNMAX(u)\000" @@ -5295,7 +5306,7 @@ tim4_start: .ascii "__ARM_FEATURE_COPROC\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" -.LASF901: +.LASF903: .ascii "TIM4 ((struct timer *) TIM4_BASE_ADDR)\000" .LASF95: .ascii "__SIG_ATOMIC_MAX__ 0x7fffffff\000" @@ -5413,13 +5424,13 @@ tim4_start: .ascii "__ULLFRACT_MIN__ 0.0ULLR\000" .LASF652: .ascii "_T_WCHAR_ \000" -.LASF952: +.LASF954: .ascii "BDTR\000" .LASF382: .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" .LASF665: .ascii "_BSD_WCHAR_T_\000" -.LASF940: +.LASF942: .ascii "PLLI2SCFGR\000" .LASF277: .ascii "__LLFRACT_IBIT__ 0\000" @@ -5427,9 +5438,9 @@ tim4_start: .ascii "UINT16_C(x) __UINT16_C(x)\000" .LASF757: .ascii "PRIx32 __PRI32(x)\000" -.LASF955: +.LASF957: .ascii "tim4_init\000" -.LASF916: +.LASF918: .ascii "uint32_t\000" .LASF873: .ascii "RCC_PLLCFGR_PLLN_BIT 6\000" @@ -5489,7 +5500,7 @@ tim4_start: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF907: +.LASF909: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -5529,7 +5540,7 @@ tim4_start: .ascii "SCNuFAST32 __SCN32FAST(u)\000" .LASF523: .ascii "long +4\000" -.LASF919: +.LASF921: .ascii "AHB1RSTR\000" .LASF724: .ascii "SCNx16 __SCN16(x)\000" @@ -5539,7 +5550,7 @@ tim4_start: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF340: .ascii "__USQ_FBIT__ 32\000" -.LASF958: +.LASF960: .ascii "/home/alex/code/own/stm32-falling-sand\000" .LASF797: .ascii "PRIX64 __PRI64(X)\000" diff --git a/build/timer.i b/build/timer.i index 0f9db82..a36d58e 100644 --- a/build/timer.i +++ b/build/timer.i @@ -2085,6 +2085,9 @@ struct rcc { #define RCC_APB1ENR_PWREN_BIT 28 #define RCC_APB1ENR_PWREN_CLOCK_ENABLE (1 << RCC_APB1ENR_PWREN_BIT) +#define RCC_APB1ENR_USART2EN_BIT 17 +#define RCC_APB1ENR_USART2EN_ENABLE (1 << RCC_APB1ENR_USART2EN_BIT) + #define RCC_APB1ENR_TIM4_BIT 2 #define RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT) # 2 "src/timer.c" 2 diff --git a/build/timer.o b/build/timer.o index 7cca306..2c88b08 100644 Binary files a/build/timer.o and b/build/timer.o differ diff --git a/build/usart.S b/build/usart.S new file mode 100644 index 0000000..a6b6c96 --- /dev/null +++ b/build/usart.S @@ -0,0 +1,6189 @@ + .cpu cortex-m4 + .arch armv7e-m + .fpu fpv4-sp-d16 + .eabi_attribute 27, 1 + .eabi_attribute 28, 1 + .eabi_attribute 20, 1 + .eabi_attribute 21, 1 + .eabi_attribute 23, 3 + .eabi_attribute 24, 1 + .eabi_attribute 25, 1 + .eabi_attribute 26, 1 + .eabi_attribute 30, 6 + .eabi_attribute 34, 1 + .eabi_attribute 18, 4 + .file "usart.c" + .text +.Ltext0: + .cfi_sections .debug_frame + .file 1 "src/usart.c" + .section .text.usart2_init,"ax",%progbits + .align 1 + .global usart2_init + .syntax unified + .thumb + .thumb_func + .type usart2_init, %function +usart2_init: +.LFB0: + .loc 1 5 24 + .cfi_startproc + @ args = 0, pretend = 0, frame = 8 + @ frame_needed = 1, uses_anonymous_args = 0 + push {r7, lr} + .cfi_def_cfa_offset 8 + .cfi_offset 7, -8 + .cfi_offset 14, -4 + sub sp, sp, #8 + .cfi_def_cfa_offset 16 + add r7, sp, #0 + .cfi_def_cfa_register 7 + .loc 1 7 33 + ldr r3, .L2 + ldr r3, [r3, #48] + ldr r2, .L2 + .loc 1 7 43 + orr r3, r3, #1 + str r3, [r2, #48] + .loc 1 10 12 + movs r3, #2 + strh r3, [r7, #6] @ movhi + .loc 1 11 3 + ldrh r3, [r7, #6] + movs r1, #2 + mov r0, r3 + bl gpio_set_mode + .loc 1 12 3 + ldrh r3, [r7, #6] + movs r1, #7 + mov r0, r3 + bl gpio_set_af + .loc 1 14 12 + movs r3, #3 + strh r3, [r7, #4] @ movhi + .loc 1 15 3 + ldrh r3, [r7, #4] + movs r1, #2 + mov r0, r3 + bl gpio_set_mode + .loc 1 16 3 + ldrh r3, [r7, #4] + movs r1, #7 + mov r0, r3 + bl gpio_set_af + .loc 1 20 33 + ldr r3, .L2 + ldr r3, [r3, #64] + ldr r2, .L2 + .loc 1 20 43 + orr r3, r3, #131072 + str r3, [r2, #64] + .loc 1 23 35 + ldr r3, .L2+4 + .loc 1 23 41 + movs r2, #0 + str r2, [r3, #12] + .loc 1 24 35 + ldr r3, .L2+4 + .loc 1 24 41 + movs r2, #0 + str r2, [r3, #16] + .loc 1 25 35 + ldr r3, .L2+4 + .loc 1 25 41 + movs r2, #0 + str r2, [r3, #20] + .loc 1 43 35 + ldr r3, .L2+4 + ldr r3, [r3, #8] + ldr r2, .L2+4 + .loc 1 43 41 + bic r3, r3, #65280 + bic r3, r3, #240 + str r3, [r2, #8] + .loc 1 44 35 + ldr r3, .L2+4 + ldr r3, [r3, #8] + ldr r2, .L2+4 + .loc 1 44 41 + orr r3, r3, #416 + str r3, [r2, #8] + .loc 1 45 35 + ldr r3, .L2+4 + ldr r3, [r3, #8] + ldr r2, .L2+4 + .loc 1 45 41 + bic r3, r3, #7 + str r3, [r2, #8] + .loc 1 46 35 + ldr r3, .L2+4 + ldr r2, .L2+4 + ldr r3, [r3, #8] + .loc 1 46 41 + str r3, [r2, #8] + .loc 1 49 35 + ldr r3, .L2+4 + ldr r3, [r3, #12] + ldr r2, .L2+4 + .loc 1 49 41 + orr r3, r3, #8 + str r3, [r2, #12] + .loc 1 50 35 + ldr r3, .L2+4 + ldr r3, [r3, #12] + ldr r2, .L2+4 + .loc 1 50 41 + orr r3, r3, #4 + str r3, [r2, #12] + .loc 1 51 1 + nop + adds r7, r7, #8 + .cfi_def_cfa_offset 8 + mov sp, r7 + .cfi_def_cfa_register 13 + @ sp needed + pop {r7, pc} +.L3: + .align 2 +.L2: + .word 1073887232 + .word 1073759232 + .cfi_endproc +.LFE0: + .size usart2_init, .-usart2_init + .section .text.usart2_start,"ax",%progbits + .align 1 + .global usart2_start + .syntax unified + .thumb + .thumb_func + .type usart2_start, %function +usart2_start: +.LFB1: + .loc 1 53 25 + .cfi_startproc + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 1, uses_anonymous_args = 0 + @ link register save eliminated. + push {r7} + .cfi_def_cfa_offset 4 + .cfi_offset 7, -4 + add r7, sp, #0 + .cfi_def_cfa_register 7 + .loc 1 54 35 + ldr r3, .L5 + ldr r3, [r3, #12] + ldr r2, .L5 + .loc 1 54 41 + orr r3, r3, #8192 + str r3, [r2, #12] + .loc 1 55 1 + nop + mov sp, r7 + .cfi_def_cfa_register 13 + @ sp needed + ldr r7, [sp], #4 + .cfi_restore 7 + .cfi_def_cfa_offset 0 + bx lr +.L6: + .align 2 +.L5: + .word 1073759232 + .cfi_endproc +.LFE1: + .size usart2_start, .-usart2_start + .section .text.usart2_write_byte,"ax",%progbits + .align 1 + .global usart2_write_byte + .syntax unified + .thumb + .thumb_func + .type usart2_write_byte, %function +usart2_write_byte: +.LFB2: + .loc 1 57 35 + .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 + mov r3, r0 + strb r3, [r7, #7] + .loc 1 58 35 + ldr r2, .L9 + .loc 1 58 40 + ldrb r3, [r7, #7] @ zero_extendqisi2 + str r3, [r2, #4] + .loc 1 61 9 + nop +.L8: + .loc 1 61 44 discriminator 1 + ldr r3, .L9 + ldr r3, [r3] + .loc 1 61 49 discriminator 1 + and r3, r3, #64 + .loc 1 61 10 discriminator 1 + cmp r3, #0 + beq .L8 + .loc 1 62 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 +.L10: + .align 2 +.L9: + .word 1073759232 + .cfi_endproc +.LFE2: + .size usart2_write_byte, .-usart2_write_byte + .section .text.usart2_write,"ax",%progbits + .align 1 + .global usart2_write + .syntax unified + .thumb + .thumb_func + .type usart2_write, %function +usart2_write: +.LFB3: + .loc 1 64 30 + .cfi_startproc + @ args = 0, pretend = 0, frame = 8 + @ frame_needed = 1, uses_anonymous_args = 0 + push {r7, lr} + .cfi_def_cfa_offset 8 + .cfi_offset 7, -8 + .cfi_offset 14, -4 + sub sp, sp, #8 + .cfi_def_cfa_offset 16 + add r7, sp, #0 + .cfi_def_cfa_register 7 + str r0, [r7, #4] + .loc 1 65 9 + b .L12 +.L13: + .loc 1 65 38 discriminator 2 + ldr r3, [r7, #4] + adds r2, r3, #1 + str r2, [r7, #4] + .loc 1 65 16 discriminator 2 + ldrb r3, [r3] @ zero_extendqisi2 + mov r0, r3 + bl usart2_write_byte +.L12: + .loc 1 65 10 discriminator 1 + ldr r3, [r7, #4] + ldrb r3, [r3] @ zero_extendqisi2 + cmp r3, #0 + bne .L13 + .loc 1 66 1 + nop + nop + adds r7, r7, #8 + .cfi_def_cfa_offset 8 + mov sp, r7 + .cfi_def_cfa_register 13 + @ sp needed + pop {r7, pc} + .cfi_endproc +.LFE3: + .size usart2_write, .-usart2_write + .text +.Letext0: + .file 2 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" + .file 3 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_stdint.h" + .file 4 "src/rcc.h" + .file 5 "src/gpio.h" + .file 6 "src/usart.h" + .section .debug_info,"",%progbits +.Ldebug_info0: + .4byte 0x37d + .2byte 0x5 + .byte 0x1 + .byte 0x4 + .4byte .Ldebug_abbrev0 + .uleb128 0xb + .4byte .LASF984 + .byte 0x1d + .4byte .LASF985 + .4byte .LASF986 + .4byte .LLRL0 + .4byte 0 + .4byte .Ldebug_line0 + .4byte .Ldebug_macro0 + .uleb128 0x2 + .byte 0x1 + .byte 0x6 + .4byte .LASF931 + .uleb128 0x4 + .4byte .LASF934 + .byte 0x2 + .byte 0x2b + .byte 0x17 + .4byte 0x3d + .uleb128 0x2 + .byte 0x1 + .byte 0x8 + .4byte .LASF932 + .uleb128 0x2 + .byte 0x2 + .byte 0x5 + .4byte .LASF933 + .uleb128 0x4 + .4byte .LASF935 + .byte 0x2 + .byte 0x39 + .byte 0x1c + .4byte 0x57 + .uleb128 0x2 + .byte 0x2 + .byte 0x7 + .4byte .LASF936 + .uleb128 0x2 + .byte 0x4 + .byte 0x5 + .4byte .LASF937 + .uleb128 0x4 + .4byte .LASF938 + .byte 0x2 + .byte 0x4f + .byte 0x1b + .4byte 0x71 + .uleb128 0x2 + .byte 0x4 + .byte 0x7 + .4byte .LASF939 + .uleb128 0x2 + .byte 0x8 + .byte 0x5 + .4byte .LASF940 + .uleb128 0x2 + .byte 0x8 + .byte 0x7 + .4byte .LASF941 + .uleb128 0xc + .byte 0x4 + .byte 0x5 + .ascii "int\000" + .uleb128 0x2 + .byte 0x4 + .byte 0x7 + .4byte .LASF942 + .uleb128 0x4 + .4byte .LASF943 + .byte 0x3 + .byte 0x18 + .byte 0x13 + .4byte 0x31 + .uleb128 0x4 + .4byte .LASF944 + .byte 0x3 + .byte 0x24 + .byte 0x14 + .4byte 0x4b + .uleb128 0x4 + .4byte .LASF945 + .byte 0x3 + .byte 0x30 + .byte 0x14 + .4byte 0x65 + .uleb128 0x7 + .4byte 0xac + .uleb128 0xd + .ascii "rcc\000" + .byte 0x8c + .byte 0x4 + .byte 0x6 + .byte 0x8 + .4byte 0x21a + .uleb128 0x3 + .ascii "CR\000" + .byte 0x4 + .byte 0x7 + .4byte 0xb8 + .byte 0 + .uleb128 0x1 + .4byte .LASF946 + .byte 0x4 + .byte 0x8 + .4byte 0xb8 + .byte 0x4 + .uleb128 0x1 + .4byte .LASF947 + .byte 0x4 + .byte 0x9 + .4byte 0xb8 + .byte 0x8 + .uleb128 0x3 + .ascii "CIR\000" + .byte 0x4 + .byte 0xa + .4byte 0xb8 + .byte 0xc + .uleb128 0x1 + .4byte .LASF948 + .byte 0x4 + .byte 0xb + .4byte 0xb8 + .byte 0x10 + .uleb128 0x1 + .4byte .LASF949 + .byte 0x4 + .byte 0xc + .4byte 0xb8 + .byte 0x14 + .uleb128 0x1 + .4byte .LASF950 + .byte 0x4 + .byte 0xd + .4byte 0x22a + .byte 0x18 + .uleb128 0x1 + .4byte .LASF951 + .byte 0x4 + .byte 0xe + .4byte 0xb8 + .byte 0x20 + .uleb128 0x1 + .4byte .LASF952 + .byte 0x4 + .byte 0xf + .4byte 0xb8 + .byte 0x24 + .uleb128 0x1 + .4byte .LASF953 + .byte 0x4 + .byte 0x10 + .4byte 0x22a + .byte 0x28 + .uleb128 0x1 + .4byte .LASF954 + .byte 0x4 + .byte 0x11 + .4byte 0xb8 + .byte 0x30 + .uleb128 0x1 + .4byte .LASF955 + .byte 0x4 + .byte 0x12 + .4byte 0xb8 + .byte 0x34 + .uleb128 0x1 + .4byte .LASF956 + .byte 0x4 + .byte 0x13 + .4byte 0x22a + .byte 0x38 + .uleb128 0x1 + .4byte .LASF957 + .byte 0x4 + .byte 0x14 + .4byte 0xb8 + .byte 0x40 + .uleb128 0x1 + .4byte .LASF958 + .byte 0x4 + .byte 0x15 + .4byte 0xb8 + .byte 0x44 + .uleb128 0x1 + .4byte .LASF959 + .byte 0x4 + .byte 0x16 + .4byte 0x22a + .byte 0x48 + .uleb128 0x1 + .4byte .LASF960 + .byte 0x4 + .byte 0x17 + .4byte 0xb8 + .byte 0x50 + .uleb128 0x1 + .4byte .LASF961 + .byte 0x4 + .byte 0x18 + .4byte 0xb8 + .byte 0x54 + .uleb128 0x1 + .4byte .LASF962 + .byte 0x4 + .byte 0x19 + .4byte 0x22a + .byte 0x58 + .uleb128 0x1 + .4byte .LASF963 + .byte 0x4 + .byte 0x1a + .4byte 0xb8 + .byte 0x60 + .uleb128 0x1 + .4byte .LASF964 + .byte 0x4 + .byte 0x1b + .4byte 0xb8 + .byte 0x64 + .uleb128 0x1 + .4byte .LASF965 + .byte 0x4 + .byte 0x1c + .4byte 0x22a + .byte 0x68 + .uleb128 0x1 + .4byte .LASF966 + .byte 0x4 + .byte 0x1d + .4byte 0xb8 + .byte 0x70 + .uleb128 0x3 + .ascii "CSR\000" + .byte 0x4 + .byte 0x1e + .4byte 0xb8 + .byte 0x74 + .uleb128 0x1 + .4byte .LASF967 + .byte 0x4 + .byte 0x1f + .4byte 0x22a + .byte 0x78 + .uleb128 0x1 + .4byte .LASF968 + .byte 0x4 + .byte 0x20 + .4byte 0xb8 + .byte 0x80 + .uleb128 0x1 + .4byte .LASF969 + .byte 0x4 + .byte 0x21 + .4byte 0xb8 + .byte 0x84 + .uleb128 0x1 + .4byte .LASF970 + .byte 0x4 + .byte 0x22 + .4byte 0xb8 + .byte 0x88 + .byte 0 + .uleb128 0xe + .4byte 0xb8 + .4byte 0x22a + .uleb128 0xf + .4byte 0x8d + .byte 0x1 + .byte 0 + .uleb128 0x7 + .4byte 0x21a + .uleb128 0x10 + .byte 0x7 + .byte 0x1 + .4byte 0x3d + .byte 0x5 + .byte 0x25 + .byte 0xe + .4byte 0x256 + .uleb128 0x5 + .4byte .LASF971 + .byte 0 + .uleb128 0x5 + .4byte .LASF972 + .byte 0x1 + .uleb128 0x5 + .4byte .LASF973 + .byte 0x2 + .uleb128 0x5 + .4byte .LASF974 + .byte 0x3 + .byte 0 + .uleb128 0x4 + .4byte .LASF975 + .byte 0x5 + .byte 0x2a + .byte 0x3 + .4byte 0x22f + .uleb128 0x11 + .4byte .LASF976 + .byte 0x1c + .byte 0x6 + .byte 0x6 + .byte 0x8 + .4byte 0x2c2 + .uleb128 0x3 + .ascii "SR\000" + .byte 0x6 + .byte 0x7 + .4byte 0xb8 + .byte 0 + .uleb128 0x3 + .ascii "DR\000" + .byte 0x6 + .byte 0x8 + .4byte 0xb8 + .byte 0x4 + .uleb128 0x3 + .ascii "BRR\000" + .byte 0x6 + .byte 0x9 + .4byte 0xb8 + .byte 0x8 + .uleb128 0x3 + .ascii "CR1\000" + .byte 0x6 + .byte 0xa + .4byte 0xb8 + .byte 0xc + .uleb128 0x3 + .ascii "CR2\000" + .byte 0x6 + .byte 0xb + .4byte 0xb8 + .byte 0x10 + .uleb128 0x3 + .ascii "CR3\000" + .byte 0x6 + .byte 0xc + .4byte 0xb8 + .byte 0x14 + .uleb128 0x1 + .4byte .LASF977 + .byte 0x6 + .byte 0xd + .4byte 0xb8 + .byte 0x18 + .byte 0 + .uleb128 0x8 + .4byte .LASF978 + .byte 0x2d + .4byte 0x2d7 + .uleb128 0x6 + .4byte 0xa0 + .uleb128 0x6 + .4byte 0x94 + .byte 0 + .uleb128 0x8 + .4byte .LASF979 + .byte 0x2c + .4byte 0x2ec + .uleb128 0x6 + .4byte 0xa0 + .uleb128 0x6 + .4byte 0x256 + .byte 0 + .uleb128 0x12 + .4byte .LASF980 + .byte 0x1 + .byte 0x40 + .byte 0x6 + .4byte .LFB3 + .4byte .LFE3-.LFB3 + .uleb128 0x1 + .byte 0x9c + .4byte 0x311 + .uleb128 0x9 + .ascii "buf\000" + .byte 0x40 + .byte 0x19 + .4byte 0x311 + .uleb128 0x2 + .byte 0x91 + .sleb128 -12 + .byte 0 + .uleb128 0x13 + .byte 0x4 + .4byte 0x317 + .uleb128 0x2 + .byte 0x1 + .byte 0x8 + .4byte .LASF511 + .uleb128 0x14 + .4byte .LASF981 + .byte 0x1 + .byte 0x39 + .byte 0x6 + .4byte .LFB2 + .4byte .LFE2-.LFB2 + .uleb128 0x1 + .byte 0x9c + .4byte 0x341 + .uleb128 0x9 + .ascii "c\000" + .byte 0x39 + .byte 0x20 + .4byte 0x94 + .uleb128 0x2 + .byte 0x91 + .sleb128 -9 + .byte 0 + .uleb128 0x15 + .4byte .LASF987 + .byte 0x1 + .byte 0x35 + .byte 0x6 + .4byte .LFB1 + .4byte .LFE1-.LFB1 + .uleb128 0x1 + .byte 0x9c + .uleb128 0x16 + .4byte .LASF988 + .byte 0x1 + .byte 0x5 + .byte 0x6 + .4byte .LFB0 + .4byte .LFE0-.LFB0 + .uleb128 0x1 + .byte 0x9c + .uleb128 0xa + .4byte .LASF982 + .byte 0xa + .4byte 0xa0 + .uleb128 0x2 + .byte 0x91 + .sleb128 -10 + .uleb128 0xa + .4byte .LASF983 + .byte 0xe + .4byte 0xa0 + .uleb128 0x2 + .byte 0x91 + .sleb128 -12 + .byte 0 + .byte 0 + .section .debug_abbrev,"",%progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 21 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .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 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 21 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x28 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1c + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0x5 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x35 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 5 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 6 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .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 0xa + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 12 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1b + .uleb128 0xe + .uleb128 0x55 + .uleb128 0x17 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x10 + .uleb128 0x17 + .uleb128 0x79 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0x8 + .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 0xe + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x4 + .byte 0x1 + .uleb128 0x3e + .uleb128 0xb + .uleb128 0xb + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x11 + .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 0x12 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .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 0x7c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .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 0x15 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .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 + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .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 0x7c + .uleb128 0x19 + .byte 0 + .byte 0 + .byte 0 + .section .debug_aranges,"",%progbits + .4byte 0x34 + .2byte 0x2 + .4byte .Ldebug_info0 + .byte 0x4 + .byte 0 + .2byte 0 + .2byte 0 + .4byte .LFB0 + .4byte .LFE0-.LFB0 + .4byte .LFB1 + .4byte .LFE1-.LFB1 + .4byte .LFB2 + .4byte .LFE2-.LFB2 + .4byte .LFB3 + .4byte .LFE3-.LFB3 + .4byte 0 + .4byte 0 + .section .debug_rnglists,"",%progbits +.Ldebug_ranges0: + .4byte .Ldebug_ranges3-.Ldebug_ranges2 +.Ldebug_ranges2: + .2byte 0x5 + .byte 0x4 + .byte 0 + .4byte 0 +.LLRL0: + .byte 0x7 + .4byte .LFB0 + .uleb128 .LFE0-.LFB0 + .byte 0x7 + .4byte .LFB1 + .uleb128 .LFE1-.LFB1 + .byte 0x7 + .4byte .LFB2 + .uleb128 .LFE2-.LFB2 + .byte 0x7 + .4byte .LFB3 + .uleb128 .LFE3-.LFB3 + .byte 0 +.Ldebug_ranges3: + .section .debug_macro,"",%progbits +.Ldebug_macro0: + .2byte 0x5 + .byte 0x2 + .4byte .Ldebug_line0 + .byte 0x3 + .uleb128 0 + .uleb128 0x1 + .byte 0x5 + .uleb128 0 + .4byte .LASF0 + .byte 0x5 + .uleb128 0 + .4byte .LASF1 + .byte 0x5 + .uleb128 0 + .4byte .LASF2 + .byte 0x5 + .uleb128 0 + .4byte .LASF3 + .byte 0x5 + .uleb128 0 + .4byte .LASF4 + .byte 0x5 + .uleb128 0 + .4byte .LASF5 + .byte 0x5 + .uleb128 0 + .4byte .LASF6 + .byte 0x5 + .uleb128 0 + .4byte .LASF7 + .byte 0x5 + .uleb128 0 + .4byte .LASF8 + .byte 0x5 + .uleb128 0 + .4byte .LASF9 + .byte 0x5 + .uleb128 0 + .4byte .LASF10 + .byte 0x5 + .uleb128 0 + .4byte .LASF11 + .byte 0x5 + .uleb128 0 + .4byte .LASF12 + .byte 0x5 + .uleb128 0 + .4byte .LASF13 + .byte 0x5 + .uleb128 0 + .4byte .LASF14 + .byte 0x5 + .uleb128 0 + .4byte .LASF15 + .byte 0x5 + .uleb128 0 + .4byte .LASF16 + .byte 0x5 + .uleb128 0 + .4byte .LASF17 + .byte 0x5 + .uleb128 0 + .4byte .LASF18 + .byte 0x5 + .uleb128 0 + .4byte .LASF19 + .byte 0x5 + .uleb128 0 + .4byte .LASF20 + .byte 0x5 + .uleb128 0 + .4byte .LASF21 + .byte 0x5 + .uleb128 0 + .4byte .LASF22 + .byte 0x5 + .uleb128 0 + .4byte .LASF23 + .byte 0x5 + .uleb128 0 + .4byte .LASF24 + .byte 0x5 + .uleb128 0 + .4byte .LASF25 + .byte 0x5 + .uleb128 0 + .4byte .LASF26 + .byte 0x5 + .uleb128 0 + .4byte .LASF27 + .byte 0x5 + .uleb128 0 + .4byte .LASF28 + .byte 0x5 + .uleb128 0 + .4byte .LASF29 + .byte 0x5 + .uleb128 0 + .4byte .LASF30 + .byte 0x5 + .uleb128 0 + .4byte .LASF31 + .byte 0x5 + .uleb128 0 + .4byte .LASF32 + .byte 0x5 + .uleb128 0 + .4byte .LASF33 + .byte 0x5 + .uleb128 0 + .4byte .LASF34 + .byte 0x5 + .uleb128 0 + .4byte .LASF35 + .byte 0x5 + .uleb128 0 + .4byte .LASF36 + .byte 0x5 + .uleb128 0 + .4byte .LASF37 + .byte 0x5 + .uleb128 0 + .4byte .LASF38 + .byte 0x5 + .uleb128 0 + .4byte .LASF39 + .byte 0x5 + .uleb128 0 + .4byte .LASF40 + .byte 0x5 + .uleb128 0 + .4byte .LASF41 + .byte 0x5 + .uleb128 0 + .4byte .LASF42 + .byte 0x5 + .uleb128 0 + .4byte .LASF43 + .byte 0x5 + .uleb128 0 + .4byte .LASF44 + .byte 0x5 + .uleb128 0 + .4byte .LASF45 + .byte 0x5 + .uleb128 0 + .4byte .LASF46 + .byte 0x5 + .uleb128 0 + .4byte .LASF47 + .byte 0x5 + .uleb128 0 + .4byte .LASF48 + .byte 0x5 + .uleb128 0 + .4byte .LASF49 + .byte 0x5 + .uleb128 0 + .4byte .LASF50 + .byte 0x5 + .uleb128 0 + .4byte .LASF51 + .byte 0x5 + .uleb128 0 + .4byte .LASF52 + .byte 0x5 + .uleb128 0 + .4byte .LASF53 + .byte 0x5 + .uleb128 0 + .4byte .LASF54 + .byte 0x5 + .uleb128 0 + .4byte .LASF55 + .byte 0x5 + .uleb128 0 + .4byte .LASF56 + .byte 0x5 + .uleb128 0 + .4byte .LASF57 + .byte 0x5 + .uleb128 0 + .4byte .LASF58 + .byte 0x5 + .uleb128 0 + .4byte .LASF59 + .byte 0x5 + .uleb128 0 + .4byte .LASF60 + .byte 0x5 + .uleb128 0 + .4byte .LASF61 + .byte 0x5 + .uleb128 0 + .4byte .LASF62 + .byte 0x5 + .uleb128 0 + .4byte .LASF63 + .byte 0x5 + .uleb128 0 + .4byte .LASF64 + .byte 0x5 + .uleb128 0 + .4byte .LASF65 + .byte 0x5 + .uleb128 0 + .4byte .LASF66 + .byte 0x5 + .uleb128 0 + .4byte .LASF67 + .byte 0x5 + .uleb128 0 + .4byte .LASF68 + .byte 0x5 + .uleb128 0 + .4byte .LASF69 + .byte 0x5 + .uleb128 0 + .4byte .LASF70 + .byte 0x5 + .uleb128 0 + .4byte .LASF71 + .byte 0x5 + .uleb128 0 + .4byte .LASF72 + .byte 0x5 + .uleb128 0 + .4byte .LASF73 + .byte 0x5 + .uleb128 0 + .4byte .LASF74 + .byte 0x5 + .uleb128 0 + .4byte .LASF75 + .byte 0x5 + .uleb128 0 + .4byte .LASF76 + .byte 0x5 + .uleb128 0 + .4byte .LASF77 + .byte 0x5 + .uleb128 0 + .4byte .LASF78 + .byte 0x5 + .uleb128 0 + .4byte .LASF79 + .byte 0x5 + .uleb128 0 + .4byte .LASF80 + .byte 0x5 + .uleb128 0 + .4byte .LASF81 + .byte 0x5 + .uleb128 0 + .4byte .LASF82 + .byte 0x5 + .uleb128 0 + .4byte .LASF83 + .byte 0x5 + .uleb128 0 + .4byte .LASF84 + .byte 0x5 + .uleb128 0 + .4byte .LASF85 + .byte 0x5 + .uleb128 0 + .4byte .LASF86 + .byte 0x5 + .uleb128 0 + .4byte .LASF87 + .byte 0x5 + .uleb128 0 + .4byte .LASF88 + .byte 0x5 + .uleb128 0 + .4byte .LASF89 + .byte 0x5 + .uleb128 0 + .4byte .LASF90 + .byte 0x5 + .uleb128 0 + .4byte .LASF91 + .byte 0x5 + .uleb128 0 + .4byte .LASF92 + .byte 0x5 + .uleb128 0 + .4byte .LASF93 + .byte 0x5 + .uleb128 0 + .4byte .LASF94 + .byte 0x5 + .uleb128 0 + .4byte .LASF95 + .byte 0x5 + .uleb128 0 + .4byte .LASF96 + .byte 0x5 + .uleb128 0 + .4byte .LASF97 + .byte 0x5 + .uleb128 0 + .4byte .LASF98 + .byte 0x5 + .uleb128 0 + .4byte .LASF99 + .byte 0x5 + .uleb128 0 + .4byte .LASF100 + .byte 0x5 + .uleb128 0 + .4byte .LASF101 + .byte 0x5 + .uleb128 0 + .4byte .LASF102 + .byte 0x5 + .uleb128 0 + .4byte .LASF103 + .byte 0x5 + .uleb128 0 + .4byte .LASF104 + .byte 0x5 + .uleb128 0 + .4byte .LASF105 + .byte 0x5 + .uleb128 0 + .4byte .LASF106 + .byte 0x5 + .uleb128 0 + .4byte .LASF107 + .byte 0x5 + .uleb128 0 + .4byte .LASF108 + .byte 0x5 + .uleb128 0 + .4byte .LASF109 + .byte 0x5 + .uleb128 0 + .4byte .LASF110 + .byte 0x5 + .uleb128 0 + .4byte .LASF111 + .byte 0x5 + .uleb128 0 + .4byte .LASF112 + .byte 0x5 + .uleb128 0 + .4byte .LASF113 + .byte 0x5 + .uleb128 0 + .4byte .LASF114 + .byte 0x5 + .uleb128 0 + .4byte .LASF115 + .byte 0x5 + .uleb128 0 + .4byte .LASF116 + .byte 0x5 + .uleb128 0 + .4byte .LASF117 + .byte 0x5 + .uleb128 0 + .4byte .LASF118 + .byte 0x5 + .uleb128 0 + .4byte .LASF119 + .byte 0x5 + .uleb128 0 + .4byte .LASF120 + .byte 0x5 + .uleb128 0 + .4byte .LASF121 + .byte 0x5 + .uleb128 0 + .4byte .LASF122 + .byte 0x5 + .uleb128 0 + .4byte .LASF123 + .byte 0x5 + .uleb128 0 + .4byte .LASF124 + .byte 0x5 + .uleb128 0 + .4byte .LASF125 + .byte 0x5 + .uleb128 0 + .4byte .LASF126 + .byte 0x5 + .uleb128 0 + .4byte .LASF127 + .byte 0x5 + .uleb128 0 + .4byte .LASF128 + .byte 0x5 + .uleb128 0 + .4byte .LASF129 + .byte 0x5 + .uleb128 0 + .4byte .LASF130 + .byte 0x5 + .uleb128 0 + .4byte .LASF131 + .byte 0x5 + .uleb128 0 + .4byte .LASF132 + .byte 0x5 + .uleb128 0 + .4byte .LASF133 + .byte 0x5 + .uleb128 0 + .4byte .LASF134 + .byte 0x5 + .uleb128 0 + .4byte .LASF135 + .byte 0x5 + .uleb128 0 + .4byte .LASF136 + .byte 0x5 + .uleb128 0 + .4byte .LASF137 + .byte 0x5 + .uleb128 0 + .4byte .LASF138 + .byte 0x5 + .uleb128 0 + .4byte .LASF139 + .byte 0x5 + .uleb128 0 + .4byte .LASF140 + .byte 0x5 + .uleb128 0 + .4byte .LASF141 + .byte 0x5 + .uleb128 0 + .4byte .LASF142 + .byte 0x5 + .uleb128 0 + .4byte .LASF143 + .byte 0x5 + .uleb128 0 + .4byte .LASF144 + .byte 0x5 + .uleb128 0 + .4byte .LASF145 + .byte 0x5 + .uleb128 0 + .4byte .LASF146 + .byte 0x5 + .uleb128 0 + .4byte .LASF147 + .byte 0x5 + .uleb128 0 + .4byte .LASF148 + .byte 0x5 + .uleb128 0 + .4byte .LASF149 + .byte 0x5 + .uleb128 0 + .4byte .LASF150 + .byte 0x5 + .uleb128 0 + .4byte .LASF151 + .byte 0x5 + .uleb128 0 + .4byte .LASF152 + .byte 0x5 + .uleb128 0 + .4byte .LASF153 + .byte 0x5 + .uleb128 0 + .4byte .LASF154 + .byte 0x5 + .uleb128 0 + .4byte .LASF155 + .byte 0x5 + .uleb128 0 + .4byte .LASF156 + .byte 0x5 + .uleb128 0 + .4byte .LASF157 + .byte 0x5 + .uleb128 0 + .4byte .LASF158 + .byte 0x5 + .uleb128 0 + .4byte .LASF159 + .byte 0x5 + .uleb128 0 + .4byte .LASF160 + .byte 0x5 + .uleb128 0 + .4byte .LASF161 + .byte 0x5 + .uleb128 0 + .4byte .LASF162 + .byte 0x5 + .uleb128 0 + .4byte .LASF163 + .byte 0x5 + .uleb128 0 + .4byte .LASF164 + .byte 0x5 + .uleb128 0 + .4byte .LASF165 + .byte 0x5 + .uleb128 0 + .4byte .LASF166 + .byte 0x5 + .uleb128 0 + .4byte .LASF167 + .byte 0x5 + .uleb128 0 + .4byte .LASF168 + .byte 0x5 + .uleb128 0 + .4byte .LASF169 + .byte 0x5 + .uleb128 0 + .4byte .LASF170 + .byte 0x5 + .uleb128 0 + .4byte .LASF171 + .byte 0x5 + .uleb128 0 + .4byte .LASF172 + .byte 0x5 + .uleb128 0 + .4byte .LASF173 + .byte 0x5 + .uleb128 0 + .4byte .LASF174 + .byte 0x5 + .uleb128 0 + .4byte .LASF175 + .byte 0x5 + .uleb128 0 + .4byte .LASF176 + .byte 0x5 + .uleb128 0 + .4byte .LASF177 + .byte 0x5 + .uleb128 0 + .4byte .LASF178 + .byte 0x5 + .uleb128 0 + .4byte .LASF179 + .byte 0x5 + .uleb128 0 + .4byte .LASF180 + .byte 0x5 + .uleb128 0 + .4byte .LASF181 + .byte 0x5 + .uleb128 0 + .4byte .LASF182 + .byte 0x5 + .uleb128 0 + .4byte .LASF183 + .byte 0x5 + .uleb128 0 + .4byte .LASF184 + .byte 0x5 + .uleb128 0 + .4byte .LASF185 + .byte 0x5 + .uleb128 0 + .4byte .LASF186 + .byte 0x5 + .uleb128 0 + .4byte .LASF187 + .byte 0x5 + .uleb128 0 + .4byte .LASF188 + .byte 0x5 + .uleb128 0 + .4byte .LASF189 + .byte 0x5 + .uleb128 0 + .4byte .LASF190 + .byte 0x5 + .uleb128 0 + .4byte .LASF191 + .byte 0x5 + .uleb128 0 + .4byte .LASF192 + .byte 0x5 + .uleb128 0 + .4byte .LASF193 + .byte 0x5 + .uleb128 0 + .4byte .LASF194 + .byte 0x5 + .uleb128 0 + .4byte .LASF195 + .byte 0x5 + .uleb128 0 + .4byte .LASF196 + .byte 0x5 + .uleb128 0 + .4byte .LASF197 + .byte 0x5 + .uleb128 0 + .4byte .LASF198 + .byte 0x5 + .uleb128 0 + .4byte .LASF199 + .byte 0x5 + .uleb128 0 + .4byte .LASF200 + .byte 0x5 + .uleb128 0 + .4byte .LASF201 + .byte 0x5 + .uleb128 0 + .4byte .LASF202 + .byte 0x5 + .uleb128 0 + .4byte .LASF203 + .byte 0x5 + .uleb128 0 + .4byte .LASF204 + .byte 0x5 + .uleb128 0 + .4byte .LASF205 + .byte 0x5 + .uleb128 0 + .4byte .LASF206 + .byte 0x5 + .uleb128 0 + .4byte .LASF207 + .byte 0x5 + .uleb128 0 + .4byte .LASF208 + .byte 0x5 + .uleb128 0 + .4byte .LASF209 + .byte 0x5 + .uleb128 0 + .4byte .LASF210 + .byte 0x5 + .uleb128 0 + .4byte .LASF211 + .byte 0x5 + .uleb128 0 + .4byte .LASF212 + .byte 0x5 + .uleb128 0 + .4byte .LASF213 + .byte 0x5 + .uleb128 0 + .4byte .LASF214 + .byte 0x5 + .uleb128 0 + .4byte .LASF215 + .byte 0x5 + .uleb128 0 + .4byte .LASF216 + .byte 0x5 + .uleb128 0 + .4byte .LASF217 + .byte 0x5 + .uleb128 0 + .4byte .LASF218 + .byte 0x5 + .uleb128 0 + .4byte .LASF219 + .byte 0x5 + .uleb128 0 + .4byte .LASF220 + .byte 0x5 + .uleb128 0 + .4byte .LASF221 + .byte 0x5 + .uleb128 0 + .4byte .LASF222 + .byte 0x5 + .uleb128 0 + .4byte .LASF223 + .byte 0x5 + .uleb128 0 + .4byte .LASF224 + .byte 0x5 + .uleb128 0 + .4byte .LASF225 + .byte 0x5 + .uleb128 0 + .4byte .LASF226 + .byte 0x5 + .uleb128 0 + .4byte .LASF227 + .byte 0x5 + .uleb128 0 + .4byte .LASF228 + .byte 0x5 + .uleb128 0 + .4byte .LASF229 + .byte 0x5 + .uleb128 0 + .4byte .LASF230 + .byte 0x5 + .uleb128 0 + .4byte .LASF231 + .byte 0x5 + .uleb128 0 + .4byte .LASF232 + .byte 0x5 + .uleb128 0 + .4byte .LASF233 + .byte 0x5 + .uleb128 0 + .4byte .LASF234 + .byte 0x5 + .uleb128 0 + .4byte .LASF235 + .byte 0x5 + .uleb128 0 + .4byte .LASF236 + .byte 0x5 + .uleb128 0 + .4byte .LASF237 + .byte 0x5 + .uleb128 0 + .4byte .LASF238 + .byte 0x5 + .uleb128 0 + .4byte .LASF239 + .byte 0x5 + .uleb128 0 + .4byte .LASF240 + .byte 0x5 + .uleb128 0 + .4byte .LASF241 + .byte 0x5 + .uleb128 0 + .4byte .LASF242 + .byte 0x5 + .uleb128 0 + .4byte .LASF243 + .byte 0x5 + .uleb128 0 + .4byte .LASF244 + .byte 0x5 + .uleb128 0 + .4byte .LASF245 + .byte 0x5 + .uleb128 0 + .4byte .LASF246 + .byte 0x5 + .uleb128 0 + .4byte .LASF247 + .byte 0x5 + .uleb128 0 + .4byte .LASF248 + .byte 0x5 + .uleb128 0 + .4byte .LASF249 + .byte 0x5 + .uleb128 0 + .4byte .LASF250 + .byte 0x5 + .uleb128 0 + .4byte .LASF251 + .byte 0x5 + .uleb128 0 + .4byte .LASF252 + .byte 0x5 + .uleb128 0 + .4byte .LASF253 + .byte 0x5 + .uleb128 0 + .4byte .LASF254 + .byte 0x5 + .uleb128 0 + .4byte .LASF255 + .byte 0x5 + .uleb128 0 + .4byte .LASF256 + .byte 0x5 + .uleb128 0 + .4byte .LASF257 + .byte 0x5 + .uleb128 0 + .4byte .LASF258 + .byte 0x5 + .uleb128 0 + .4byte .LASF259 + .byte 0x5 + .uleb128 0 + .4byte .LASF260 + .byte 0x5 + .uleb128 0 + .4byte .LASF261 + .byte 0x5 + .uleb128 0 + .4byte .LASF262 + .byte 0x5 + .uleb128 0 + .4byte .LASF263 + .byte 0x5 + .uleb128 0 + .4byte .LASF264 + .byte 0x5 + .uleb128 0 + .4byte .LASF265 + .byte 0x5 + .uleb128 0 + .4byte .LASF266 + .byte 0x5 + .uleb128 0 + .4byte .LASF267 + .byte 0x5 + .uleb128 0 + .4byte .LASF268 + .byte 0x5 + .uleb128 0 + .4byte .LASF269 + .byte 0x5 + .uleb128 0 + .4byte .LASF270 + .byte 0x5 + .uleb128 0 + .4byte .LASF271 + .byte 0x5 + .uleb128 0 + .4byte .LASF272 + .byte 0x5 + .uleb128 0 + .4byte .LASF273 + .byte 0x5 + .uleb128 0 + .4byte .LASF274 + .byte 0x5 + .uleb128 0 + .4byte .LASF275 + .byte 0x5 + .uleb128 0 + .4byte .LASF276 + .byte 0x5 + .uleb128 0 + .4byte .LASF277 + .byte 0x5 + .uleb128 0 + .4byte .LASF278 + .byte 0x5 + .uleb128 0 + .4byte .LASF279 + .byte 0x5 + .uleb128 0 + .4byte .LASF280 + .byte 0x5 + .uleb128 0 + .4byte .LASF281 + .byte 0x5 + .uleb128 0 + .4byte .LASF282 + .byte 0x5 + .uleb128 0 + .4byte .LASF283 + .byte 0x5 + .uleb128 0 + .4byte .LASF284 + .byte 0x5 + .uleb128 0 + .4byte .LASF285 + .byte 0x5 + .uleb128 0 + .4byte .LASF286 + .byte 0x5 + .uleb128 0 + .4byte .LASF287 + .byte 0x5 + .uleb128 0 + .4byte .LASF288 + .byte 0x5 + .uleb128 0 + .4byte .LASF289 + .byte 0x5 + .uleb128 0 + .4byte .LASF290 + .byte 0x5 + .uleb128 0 + .4byte .LASF291 + .byte 0x5 + .uleb128 0 + .4byte .LASF292 + .byte 0x5 + .uleb128 0 + .4byte .LASF293 + .byte 0x5 + .uleb128 0 + .4byte .LASF294 + .byte 0x5 + .uleb128 0 + .4byte .LASF295 + .byte 0x5 + .uleb128 0 + .4byte .LASF296 + .byte 0x5 + .uleb128 0 + .4byte .LASF297 + .byte 0x5 + .uleb128 0 + .4byte .LASF298 + .byte 0x5 + .uleb128 0 + .4byte .LASF299 + .byte 0x5 + .uleb128 0 + .4byte .LASF300 + .byte 0x5 + .uleb128 0 + .4byte .LASF301 + .byte 0x5 + .uleb128 0 + .4byte .LASF302 + .byte 0x5 + .uleb128 0 + .4byte .LASF303 + .byte 0x5 + .uleb128 0 + .4byte .LASF304 + .byte 0x5 + .uleb128 0 + .4byte .LASF305 + .byte 0x5 + .uleb128 0 + .4byte .LASF306 + .byte 0x5 + .uleb128 0 + .4byte .LASF307 + .byte 0x5 + .uleb128 0 + .4byte .LASF308 + .byte 0x5 + .uleb128 0 + .4byte .LASF309 + .byte 0x5 + .uleb128 0 + .4byte .LASF310 + .byte 0x5 + .uleb128 0 + .4byte .LASF311 + .byte 0x5 + .uleb128 0 + .4byte .LASF312 + .byte 0x5 + .uleb128 0 + .4byte .LASF313 + .byte 0x5 + .uleb128 0 + .4byte .LASF314 + .byte 0x5 + .uleb128 0 + .4byte .LASF315 + .byte 0x5 + .uleb128 0 + .4byte .LASF316 + .byte 0x5 + .uleb128 0 + .4byte .LASF317 + .byte 0x5 + .uleb128 0 + .4byte .LASF318 + .byte 0x5 + .uleb128 0 + .4byte .LASF319 + .byte 0x5 + .uleb128 0 + .4byte .LASF320 + .byte 0x5 + .uleb128 0 + .4byte .LASF321 + .byte 0x5 + .uleb128 0 + .4byte .LASF322 + .byte 0x5 + .uleb128 0 + .4byte .LASF323 + .byte 0x5 + .uleb128 0 + .4byte .LASF324 + .byte 0x5 + .uleb128 0 + .4byte .LASF325 + .byte 0x5 + .uleb128 0 + .4byte .LASF326 + .byte 0x5 + .uleb128 0 + .4byte .LASF327 + .byte 0x5 + .uleb128 0 + .4byte .LASF328 + .byte 0x5 + .uleb128 0 + .4byte .LASF329 + .byte 0x5 + .uleb128 0 + .4byte .LASF330 + .byte 0x5 + .uleb128 0 + .4byte .LASF331 + .byte 0x5 + .uleb128 0 + .4byte .LASF332 + .byte 0x5 + .uleb128 0 + .4byte .LASF333 + .byte 0x5 + .uleb128 0 + .4byte .LASF334 + .byte 0x5 + .uleb128 0 + .4byte .LASF335 + .byte 0x5 + .uleb128 0 + .4byte .LASF336 + .byte 0x5 + .uleb128 0 + .4byte .LASF337 + .byte 0x5 + .uleb128 0 + .4byte .LASF338 + .byte 0x5 + .uleb128 0 + .4byte .LASF339 + .byte 0x5 + .uleb128 0 + .4byte .LASF340 + .byte 0x5 + .uleb128 0 + .4byte .LASF341 + .byte 0x5 + .uleb128 0 + .4byte .LASF342 + .byte 0x5 + .uleb128 0 + .4byte .LASF343 + .byte 0x5 + .uleb128 0 + .4byte .LASF344 + .byte 0x5 + .uleb128 0 + .4byte .LASF345 + .byte 0x5 + .uleb128 0 + .4byte .LASF346 + .byte 0x5 + .uleb128 0 + .4byte .LASF347 + .byte 0x5 + .uleb128 0 + .4byte .LASF348 + .byte 0x5 + .uleb128 0 + .4byte .LASF349 + .byte 0x5 + .uleb128 0 + .4byte .LASF350 + .byte 0x5 + .uleb128 0 + .4byte .LASF351 + .byte 0x5 + .uleb128 0 + .4byte .LASF352 + .byte 0x5 + .uleb128 0 + .4byte .LASF353 + .byte 0x5 + .uleb128 0 + .4byte .LASF354 + .byte 0x5 + .uleb128 0 + .4byte .LASF355 + .byte 0x5 + .uleb128 0 + .4byte .LASF356 + .byte 0x5 + .uleb128 0 + .4byte .LASF357 + .byte 0x5 + .uleb128 0 + .4byte .LASF358 + .byte 0x5 + .uleb128 0 + .4byte .LASF359 + .byte 0x5 + .uleb128 0 + .4byte .LASF360 + .byte 0x5 + .uleb128 0 + .4byte .LASF361 + .byte 0x5 + .uleb128 0 + .4byte .LASF362 + .byte 0x5 + .uleb128 0 + .4byte .LASF363 + .byte 0x5 + .uleb128 0 + .4byte .LASF364 + .byte 0x5 + .uleb128 0 + .4byte .LASF365 + .byte 0x5 + .uleb128 0 + .4byte .LASF366 + .byte 0x5 + .uleb128 0 + .4byte .LASF367 + .byte 0x5 + .uleb128 0 + .4byte .LASF368 + .byte 0x5 + .uleb128 0 + .4byte .LASF369 + .byte 0x5 + .uleb128 0 + .4byte .LASF370 + .byte 0x5 + .uleb128 0 + .4byte .LASF371 + .byte 0x5 + .uleb128 0 + .4byte .LASF372 + .byte 0x5 + .uleb128 0 + .4byte .LASF373 + .byte 0x5 + .uleb128 0 + .4byte .LASF374 + .byte 0x5 + .uleb128 0 + .4byte .LASF375 + .byte 0x5 + .uleb128 0 + .4byte .LASF376 + .byte 0x5 + .uleb128 0 + .4byte .LASF377 + .byte 0x5 + .uleb128 0 + .4byte .LASF378 + .byte 0x5 + .uleb128 0 + .4byte .LASF379 + .byte 0x5 + .uleb128 0 + .4byte .LASF380 + .byte 0x5 + .uleb128 0 + .4byte .LASF381 + .byte 0x5 + .uleb128 0 + .4byte .LASF382 + .byte 0x5 + .uleb128 0 + .4byte .LASF383 + .byte 0x5 + .uleb128 0 + .4byte .LASF384 + .byte 0x5 + .uleb128 0 + .4byte .LASF385 + .byte 0x5 + .uleb128 0 + .4byte .LASF386 + .byte 0x5 + .uleb128 0 + .4byte .LASF387 + .byte 0x5 + .uleb128 0 + .4byte .LASF388 + .byte 0x5 + .uleb128 0 + .4byte .LASF389 + .byte 0x5 + .uleb128 0 + .4byte .LASF390 + .byte 0x5 + .uleb128 0 + .4byte .LASF391 + .byte 0x5 + .uleb128 0 + .4byte .LASF392 + .byte 0x6 + .uleb128 0 + .4byte .LASF393 + .byte 0x5 + .uleb128 0 + .4byte .LASF394 + .byte 0x6 + .uleb128 0 + .4byte .LASF395 + .byte 0x6 + .uleb128 0 + .4byte .LASF396 + .byte 0x6 + .uleb128 0 + .4byte .LASF397 + .byte 0x6 + .uleb128 0 + .4byte .LASF398 + .byte 0x5 + .uleb128 0 + .4byte .LASF399 + .byte 0x6 + .uleb128 0 + .4byte .LASF400 + .byte 0x6 + .uleb128 0 + .4byte .LASF401 + .byte 0x6 + .uleb128 0 + .4byte .LASF402 + .byte 0x5 + .uleb128 0 + .4byte .LASF403 + .byte 0x5 + .uleb128 0 + .4byte .LASF404 + .byte 0x6 + .uleb128 0 + .4byte .LASF405 + .byte 0x5 + .uleb128 0 + .4byte .LASF406 + .byte 0x5 + .uleb128 0 + .4byte .LASF407 + .byte 0x5 + .uleb128 0 + .4byte .LASF408 + .byte 0x6 + .uleb128 0 + .4byte .LASF409 + .byte 0x5 + .uleb128 0 + .4byte .LASF410 + .byte 0x5 + .uleb128 0 + .4byte .LASF411 + .byte 0x6 + .uleb128 0 + .4byte .LASF412 + .byte 0x5 + .uleb128 0 + .4byte .LASF413 + .byte 0x5 + .uleb128 0 + .4byte .LASF414 + .byte 0x5 + .uleb128 0 + .4byte .LASF415 + .byte 0x5 + .uleb128 0 + .4byte .LASF416 + .byte 0x5 + .uleb128 0 + .4byte .LASF417 + .byte 0x5 + .uleb128 0 + .4byte .LASF418 + .byte 0x6 + .uleb128 0 + .4byte .LASF419 + .byte 0x5 + .uleb128 0 + .4byte .LASF420 + .byte 0x5 + .uleb128 0 + .4byte .LASF421 + .byte 0x5 + .uleb128 0 + .4byte .LASF422 + .byte 0x6 + .uleb128 0 + .4byte .LASF423 + .byte 0x5 + .uleb128 0 + .4byte .LASF424 + .byte 0x6 + .uleb128 0 + .4byte .LASF425 + .byte 0x6 + .uleb128 0 + .4byte .LASF426 + .byte 0x6 + .uleb128 0 + .4byte .LASF427 + .byte 0x6 + .uleb128 0 + .4byte .LASF428 + .byte 0x6 + .uleb128 0 + .4byte .LASF429 + .byte 0x6 + .uleb128 0 + .4byte .LASF430 + .byte 0x5 + .uleb128 0 + .4byte .LASF431 + .byte 0x6 + .uleb128 0 + .4byte .LASF432 + .byte 0x6 + .uleb128 0 + .4byte .LASF433 + .byte 0x6 + .uleb128 0 + .4byte .LASF434 + .byte 0x5 + .uleb128 0 + .4byte .LASF435 + .byte 0x5 + .uleb128 0 + .4byte .LASF436 + .byte 0x5 + .uleb128 0 + .4byte .LASF437 + .byte 0x5 + .uleb128 0 + .4byte .LASF438 + .byte 0x6 + .uleb128 0 + .4byte .LASF439 + .byte 0x5 + .uleb128 0 + .4byte .LASF440 + .byte 0x5 + .uleb128 0 + .4byte .LASF441 + .byte 0x5 + .uleb128 0 + .4byte .LASF442 + .byte 0x6 + .uleb128 0 + .4byte .LASF443 + .byte 0x5 + .uleb128 0 + .4byte .LASF444 + .byte 0x6 + .uleb128 0 + .4byte .LASF445 + .byte 0x6 + .uleb128 0 + .4byte .LASF446 + .byte 0x6 + .uleb128 0 + .4byte .LASF447 + .byte 0x6 + .uleb128 0 + .4byte .LASF448 + .byte 0x6 + .uleb128 0 + .4byte .LASF449 + .byte 0x6 + .uleb128 0 + .4byte .LASF450 + .byte 0x5 + .uleb128 0 + .4byte .LASF451 + .byte 0x5 + .uleb128 0 + .4byte .LASF452 + .byte 0x5 + .uleb128 0 + .4byte .LASF453 + .byte 0x3 + .uleb128 0x1 + .uleb128 0x4 + .byte 0x5 + .uleb128 0x2 + .4byte .LASF454 + .file 7 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" + .byte 0x3 + .uleb128 0x4 + .uleb128 0x7 + .byte 0x5 + .uleb128 0xe + .4byte .LASF455 + .file 8 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" + .byte 0x3 + .uleb128 0x10 + .uleb128 0x8 + .byte 0x5 + .uleb128 0x7 + .4byte .LASF456 + .file 9 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_newlib_version.h" + .byte 0x3 + .uleb128 0xa + .uleb128 0x9 + .byte 0x7 + .4byte .Ldebug_macro2 + .byte 0x4 + .byte 0x7 + .4byte .Ldebug_macro3 + .byte 0x4 + .file 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" + .byte 0x3 + .uleb128 0x11 + .uleb128 0xa + .byte 0x5 + .uleb128 0x2 + .4byte .LASF479 + .file 11 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/ieeefp.h" + .byte 0x3 + .uleb128 0x4 + .uleb128 0xb + .byte 0x7 + .4byte .Ldebug_macro4 + .byte 0x4 + .file 12 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" + .byte 0x3 + .uleb128 0x5 + .uleb128 0xc + .byte 0x7 + .4byte .Ldebug_macro5 + .byte 0x4 + .byte 0x7 + .4byte .Ldebug_macro6 + .byte 0x4 + .file 13 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" + .byte 0x3 + .uleb128 0x12 + .uleb128 0xd + .byte 0x7 + .4byte .Ldebug_macro7 + .byte 0x4 + .file 14 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_ansi.h" + .byte 0x3 + .uleb128 0x13 + .uleb128 0xe + .byte 0x7 + .4byte .Ldebug_macro8 + .byte 0x4 + .file 15 "/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 0xf + .file 16 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" + .byte 0x3 + .uleb128 0x9 + .uleb128 0x10 + .byte 0x5 + .uleb128 0xa + .4byte .LASF547 + .byte 0x3 + .uleb128 0xc + .uleb128 0x2 + .byte 0x7 + .4byte .Ldebug_macro9 + .byte 0x4 + .byte 0x3 + .uleb128 0xe + .uleb128 0x3 + .byte 0x7 + .4byte .Ldebug_macro10 + .byte 0x4 + .byte 0x7 + .4byte .Ldebug_macro11 + .byte 0x4 + .byte 0x5 + .uleb128 0xd + .4byte .LASF647 + .byte 0x4 + .byte 0x5 + .uleb128 0x15 + .4byte .LASF648 + .file 17 "/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 0x11 + .byte 0x7 + .4byte .Ldebug_macro12 + .byte 0x4 + .byte 0x7 + .4byte .Ldebug_macro13 + .byte 0x4 + .byte 0x7 + .4byte .Ldebug_macro14 + .byte 0x4 + .byte 0x3 + .uleb128 0x2 + .uleb128 0x5 + .byte 0x5 + .uleb128 0x2 + .4byte .LASF901 + .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 + .uleb128 0x12 + .byte 0x7 + .4byte .Ldebug_macro15 + .byte 0x4 + .byte 0x7 + .4byte .Ldebug_macro16 + .byte 0x4 + .byte 0x3 + .uleb128 0x3 + .uleb128 0x6 + .byte 0x7 + .4byte .Ldebug_macro17 + .byte 0x4 + .byte 0x4 + .byte 0 + .section .debug_macro,"G",%progbits,wm4._newlib_version.h.4.6d111ab2e95434b664b53815e5c8ccba,comdat +.Ldebug_macro2: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x4 + .4byte .LASF457 + .byte 0x5 + .uleb128 0x6 + .4byte .LASF458 + .byte 0x5 + .uleb128 0x7 + .4byte .LASF459 + .byte 0x5 + .uleb128 0x8 + .4byte .LASF460 + .byte 0x5 + .uleb128 0x9 + .4byte .LASF461 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.newlib.h.27.d4bf77c18f14f545101dac22f0b54118,comdat +.Ldebug_macro3: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x1b + .4byte .LASF462 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF463 + .byte 0x5 + .uleb128 0x24 + .4byte .LASF464 + .byte 0x5 + .uleb128 0x27 + .4byte .LASF465 + .byte 0x5 + .uleb128 0x2b + .4byte .LASF466 + .byte 0x5 + .uleb128 0x2e + .4byte .LASF467 + .byte 0x5 + .uleb128 0x163 + .4byte .LASF468 + .byte 0x5 + .uleb128 0x169 + .4byte .LASF469 + .byte 0x5 + .uleb128 0x16c + .4byte .LASF470 + .byte 0x5 + .uleb128 0x175 + .4byte .LASF471 + .byte 0x5 + .uleb128 0x178 + .4byte .LASF472 + .byte 0x5 + .uleb128 0x17b + .4byte .LASF473 + .byte 0x5 + .uleb128 0x17f + .4byte .LASF474 + .byte 0x5 + .uleb128 0x187 + .4byte .LASF475 + .byte 0x5 + .uleb128 0x198 + .4byte .LASF476 + .byte 0x5 + .uleb128 0x19b + .4byte .LASF477 + .byte 0x5 + .uleb128 0x1a1 + .4byte .LASF478 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.ieeefp.h.77.9dc6728f2d488a554e7c0cabef1b6c33,comdat +.Ldebug_macro4: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x4d + .4byte .LASF480 + .byte 0x5 + .uleb128 0x5b + .4byte .LASF481 + .byte 0x5 + .uleb128 0x62 + .4byte .LASF482 + .byte 0x5 + .uleb128 0x63 + .4byte .LASF483 + .byte 0x5 + .uleb128 0x203 + .4byte .LASF484 + .byte 0x5 + .uleb128 0x206 + .4byte .LASF485 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.features.h.22.2e1fda838b2ee7b0fe7a454167fc345d,comdat +.Ldebug_macro5: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x16 + .4byte .LASF486 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF487 + .byte 0x5 + .uleb128 0x28 + .4byte .LASF488 + .byte 0x5 + .uleb128 0xf9 + .4byte .LASF489 + .byte 0x5 + .uleb128 0xff + .4byte .LASF490 + .byte 0x5 + .uleb128 0x105 + .4byte .LASF491 + .byte 0x5 + .uleb128 0x10a + .4byte .LASF492 + .byte 0x5 + .uleb128 0x115 + .4byte .LASF493 + .byte 0x5 + .uleb128 0x11b + .4byte .LASF494 + .byte 0x5 + .uleb128 0x12b + .4byte .LASF495 + .byte 0x5 + .uleb128 0x131 + .4byte .LASF496 + .byte 0x5 + .uleb128 0x13f + .4byte .LASF497 + .byte 0x5 + .uleb128 0x14b + .4byte .LASF498 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.config.h.224.10ee1ad185d877c6e334e6581faab44d,comdat +.Ldebug_macro6: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0xe0 + .4byte .LASF499 + .byte 0x6 + .uleb128 0xe6 + .4byte .LASF500 + .byte 0x5 + .uleb128 0xea + .4byte .LASF501 + .byte 0x5 + .uleb128 0xf8 + .4byte .LASF502 + .byte 0x5 + .uleb128 0xfc + .4byte .LASF503 + .byte 0x5 + .uleb128 0x103 + .4byte .LASF504 + .byte 0x5 + .uleb128 0x109 + .4byte .LASF505 + .byte 0x5 + .uleb128 0x122 + .4byte .LASF506 + .byte 0 + .section .debug_macro,"G",%progbits,wm4._intsup.h.10.48bafbb683905c4daa4565a85aeeb264,comdat +.Ldebug_macro7: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0xa + .4byte .LASF507 + .byte 0x5 + .uleb128 0x10 + .4byte .LASF508 + .byte 0x6 + .uleb128 0x2b + .4byte .LASF509 + .byte 0x6 + .uleb128 0x2c + .4byte .LASF510 + .byte 0x6 + .uleb128 0x2d + .4byte .LASF511 + .byte 0x6 + .uleb128 0x2e + .4byte .LASF512 + .byte 0x2 + .uleb128 0x2f + .ascii "int\000" + .byte 0x6 + .uleb128 0x30 + .4byte .LASF513 + .byte 0x6 + .uleb128 0x31 + .4byte .LASF514 + .byte 0x6 + .uleb128 0x32 + .4byte .LASF515 + .byte 0x5 + .uleb128 0x33 + .4byte .LASF516 + .byte 0x5 + .uleb128 0x34 + .4byte .LASF517 + .byte 0x5 + .uleb128 0x35 + .4byte .LASF518 + .byte 0x5 + .uleb128 0x36 + .4byte .LASF519 + .byte 0x5 + .uleb128 0x37 + .4byte .LASF520 + .byte 0x5 + .uleb128 0x38 + .4byte .LASF521 + .byte 0x5 + .uleb128 0x39 + .4byte .LASF522 + .byte 0x5 + .uleb128 0x3a + .4byte .LASF523 + .byte 0x5 + .uleb128 0x43 + .4byte .LASF524 + .byte 0x5 + .uleb128 0x4a + .4byte .LASF525 + .byte 0x5 + .uleb128 0x52 + .4byte .LASF526 + .byte 0x5 + .uleb128 0x5d + .4byte .LASF527 + .byte 0x5 + .uleb128 0x68 + .4byte .LASF528 + .byte 0x5 + .uleb128 0x71 + .4byte .LASF529 + .byte 0x5 + .uleb128 0x78 + .4byte .LASF530 + .byte 0x5 + .uleb128 0x81 + .4byte .LASF531 + .byte 0x5 + .uleb128 0x88 + .4byte .LASF532 + .byte 0x5 + .uleb128 0x93 + .4byte .LASF533 + .byte 0x5 + .uleb128 0x97 + .4byte .LASF534 + .byte 0x5 + .uleb128 0xa2 + .4byte .LASF535 + .byte 0x5 + .uleb128 0xad + .4byte .LASF536 + .byte 0x5 + .uleb128 0xb6 + .4byte .LASF537 + .byte 0x6 + .uleb128 0xb8 + .4byte .LASF509 + .byte 0x6 + .uleb128 0xb9 + .4byte .LASF510 + .byte 0x6 + .uleb128 0xba + .4byte .LASF511 + .byte 0x6 + .uleb128 0xbb + .4byte .LASF512 + .byte 0x2 + .uleb128 0xbc + .ascii "int\000" + .byte 0x6 + .uleb128 0xbd + .4byte .LASF515 + .byte 0x6 + .uleb128 0xc2 + .4byte .LASF513 + .byte 0x6 + .uleb128 0xc3 + .4byte .LASF514 + .byte 0 + .section .debug_macro,"G",%progbits,wm4._ansi.h.8.aeadd4934928258a76627d21910677e3,comdat +.Ldebug_macro8: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x8 + .4byte .LASF538 + .byte 0x5 + .uleb128 0x1f + .4byte .LASF539 + .byte 0x5 + .uleb128 0x20 + .4byte .LASF540 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF541 + .byte 0x5 + .uleb128 0x25 + .4byte .LASF542 + .byte 0x5 + .uleb128 0x2b + .4byte .LASF543 + .byte 0x5 + .uleb128 0x45 + .4byte .LASF544 + .byte 0x5 + .uleb128 0x49 + .4byte .LASF545 + .byte 0x5 + .uleb128 0x4a + .4byte .LASF546 + .byte 0 + .section .debug_macro,"G",%progbits,wm4._default_types.h.6.959254cf5f09734ea7516c89e8bb21bd,comdat +.Ldebug_macro9: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x6 + .4byte .LASF548 + .byte 0x5 + .uleb128 0xf + .4byte .LASF549 + .byte 0x5 + .uleb128 0x1a + .4byte .LASF550 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF551 + .byte 0x5 + .uleb128 0x2f + .4byte .LASF552 + .byte 0x5 + .uleb128 0x3d + .4byte .LASF553 + .byte 0x5 + .uleb128 0x53 + .4byte .LASF554 + .byte 0x5 + .uleb128 0x6d + .4byte .LASF555 + .byte 0x5 + .uleb128 0x8c + .4byte .LASF556 + .byte 0x5 + .uleb128 0xa6 + .4byte .LASF557 + .byte 0x5 + .uleb128 0xbc + .4byte .LASF558 + .byte 0x5 + .uleb128 0xce + .4byte .LASF559 + .byte 0x6 + .uleb128 0xf4 + .4byte .LASF560 + .byte 0 + .section .debug_macro,"G",%progbits,wm4._stdint.h.10.c24fa3af3bc1706662bb5593a907e841,comdat +.Ldebug_macro10: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0xa + .4byte .LASF561 + .byte 0x5 + .uleb128 0x15 + .4byte .LASF562 + .byte 0x5 + .uleb128 0x19 + .4byte .LASF563 + .byte 0x5 + .uleb128 0x1b + .4byte .LASF564 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF565 + .byte 0x5 + .uleb128 0x25 + .4byte .LASF566 + .byte 0x5 + .uleb128 0x27 + .4byte .LASF567 + .byte 0x5 + .uleb128 0x2d + .4byte .LASF568 + .byte 0x5 + .uleb128 0x31 + .4byte .LASF569 + .byte 0x5 + .uleb128 0x33 + .4byte .LASF570 + .byte 0x5 + .uleb128 0x39 + .4byte .LASF571 + .byte 0x5 + .uleb128 0x3d + .4byte .LASF572 + .byte 0x5 + .uleb128 0x3f + .4byte .LASF573 + .byte 0x5 + .uleb128 0x44 + .4byte .LASF574 + .byte 0x5 + .uleb128 0x49 + .4byte .LASF575 + .byte 0x5 + .uleb128 0x4e + .4byte .LASF576 + .byte 0x5 + .uleb128 0x53 + .4byte .LASF577 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.stdint.h.23.d53047a68f4a85177f80b422d52785ed,comdat +.Ldebug_macro11: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x17 + .4byte .LASF578 + .byte 0x5 + .uleb128 0x1d + .4byte .LASF579 + .byte 0x5 + .uleb128 0x23 + .4byte .LASF580 + .byte 0x5 + .uleb128 0x29 + .4byte .LASF581 + .byte 0x5 + .uleb128 0x35 + .4byte .LASF582 + .byte 0x5 + .uleb128 0x3f + .4byte .LASF583 + .byte 0x5 + .uleb128 0x49 + .4byte .LASF584 + .byte 0x5 + .uleb128 0x53 + .4byte .LASF585 + .byte 0x5 + .uleb128 0x80 + .4byte .LASF586 + .byte 0x5 + .uleb128 0x81 + .4byte .LASF587 + .byte 0x5 + .uleb128 0x82 + .4byte .LASF588 + .byte 0x5 + .uleb128 0x98 + .4byte .LASF589 + .byte 0x5 + .uleb128 0x99 + .4byte .LASF590 + .byte 0x5 + .uleb128 0x9a + .4byte .LASF591 + .byte 0x5 + .uleb128 0xa2 + .4byte .LASF592 + .byte 0x5 + .uleb128 0xa3 + .4byte .LASF593 + .byte 0x5 + .uleb128 0xa4 + .4byte .LASF594 + .byte 0x5 + .uleb128 0xae + .4byte .LASF595 + .byte 0x5 + .uleb128 0xaf + .4byte .LASF596 + .byte 0x5 + .uleb128 0xb0 + .4byte .LASF597 + .byte 0x5 + .uleb128 0xb8 + .4byte .LASF598 + .byte 0x5 + .uleb128 0xb9 + .4byte .LASF599 + .byte 0x5 + .uleb128 0xba + .4byte .LASF600 + .byte 0x5 + .uleb128 0xc4 + .4byte .LASF601 + .byte 0x5 + .uleb128 0xc5 + .4byte .LASF602 + .byte 0x5 + .uleb128 0xc6 + .4byte .LASF603 + .byte 0x5 + .uleb128 0xd4 + .4byte .LASF604 + .byte 0x5 + .uleb128 0xd5 + .4byte .LASF605 + .byte 0x5 + .uleb128 0xd6 + .4byte .LASF606 + .byte 0x5 + .uleb128 0xe6 + .4byte .LASF607 + .byte 0x5 + .uleb128 0xe7 + .4byte .LASF608 + .byte 0x5 + .uleb128 0xe8 + .4byte .LASF609 + .byte 0x5 + .uleb128 0xf6 + .4byte .LASF610 + .byte 0x5 + .uleb128 0xf7 + .4byte .LASF611 + .byte 0x5 + .uleb128 0xf8 + .4byte .LASF612 + .byte 0x5 + .uleb128 0x106 + .4byte .LASF613 + .byte 0x5 + .uleb128 0x107 + .4byte .LASF614 + .byte 0x5 + .uleb128 0x108 + .4byte .LASF615 + .byte 0x5 + .uleb128 0x116 + .4byte .LASF616 + .byte 0x5 + .uleb128 0x117 + .4byte .LASF617 + .byte 0x5 + .uleb128 0x118 + .4byte .LASF618 + .byte 0x5 + .uleb128 0x126 + .4byte .LASF619 + .byte 0x5 + .uleb128 0x127 + .4byte .LASF620 + .byte 0x5 + .uleb128 0x128 + .4byte .LASF621 + .byte 0x5 + .uleb128 0x136 + .4byte .LASF622 + .byte 0x5 + .uleb128 0x137 + .4byte .LASF623 + .byte 0x5 + .uleb128 0x138 + .4byte .LASF624 + .byte 0x5 + .uleb128 0x146 + .4byte .LASF625 + .byte 0x5 + .uleb128 0x147 + .4byte .LASF626 + .byte 0x5 + .uleb128 0x14f + .4byte .LASF627 + .byte 0x5 + .uleb128 0x157 + .4byte .LASF628 + .byte 0x5 + .uleb128 0x15d + .4byte .LASF629 + .byte 0x5 + .uleb128 0x15e + .4byte .LASF630 + .byte 0x5 + .uleb128 0x162 + .4byte .LASF631 + .byte 0x5 + .uleb128 0x166 + .4byte .LASF632 + .byte 0x5 + .uleb128 0x16b + .4byte .LASF633 + .byte 0x5 + .uleb128 0x176 + .4byte .LASF634 + .byte 0x5 + .uleb128 0x180 + .4byte .LASF635 + .byte 0x5 + .uleb128 0x185 + .4byte .LASF636 + .byte 0x5 + .uleb128 0x18c + .4byte .LASF637 + .byte 0x5 + .uleb128 0x18d + .4byte .LASF638 + .byte 0x5 + .uleb128 0x198 + .4byte .LASF639 + .byte 0x5 + .uleb128 0x199 + .4byte .LASF640 + .byte 0x5 + .uleb128 0x1a4 + .4byte .LASF641 + .byte 0x5 + .uleb128 0x1a5 + .4byte .LASF642 + .byte 0x5 + .uleb128 0x1b1 + .4byte .LASF643 + .byte 0x5 + .uleb128 0x1b2 + .4byte .LASF644 + .byte 0x5 + .uleb128 0x1c1 + .4byte .LASF645 + .byte 0x5 + .uleb128 0x1c2 + .4byte .LASF646 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.stddef.h.267.6dda48f8b0edf141523347999dd9ec79,comdat +.Ldebug_macro12: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x10b + .4byte .LASF649 + .byte 0x5 + .uleb128 0x10c + .4byte .LASF650 + .byte 0x5 + .uleb128 0x10d + .4byte .LASF651 + .byte 0x5 + .uleb128 0x10e + .4byte .LASF652 + .byte 0x5 + .uleb128 0x10f + .4byte .LASF653 + .byte 0x5 + .uleb128 0x110 + .4byte .LASF654 + .byte 0x5 + .uleb128 0x111 + .4byte .LASF655 + .byte 0x5 + .uleb128 0x112 + .4byte .LASF656 + .byte 0x5 + .uleb128 0x113 + .4byte .LASF657 + .byte 0x5 + .uleb128 0x114 + .4byte .LASF658 + .byte 0x5 + .uleb128 0x115 + .4byte .LASF659 + .byte 0x5 + .uleb128 0x116 + .4byte .LASF660 + .byte 0x5 + .uleb128 0x117 + .4byte .LASF661 + .byte 0x5 + .uleb128 0x118 + .4byte .LASF662 + .byte 0x5 + .uleb128 0x119 + .4byte .LASF663 + .byte 0x5 + .uleb128 0x11a + .4byte .LASF664 + .byte 0x6 + .uleb128 0x127 + .4byte .LASF665 + .byte 0x6 + .uleb128 0x15d + .4byte .LASF666 + .byte 0x6 + .uleb128 0x19a + .4byte .LASF667 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.inttypes.h.28.684aa7736e7ecc9a6ffc44acc61c7a90,comdat +.Ldebug_macro13: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x1c + .4byte .LASF668 + .byte 0x5 + .uleb128 0x1f + .4byte .LASF669 + .byte 0x5 + .uleb128 0x20 + .4byte .LASF670 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF671 + .byte 0x5 + .uleb128 0x2e + .4byte .LASF672 + .byte 0x5 + .uleb128 0x2f + .4byte .LASF673 + .byte 0x5 + .uleb128 0x30 + .4byte .LASF674 + .byte 0x5 + .uleb128 0x34 + .4byte .LASF675 + .byte 0x5 + .uleb128 0x35 + .4byte .LASF676 + .byte 0x5 + .uleb128 0x36 + .4byte .LASF677 + .byte 0x5 + .uleb128 0x37 + .4byte .LASF678 + .byte 0x5 + .uleb128 0x38 + .4byte .LASF679 + .byte 0x5 + .uleb128 0x39 + .4byte .LASF680 + .byte 0x5 + .uleb128 0x3e + .4byte .LASF681 + .byte 0x5 + .uleb128 0x3f + .4byte .LASF682 + .byte 0x5 + .uleb128 0x40 + .4byte .LASF683 + .byte 0x5 + .uleb128 0x41 + .4byte .LASF684 + .byte 0x5 + .uleb128 0x42 + .4byte .LASF685 + .byte 0x5 + .uleb128 0x47 + .4byte .LASF686 + .byte 0x5 + .uleb128 0x48 + .4byte .LASF687 + .byte 0x5 + .uleb128 0x49 + .4byte .LASF688 + .byte 0x5 + .uleb128 0x4a + .4byte .LASF689 + .byte 0x5 + .uleb128 0x4b + .4byte .LASF690 + .byte 0x5 + .uleb128 0x4c + .4byte .LASF691 + .byte 0x5 + .uleb128 0x51 + .4byte .LASF692 + .byte 0x5 + .uleb128 0x52 + .4byte .LASF693 + .byte 0x5 + .uleb128 0x53 + .4byte .LASF694 + .byte 0x5 + .uleb128 0x54 + .4byte .LASF695 + .byte 0x5 + .uleb128 0x55 + .4byte .LASF696 + .byte 0x5 + .uleb128 0x59 + .4byte .LASF697 + .byte 0x5 + .uleb128 0x5a + .4byte .LASF698 + .byte 0x5 + .uleb128 0x5b + .4byte .LASF699 + .byte 0x5 + .uleb128 0x5c + .4byte .LASF700 + .byte 0x5 + .uleb128 0x5d + .4byte .LASF701 + .byte 0x5 + .uleb128 0x5e + .4byte .LASF702 + .byte 0x5 + .uleb128 0x63 + .4byte .LASF703 + .byte 0x5 + .uleb128 0x64 + .4byte .LASF704 + .byte 0x5 + .uleb128 0x65 + .4byte .LASF705 + .byte 0x5 + .uleb128 0x66 + .4byte .LASF706 + .byte 0x5 + .uleb128 0x67 + .4byte .LASF707 + .byte 0x5 + .uleb128 0x6c + .4byte .LASF708 + .byte 0x5 + .uleb128 0x6d + .4byte .LASF709 + .byte 0x5 + .uleb128 0x6e + .4byte .LASF710 + .byte 0x5 + .uleb128 0x6f + .4byte .LASF711 + .byte 0x5 + .uleb128 0x70 + .4byte .LASF712 + .byte 0x5 + .uleb128 0x71 + .4byte .LASF713 + .byte 0x5 + .uleb128 0x74 + .4byte .LASF714 + .byte 0x5 + .uleb128 0x75 + .4byte .LASF715 + .byte 0x5 + .uleb128 0x76 + .4byte .LASF716 + .byte 0x5 + .uleb128 0x77 + .4byte .LASF717 + .byte 0x5 + .uleb128 0x78 + .4byte .LASF718 + .byte 0x5 + .uleb128 0x79 + .4byte .LASF719 + .byte 0x5 + .uleb128 0x7b + .4byte .LASF720 + .byte 0x5 + .uleb128 0x7c + .4byte .LASF721 + .byte 0x5 + .uleb128 0x7d + .4byte .LASF722 + .byte 0x5 + .uleb128 0x7e + .4byte .LASF723 + .byte 0x5 + .uleb128 0x7f + .4byte .LASF724 + .byte 0x5 + .uleb128 0x82 + .4byte .LASF725 + .byte 0x5 + .uleb128 0x83 + .4byte .LASF726 + .byte 0x5 + .uleb128 0x84 + .4byte .LASF727 + .byte 0x5 + .uleb128 0x85 + .4byte .LASF728 + .byte 0x5 + .uleb128 0x86 + .4byte .LASF729 + .byte 0x5 + .uleb128 0x87 + .4byte .LASF730 + .byte 0x5 + .uleb128 0x89 + .4byte .LASF731 + .byte 0x5 + .uleb128 0x8a + .4byte .LASF732 + .byte 0x5 + .uleb128 0x8b + .4byte .LASF733 + .byte 0x5 + .uleb128 0x8c + .4byte .LASF734 + .byte 0x5 + .uleb128 0x8d + .4byte .LASF735 + .byte 0x5 + .uleb128 0x90 + .4byte .LASF736 + .byte 0x5 + .uleb128 0x91 + .4byte .LASF737 + .byte 0x5 + .uleb128 0x92 + .4byte .LASF738 + .byte 0x5 + .uleb128 0x93 + .4byte .LASF739 + .byte 0x5 + .uleb128 0x94 + .4byte .LASF740 + .byte 0x5 + .uleb128 0x95 + .4byte .LASF741 + .byte 0x5 + .uleb128 0x97 + .4byte .LASF742 + .byte 0x5 + .uleb128 0x98 + .4byte .LASF743 + .byte 0x5 + .uleb128 0x99 + .4byte .LASF744 + .byte 0x5 + .uleb128 0x9a + .4byte .LASF745 + .byte 0x5 + .uleb128 0x9b + .4byte .LASF746 + .byte 0x5 + .uleb128 0x9e + .4byte .LASF747 + .byte 0x5 + .uleb128 0x9f + .4byte .LASF748 + .byte 0x5 + .uleb128 0xa0 + .4byte .LASF749 + .byte 0x5 + .uleb128 0xa1 + .4byte .LASF750 + .byte 0x5 + .uleb128 0xa2 + .4byte .LASF751 + .byte 0x5 + .uleb128 0xa3 + .4byte .LASF752 + .byte 0x5 + .uleb128 0xa5 + .4byte .LASF753 + .byte 0x5 + .uleb128 0xa6 + .4byte .LASF754 + .byte 0x5 + .uleb128 0xa7 + .4byte .LASF755 + .byte 0x5 + .uleb128 0xa8 + .4byte .LASF756 + .byte 0x5 + .uleb128 0xa9 + .4byte .LASF757 + .byte 0x5 + .uleb128 0xaa + .4byte .LASF758 + .byte 0x5 + .uleb128 0xac + .4byte .LASF759 + .byte 0x5 + .uleb128 0xad + .4byte .LASF760 + .byte 0x5 + .uleb128 0xae + .4byte .LASF761 + .byte 0x5 + .uleb128 0xaf + .4byte .LASF762 + .byte 0x5 + .uleb128 0xb0 + .4byte .LASF763 + .byte 0x5 + .uleb128 0xb3 + .4byte .LASF764 + .byte 0x5 + .uleb128 0xb4 + .4byte .LASF765 + .byte 0x5 + .uleb128 0xb5 + .4byte .LASF766 + .byte 0x5 + .uleb128 0xb6 + .4byte .LASF767 + .byte 0x5 + .uleb128 0xb7 + .4byte .LASF768 + .byte 0x5 + .uleb128 0xb8 + .4byte .LASF769 + .byte 0x5 + .uleb128 0xba + .4byte .LASF770 + .byte 0x5 + .uleb128 0xbb + .4byte .LASF771 + .byte 0x5 + .uleb128 0xbc + .4byte .LASF772 + .byte 0x5 + .uleb128 0xbd + .4byte .LASF773 + .byte 0x5 + .uleb128 0xbe + .4byte .LASF774 + .byte 0x5 + .uleb128 0xc1 + .4byte .LASF775 + .byte 0x5 + .uleb128 0xc2 + .4byte .LASF776 + .byte 0x5 + .uleb128 0xc3 + .4byte .LASF777 + .byte 0x5 + .uleb128 0xc4 + .4byte .LASF778 + .byte 0x5 + .uleb128 0xc5 + .4byte .LASF779 + .byte 0x5 + .uleb128 0xc6 + .4byte .LASF780 + .byte 0x5 + .uleb128 0xc8 + .4byte .LASF781 + .byte 0x5 + .uleb128 0xc9 + .4byte .LASF782 + .byte 0x5 + .uleb128 0xca + .4byte .LASF783 + .byte 0x5 + .uleb128 0xcb + .4byte .LASF784 + .byte 0x5 + .uleb128 0xcc + .4byte .LASF785 + .byte 0x5 + .uleb128 0xd0 + .4byte .LASF786 + .byte 0x5 + .uleb128 0xd1 + .4byte .LASF787 + .byte 0x5 + .uleb128 0xd3 + .4byte .LASF788 + .byte 0x5 + .uleb128 0xd4 + .4byte .LASF789 + .byte 0x5 + .uleb128 0xd5 + .4byte .LASF790 + .byte 0x5 + .uleb128 0xd6 + .4byte .LASF791 + .byte 0x5 + .uleb128 0xd9 + .4byte .LASF792 + .byte 0x5 + .uleb128 0xda + .4byte .LASF793 + .byte 0x5 + .uleb128 0xdb + .4byte .LASF794 + .byte 0x5 + .uleb128 0xdc + .4byte .LASF795 + .byte 0x5 + .uleb128 0xdd + .4byte .LASF796 + .byte 0x5 + .uleb128 0xde + .4byte .LASF797 + .byte 0x5 + .uleb128 0xe0 + .4byte .LASF798 + .byte 0x5 + .uleb128 0xe1 + .4byte .LASF799 + .byte 0x5 + .uleb128 0xe2 + .4byte .LASF800 + .byte 0x5 + .uleb128 0xe3 + .4byte .LASF801 + .byte 0x5 + .uleb128 0xe4 + .4byte .LASF802 + .byte 0x5 + .uleb128 0xe8 + .4byte .LASF803 + .byte 0x5 + .uleb128 0xe9 + .4byte .LASF804 + .byte 0x5 + .uleb128 0xea + .4byte .LASF805 + .byte 0x5 + .uleb128 0xeb + .4byte .LASF806 + .byte 0x5 + .uleb128 0xec + .4byte .LASF807 + .byte 0x5 + .uleb128 0xed + .4byte .LASF808 + .byte 0x5 + .uleb128 0xef + .4byte .LASF809 + .byte 0x5 + .uleb128 0xf0 + .4byte .LASF810 + .byte 0x5 + .uleb128 0xf1 + .4byte .LASF811 + .byte 0x5 + .uleb128 0xf2 + .4byte .LASF812 + .byte 0x5 + .uleb128 0xf3 + .4byte .LASF813 + .byte 0x5 + .uleb128 0xf7 + .4byte .LASF814 + .byte 0x5 + .uleb128 0xf8 + .4byte .LASF815 + .byte 0x5 + .uleb128 0xf9 + .4byte .LASF816 + .byte 0x5 + .uleb128 0xfa + .4byte .LASF817 + .byte 0x5 + .uleb128 0xfb + .4byte .LASF818 + .byte 0x5 + .uleb128 0xfc + .4byte .LASF819 + .byte 0x5 + .uleb128 0xfe + .4byte .LASF820 + .byte 0x5 + .uleb128 0xff + .4byte .LASF821 + .byte 0x5 + .uleb128 0x100 + .4byte .LASF822 + .byte 0x5 + .uleb128 0x101 + .4byte .LASF823 + .byte 0x5 + .uleb128 0x102 + .4byte .LASF824 + .byte 0x5 + .uleb128 0x10a + .4byte .LASF825 + .byte 0x5 + .uleb128 0x10b + .4byte .LASF826 + .byte 0x5 + .uleb128 0x111 + .4byte .LASF827 + .byte 0x5 + .uleb128 0x112 + .4byte .LASF828 + .byte 0x5 + .uleb128 0x113 + .4byte .LASF829 + .byte 0x5 + .uleb128 0x114 + .4byte .LASF830 + .byte 0x5 + .uleb128 0x115 + .4byte .LASF831 + .byte 0x5 + .uleb128 0x116 + .4byte .LASF832 + .byte 0x5 + .uleb128 0x118 + .4byte .LASF833 + .byte 0x5 + .uleb128 0x119 + .4byte .LASF834 + .byte 0x5 + .uleb128 0x11a + .4byte .LASF835 + .byte 0x5 + .uleb128 0x11b + .4byte .LASF836 + .byte 0x5 + .uleb128 0x11c + .4byte .LASF837 + .byte 0x5 + .uleb128 0x126 + .4byte .LASF838 + .byte 0x5 + .uleb128 0x127 + .4byte .LASF839 + .byte 0x5 + .uleb128 0x12a + .4byte .LASF840 + .byte 0x5 + .uleb128 0x12b + .4byte .LASF841 + .byte 0x5 + .uleb128 0x12c + .4byte .LASF842 + .byte 0x5 + .uleb128 0x12d + .4byte .LASF843 + .byte 0x5 + .uleb128 0x12e + .4byte .LASF844 + .byte 0x5 + .uleb128 0x12f + .4byte .LASF845 + .byte 0x5 + .uleb128 0x131 + .4byte .LASF846 + .byte 0x5 + .uleb128 0x132 + .4byte .LASF847 + .byte 0x5 + .uleb128 0x133 + .4byte .LASF848 + .byte 0x5 + .uleb128 0x134 + .4byte .LASF849 + .byte 0x5 + .uleb128 0x135 + .4byte .LASF850 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.rcc.h.37.fc51eb78a9b2f3f5a4ab23580aa1aac2,comdat +.Ldebug_macro14: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x25 + .4byte .LASF851 + .byte 0x5 + .uleb128 0x26 + .4byte .LASF852 + .byte 0x5 + .uleb128 0x2a + .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 + .byte 0x5 + .uleb128 0x79 + .4byte .LASF897 + .byte 0x5 + .uleb128 0x7a + .4byte .LASF898 + .byte 0x5 + .uleb128 0x7c + .4byte .LASF899 + .byte 0x5 + .uleb128 0x7d + .4byte .LASF900 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.stdbool.h.29.eb124ecb79face0a1d832a352bec45e0,comdat +.Ldebug_macro15: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x1d + .4byte .LASF902 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF903 + .byte 0x5 + .uleb128 0x23 + .4byte .LASF904 + .byte 0x5 + .uleb128 0x24 + .4byte .LASF905 + .byte 0x5 + .uleb128 0x32 + .4byte .LASF906 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.gpio.h.21.e1d894a99a4e20e5ed6ffc90fcb5e1e3,comdat +.Ldebug_macro16: + .2byte 0x5 + .byte 0 + .byte 0x5 + .uleb128 0x15 + .4byte .LASF907 + .byte 0x5 + .uleb128 0x16 + .4byte .LASF908 + .byte 0x5 + .uleb128 0x18 + .4byte .LASF909 + .byte 0x5 + .uleb128 0x19 + .4byte .LASF910 + .byte 0x5 + .uleb128 0x1a + .4byte .LASF911 + .byte 0x5 + .uleb128 0x1d + .4byte .LASF912 + .byte 0x5 + .uleb128 0x1f + .4byte .LASF913 + .byte 0x5 + .uleb128 0x21 + .4byte .LASF914 + .byte 0x5 + .uleb128 0x23 + .4byte .LASF915 + .byte 0 + .section .debug_macro,"G",%progbits,wm4.usart.h.2.41f911260774cb69712a09f3470bfff3,comdat +.Ldebug_macro17: + .2byte 0x5 + .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 + .4byte .LASF926 + .byte 0x5 + .uleb128 0x26 + .4byte .LASF927 + .byte 0x5 + .uleb128 0x27 + .4byte .LASF928 + .byte 0x5 + .uleb128 0x29 + .4byte .LASF929 + .byte 0x5 + .uleb128 0x2a + .4byte .LASF930 + .byte 0 + .section .debug_line,"",%progbits +.Ldebug_line0: + .section .debug_str,"MS",%progbits,1 +.LASF735: + .ascii "SCNxLEAST16 __SCN16LEAST(x)\000" +.LASF636: + .ascii "WINT_MIN (__WINT_MIN__)\000" +.LASF186: + .ascii "__DECIMAL_DIG__ 17\000" +.LASF354: + .ascii "__UHA_FBIT__ 8\000" +.LASF815: + .ascii "PRIiFAST64 __PRI64FAST(i)\000" +.LASF932: + .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" +.LASF841: + .ascii "PRIiPTR __PRIPTR(i)\000" +.LASF367: + .ascii "__CHAR_UNSIGNED__ 1\000" +.LASF227: + .ascii "__FLT64_HAS_INFINITY__ 1\000" +.LASF752: + .ascii "__SCN32FAST(x) __FAST32 __STRINGIFY(x)\000" +.LASF318: + .ascii "__LLACCUM_MIN__ (-0X1P31LLK-0X1P31LLK)\000" +.LASF338: + .ascii "__UHQ_FBIT__ 16\000" +.LASF310: + .ascii "__LACCUM_EPSILON__ 0x1P-31LK\000" +.LASF810: + .ascii "SCNiLEAST64 __SCN64LEAST(i)\000" +.LASF79: + .ascii "__PTRDIFF_MAX__ 0x7fffffff\000" +.LASF542: + .ascii "_LONG_DOUBLE long double\000" +.LASF592: + .ascii "INT_LEAST8_MIN (-__INT_LEAST8_MAX__ - 1)\000" +.LASF78: + .ascii "__WINT_MIN__ 0U\000" +.LASF90: + .ascii "__INTMAX_MAX__ 0x7fffffffffffffffLL\000" +.LASF973: + .ascii "GPIO_MODE_AF\000" +.LASF335: + .ascii "__TQ_IBIT__ 0\000" +.LASF220: + .ascii "__FLT64_DECIMAL_DIG__ 17\000" +.LASF14: + .ascii "__ATOMIC_CONSUME 1\000" +.LASF311: + .ascii "__ULACCUM_FBIT__ 32\000" +.LASF75: + .ascii "__WCHAR_MAX__ 0xffffffffU\000" +.LASF514: + .ascii "__int20__\000" +.LASF899: + .ascii "RCC_APB1ENR_TIM4_BIT 2\000" +.LASF930: + .ascii "USART_BRR_FRACTION_MASK (0b111)\000" +.LASF18: + .ascii "__SIZEOF_LONG_LONG__ 8\000" +.LASF169: + .ascii "__DBL_MAX_10_EXP__ 308\000" +.LASF214: + .ascii "__FLT64_MANT_DIG__ 53\000" +.LASF258: + .ascii "__FRACT_MIN__ (-0.5R-0.5R)\000" +.LASF324: + .ascii "__ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULLK\000" +.LASF294: + .ascii "__USACCUM_MAX__ 0XFFFFP-8UHK\000" +.LASF246: + .ascii "__SFRACT_FBIT__ 7\000" +.LASF94: + .ascii "__INTMAX_WIDTH__ 64\000" +.LASF916: + .ascii "USART_H_ \000" +.LASF448: + .ascii "__ARM_FEATURE_BF16_SCALAR_ARITHMETIC\000" +.LASF331: + .ascii "__SQ_IBIT__ 0\000" +.LASF28: + .ascii "__ORDER_PDP_ENDIAN__ 3412\000" +.LASF34: + .ascii "__SIZE_TYPE__ unsigned int\000" +.LASF900: + .ascii "RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT)" + .ascii "\000" +.LASF621: + .ascii "UINT_FAST32_MAX (__UINT_FAST32_MAX__)\000" +.LASF43: + .ascii "__INT8_TYPE__ signed char\000" +.LASF206: + .ascii "__FLT32_MIN__ 1.1754943508222875e-38F32\000" +.LASF293: + .ascii "__USACCUM_MIN__ 0.0UHK\000" +.LASF716: + .ascii "PRIo16 __PRI16(o)\000" +.LASF203: + .ascii "__FLT32_DECIMAL_DIG__ 9\000" +.LASF379: + .ascii "__GCC_ATOMIC_LLONG_LOCK_FREE 1\000" +.LASF182: + .ascii "__LDBL_MIN_EXP__ (-1021)\000" +.LASF180: + .ascii "__LDBL_MANT_DIG__ 53\000" +.LASF119: + .ascii "__UINT8_C(c) c\000" +.LASF44: + .ascii "__INT16_TYPE__ short int\000" +.LASF714: + .ascii "PRId16 __PRI16(d)\000" +.LASF221: + .ascii "__FLT64_MAX__ 1.7976931348623157e+308F64\000" +.LASF492: + .ascii "__ISO_C_VISIBLE 2011\000" +.LASF780: + .ascii "PRIXFAST32 __PRI32FAST(X)\000" +.LASF851: + .ascii "RCC_BASE_ADDR (0x40023800U)\000" +.LASF526: + .ascii "__INT8 \"hh\"\000" +.LASF47: + .ascii "__UINT8_TYPE__ unsigned char\000" +.LASF368: + .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1\000" +.LASF599: + .ascii "INT_LEAST16_MAX (__INT_LEAST16_MAX__)\000" +.LASF704: + .ascii "SCNiFAST8 __SCN8FAST(i)\000" +.LASF791: + .ascii "__SCN64FAST(x) __FAST64 __STRINGIFY(x)\000" +.LASF617: + .ascii "INT_FAST16_MAX (__INT_FAST16_MAX__)\000" +.LASF281: + .ascii "__ULLFRACT_FBIT__ 64\000" +.LASF675: + .ascii "PRId8 __PRI8(d)\000" +.LASF468: + .ascii "_LDBL_EQ_DBL 1\000" +.LASF676: + .ascii "PRIi8 __PRI8(i)\000" +.LASF62: + .ascii "__INT_FAST64_TYPE__ long long int\000" +.LASF37: + .ascii "__WINT_TYPE__ unsigned int\000" +.LASF679: + .ascii "PRIx8 __PRI8(x)\000" +.LASF590: + .ascii "INT8_MAX (__INT8_MAX__)\000" +.LASF912: + .ascii "PORT(port) (((port) - 'A') << 8)\000" +.LASF631: + .ascii "PTRDIFF_MAX (__PTRDIFF_MAX__)\000" +.LASF839: + .ascii "__SCNPTR(x) __STRINGIFY(x)\000" +.LASF202: + .ascii "__FLT32_MAX_10_EXP__ 38\000" +.LASF886: + .ascii "RCC_CFGR_HPRE_BIT 4\000" +.LASF683: + .ascii "SCNo8 __SCN8(o)\000" +.LASF765: + .ascii "PRIiLEAST32 __PRI32LEAST(i)\000" +.LASF254: + .ascii "__USFRACT_MAX__ 0XFFP-8UHR\000" +.LASF212: + .ascii "__FP_FAST_FMAF32 1\000" +.LASF140: + .ascii "__UINTPTR_MAX__ 0xffffffffU\000" +.LASF666: + .ascii "__need_wchar_t\000" +.LASF199: + .ascii "__FLT32_MIN_EXP__ (-125)\000" +.LASF984: + .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" + .ascii "ections -fno-builtin -fno-common\000" +.LASF859: + .ascii "RCC_CR_HSEON_BIT 16\000" +.LASF596: + .ascii "INT16_MAX (__INT16_MAX__)\000" +.LASF271: + .ascii "__ULFRACT_FBIT__ 32\000" +.LASF217: + .ascii "__FLT64_MIN_10_EXP__ (-307)\000" +.LASF32: + .ascii "__GNUC_EXECUTION_CHARSET_NAME \"UTF-8\"\000" +.LASF584: + .ascii "__int_fast32_t_defined 1\000" +.LASF133: + .ascii "__INT_FAST64_WIDTH__ 64\000" +.LASF879: + .ascii "RCC_CFGR_PPRE_DIV_NONE 0\000" +.LASF660: + .ascii "___int_wchar_t_h \000" +.LASF850: + .ascii "SCNxPTR __SCNPTR(x)\000" +.LASF844: + .ascii "PRIxPTR __PRIPTR(x)\000" +.LASF639: + .ascii "INT16_C(x) __INT16_C(x)\000" +.LASF250: + .ascii "__SFRACT_EPSILON__ 0x1P-7HR\000" +.LASF113: + .ascii "__INT32_C(c) c ## L\000" +.LASF27: + .ascii "__ORDER_BIG_ENDIAN__ 4321\000" +.LASF743: + .ascii "SCNiFAST16 __SCN16FAST(i)\000" +.LASF330: + .ascii "__SQ_FBIT__ 31\000" +.LASF830: + .ascii "PRIuMAX __PRIMAX(u)\000" +.LASF365: + .ascii "__NO_INLINE__ 1\000" +.LASF589: + .ascii "INT8_MIN (-__INT8_MAX__ - 1)\000" +.LASF786: + .ascii "__PRI64(x) __INT64 __STRINGIFY(x)\000" +.LASF566: + .ascii "_UINT16_T_DECLARED \000" +.LASF687: + .ascii "PRIiLEAST8 __PRI8LEAST(i)\000" +.LASF561: + .ascii "_SYS__STDINT_H \000" +.LASF611: + .ascii "INT_LEAST64_MAX (__INT_LEAST64_MAX__)\000" +.LASF216: + .ascii "__FLT64_MIN_EXP__ (-1021)\000" +.LASF749: + .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" +.LASF134: + .ascii "__UINT_FAST8_MAX__ 0xffffffffU\000" +.LASF929: + .ascii "USART_BRR_FRACTION_BIT 0\000" +.LASF541: + .ascii "_NOTHROW \000" +.LASF601: + .ascii "INT32_MIN (-__INT32_MAX__ - 1)\000" +.LASF307: + .ascii "__LACCUM_IBIT__ 32\000" +.LASF593: + .ascii "INT_LEAST8_MAX (__INT_LEAST8_MAX__)\000" +.LASF888: + .ascii "RCC_CFGR_SWS_PLL (0b10)\000" +.LASF934: + .ascii "__uint8_t\000" +.LASF81: + .ascii "__SCHAR_WIDTH__ 8\000" +.LASF456: + .ascii "__NEWLIB_H__ 1\000" +.LASF129: + .ascii "__INT_FAST16_WIDTH__ 32\000" +.LASF422: + .ascii "__VFP_FP__ 1\000" +.LASF536: + .ascii "__LEAST32 \"l\"\000" +.LASF529: + .ascii "__INT64 \"ll\"\000" +.LASF138: + .ascii "__INTPTR_MAX__ 0x7fffffff\000" +.LASF961: + .ascii "AHB2LPENR\000" +.LASF500: + .ascii "__RAND_MAX\000" +.LASF135: + .ascii "__UINT_FAST16_MAX__ 0xffffffffU\000" +.LASF610: + .ascii "INT_LEAST64_MIN (-__INT_LEAST64_MAX__ - 1)\000" +.LASF896: + .ascii "RCC_APB1ENR_PWREN_CLOCK_ENABLE (1 << RCC_APB1ENR_PW" + .ascii "REN_BIT)\000" +.LASF487: + .ascii "__GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_M" + .ascii "INOR__ >= ((maj) << 16) + (min))\000" +.LASF653: + .ascii "_T_WCHAR \000" +.LASF576: + .ascii "_INTPTR_T_DECLARED \000" +.LASF475: + .ascii "_WANT_IO_LONG_LONG 1\000" +.LASF243: + .ascii "__FLT32X_HAS_INFINITY__ 1\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" +.LASF937: + .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" +.LASF982: + .ascii "txPin\000" +.LASF878: + .ascii "RCC_PLLCFGR_PLLM(m) ((m & RCC_PLLCFGR_PLLM_MASK) <<" + .ascii " RCC_PLLCFGR_PLLM_BIT)\000" +.LASF59: + .ascii "__INT_FAST8_TYPE__ int\000" +.LASF545: + .ascii "_NOINLINE __attribute__ ((__noinline__))\000" +.LASF358: + .ascii "__UDA_FBIT__ 32\000" +.LASF775: + .ascii "PRIdFAST32 __PRI32FAST(d)\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" +.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" +.LASF901: + .ascii "GPIO_H_ \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" +.LASF958: + .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" +.LASF960: + .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" +.LASF970: + .ascii "DCKCFGR\000" +.LASF721: + .ascii "SCNi16 __SCN16(i)\000" +.LASF360: + .ascii "__UTA_FBIT__ 64\000" +.LASF976: + .ascii "usart\000" +.LASF153: + .ascii "__FLT_DECIMAL_DIG__ 9\000" +.LASF563: + .ascii "_UINT8_T_DECLARED \000" +.LASF931: + .ascii "signed char\000" +.LASF806: + .ascii "PRIuLEAST64 __PRI64LEAST(u)\000" +.LASF943: + .ascii "uint8_t\000" +.LASF705: + .ascii "SCNoFAST8 __SCN8FAST(o)\000" +.LASF626: + .ascii "INTMAX_MIN (-INTMAX_MAX - 1)\000" +.LASF467: + .ascii "_HAVE_LONG_DOUBLE 1\000" +.LASF975: + .ascii "GPIO_MODE\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" +.LASF337: + .ascii "__UQQ_IBIT__ 0\000" +.LASF289: + .ascii "__SACCUM_MAX__ 0X7FFFP-7HK\000" +.LASF219: + .ascii "__FLT64_MAX_10_EXP__ 308\000" +.LASF874: + .ascii "RCC_PLLCFGR_PLLN_MASK (0b111111111)\000" +.LASF950: + .ascii "RESERVED0\000" +.LASF953: + .ascii "RESERVED1\000" +.LASF956: + .ascii "RESERVED2\000" +.LASF3: + .ascii "__STDC_UTF_32__ 1\000" +.LASF962: + .ascii "RESERVED4\000" +.LASF241: + .ascii "__FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x\000" +.LASF967: + .ascii "RESERVED6\000" +.LASF152: + .ascii "__FLT_MAX_10_EXP__ 38\000" +.LASF42: + .ascii "__SIG_ATOMIC_TYPE__ int\000" +.LASF883: + .ascii "RCC_CFGR_PPRE1_BIT 10\000" +.LASF259: + .ascii "__FRACT_MAX__ 0X7FFFP-15R\000" +.LASF729: + .ascii "PRIxLEAST16 __PRI16LEAST(x)\000" +.LASF981: + .ascii "usart2_write_byte\000" +.LASF985: + .ascii "src/usart.c\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" +.LASF845: + .ascii "PRIXPTR __PRIPTR(X)\000" +.LASF798: + .ascii "SCNd64 __SCN64(d)\000" +.LASF972: + .ascii "GPIO_MODE_OUTPUT\000" +.LASF614: + .ascii "INT_FAST8_MAX (__INT_FAST8_MAX__)\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" +.LASF585: + .ascii "__int_fast64_t_defined 1\000" +.LASF838: + .ascii "__PRIPTR(x) __STRINGIFY(x)\000" +.LASF453: + .ascii "__USES_INITFINI__ 1\000" +.LASF417: + .ascii "__thumb2__ 1\000" +.LASF321: + .ascii "__ULLACCUM_FBIT__ 32\000" +.LASF895: + .ascii "RCC_APB1ENR_PWREN_BIT 28\000" +.LASF898: + .ascii "RCC_APB1ENR_USART2EN_ENABLE (1 << RCC_APB1ENR_USART" + .ascii "2EN_BIT)\000" +.LASF366: + .ascii "__STRICT_ANSI__ 1\000" +.LASF486: + .ascii "_SYS_FEATURES_H \000" +.LASF813: + .ascii "SCNxLEAST64 __SCN64LEAST(x)\000" +.LASF959: + .ascii "RESERVED3\000" +.LASF22: + .ascii "__SIZEOF_LONG_DOUBLE__ 8\000" +.LASF965: + .ascii "RESERVED5\000" +.LASF386: + .ascii "__PRAGMA_REDEFINE_EXTNAME 1\000" +.LASF36: + .ascii "__WCHAR_TYPE__ unsigned int\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" +.LASF917: + .ascii "USART2_BASE_ADDR (0x40004400U)\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" +.LASF516: + .ascii "signed +0\000" +.LASF213: + .ascii "__FLT32_IS_IEC_60559__ 2\000" +.LASF630: + .ascii "SIG_ATOMIC_MAX (__STDINT_EXP(INT_MAX))\000" +.LASF926: + .ascii "USART_CR1_RE_ENABLE (1 << USART_CR1_RE_BIT)\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" +.LASF935: + .ascii "__uint16_t\000" +.LASF955: + .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" +.LASF553: + .ascii "___int16_t_defined 1\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" +.LASF908: + .ascii "GPIO_AF_USART2_TX (0b0111)\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" +.LASF557: + .ascii "___int_least16_t_defined 1\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" +.LASF904: + .ascii "true ((_Bool)+1u)\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" +.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" +.LASF689: + .ascii "PRIuLEAST8 __PRI8LEAST(u)\000" +.LASF966: + .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" +.LASF794: + .ascii "PRIo64 __PRI64(o)\000" +.LASF736: + .ascii "PRIdFAST16 __PRI16FAST(d)\000" +.LASF944: + .ascii "uint16_t\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" +.LASF947: + .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" +.LASF680: + .ascii "PRIX8 __PRI8(X)\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" +.LASF939: + .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" +.LASF907: + .ascii "GPIO_AF_USART2_RX (0b0111)\000" +.LASF905: + .ascii "false ((_Bool)+0u)\000" +.LASF657: + .ascii "_WCHAR_T_DEFINED_ \000" +.LASF144: + .ascii "__FLT_EVAL_METHOD_TS_18661_3__ 0\000" +.LASF522: + .ascii "int +2\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" +.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" +.LASF979: + .ascii "gpio_set_mode\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" +.LASF925: + .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: + .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" +.LASF761: + .ascii "SCNo32 __SCN32(o)\000" +.LASF304: + .ascii "__UACCUM_MAX__ 0XFFFFFFFFP-16UK\000" +.LASF568: + .ascii "_INT32_T_DECLARED \000" +.LASF1: + .ascii "__STDC_VERSION__ 202000L\000" +.LASF983: + .ascii "rxPin\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" +.LASF712: + .ascii "__SCN16LEAST(x) __LEAST16 __STRINGIFY(x)\000" +.LASF946: + .ascii "PLLCFGR\000" +.LASF5: + .ascii "__GNUC__ 12\000" +.LASF693: + .ascii "SCNiLEAST8 __SCN8LEAST(i)\000" +.LASF753: + .ascii "PRId32 __PRI32(d)\000" +.LASF84: + .ascii "__LONG_WIDTH__ 32\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" +.LASF938: + .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" +.LASF940: + .ascii "long long int\000" +.LASF401: + .ascii "__ARM_FEATURE_CMSE\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" +.LASF968: + .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" +.LASF0: + .ascii "__STDC__ 1\000" +.LASF239: + .ascii "__FLT32X_MIN__ 2.2250738585072014e-308F32x\000" +.LASF218: + .ascii "__FLT64_MAX_EXP__ 1024\000" +.LASF654: + .ascii "__WCHAR_T \000" +.LASF223: + .ascii "__FLT64_MIN__ 2.2250738585072014e-308F64\000" +.LASF977: + .ascii "GTPR\000" +.LASF554: + .ascii "___int32_t_defined 1\000" +.LASF83: + .ascii "__INT_WIDTH__ 32\000" +.LASF952: + .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" +.LASF964: + .ascii "APB2LPENR\000" +.LASF821: + .ascii "SCNiFAST64 __SCN64FAST(i)\000" +.LASF538: + .ascii "_ANSIDECL_H_ \000" +.LASF684: + .ascii "SCNu8 __SCN8(u)\000" +.LASF902: + .ascii "_STDBOOL_H \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" +.LASF942: + .ascii "unsigned int\000" +.LASF857: + .ascii "RCC_CR_HSERDY_BIT 17\000" +.LASF910: + .ascii "GPIO_PORT_OFFSET (0x400U)\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" +.LASF560: + .ascii "__EXP\000" +.LASF127: + .ascii "__INT_FAST8_WIDTH__ 32\000" +.LASF2: + .ascii "__STDC_UTF_16__ 1\000" +.LASF402: + .ascii "__ARM_FEATURE_LDREX\000" +.LASF987: + .ascii "usart2_start\000" +.LASF336: + .ascii "__UQQ_FBIT__ 8\000" +.LASF427: + .ascii "__ARM_FP16_ARGS\000" +.LASF141: + .ascii "__GCC_IEC_559 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" +.LASF978: + .ascii "gpio_set_af\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" +.LASF963: + .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" +.LASF633: + .ascii "WCHAR_MIN (__WCHAR_MIN__)\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" +.LASF924: + .ascii "USART_CR1_TE_ENABLE (1 << USART_CR1_TE_BIT)\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" +.LASF915: + .ascii "PINPORT(pin) (pin >> 8)\000" +.LASF198: + .ascii "__FLT32_DIG__ 6\000" +.LASF897: + .ascii "RCC_APB1ENR_USART2EN_BIT 17\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" +.LASF734: + .ascii "SCNuLEAST16 __SCN16LEAST(u)\000" +.LASF951: + .ascii "APB1RSTR\000" +.LASF298: + .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" +.LASF393: + .ascii "__ARM_FEATURE_CRYPTO\000" +.LASF957: + .ascii "APB1ENR\000" +.LASF698: + .ascii "PRIiFAST8 __PRI8FAST(i)\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" +.LASF941: + .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" +.LASF370: + .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1\000" +.LASF60: + .ascii "__INT_FAST16_TYPE__ int\000" +.LASF575: + .ascii "_UINTMAX_T_DECLARED \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" +.LASF309: + .ascii "__LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK\000" +.LASF40: + .ascii "__CHAR16_TYPE__ short unsigned int\000" +.LASF920: + .ascii "USART_SR_TC_COMPLETED (1 << USART_SR_TC_BIT)\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" +.LASF571: + .ascii "_INT64_T_DECLARED \000" +.LASF829: + .ascii "PRIoMAX __PRIMAX(o)\000" +.LASF748: + .ascii "__SCN32(x) __INT32 __STRINGIFY(x)\000" +.LASF971: + .ascii "GPIO_MODE_INPUT\000" +.LASF744: + .ascii "SCNoFAST16 __SCN16FAST(o)\000" +.LASF913: + .ascii "PIN(port,num) (PORT(port) | num)\000" +.LASF988: + .ascii "usart2_init\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" +.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" +.LASF922: + .ascii "USART_CR1_UE_ENABLE (1 << USART_CR1_UE_BIT)\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" +.LASF828: + .ascii "PRIiMAX __PRIMAX(i)\000" +.LASF454: + .ascii "RCC_H_ \000" +.LASF405: + .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" +.LASF909: + .ascii "GPIO_BASE_ADDR (0x40020000U)\000" +.LASF38: + .ascii "__INTMAX_TYPE__ long long int\000" +.LASF377: + .ascii "__GCC_ATOMIC_INT_LOCK_FREE 2\000" +.LASF928: + .ascii "USART_BRR_MANTISSA_MASK (0b111111111111)\000" +.LASF436: + .ascii "__ARM_ARCH_7EM__ 1\000" +.LASF428: + .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" +.LASF954: + .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" +.LASF518: + .ascii "char +0\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" +.LASF949: + .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" +.LASF933: + .ascii "short int\000" +.LASF836: + .ascii "SCNuMAX __SCNMAX(u)\000" +.LASF918: + .ascii "USART2 ((struct usart *) USART2_BASE_ADDR)\000" +.LASF121: + .ascii "__UINT16_C(c) c\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" +.LASF919: + .ascii "USART_SR_TC_BIT 6\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" +.LASF974: + .ascii "GPIO_MODE_ANALOG\000" +.LASF177: + .ascii "__DBL_HAS_INFINITY__ 1\000" +.LASF95: + .ascii "__SIG_ATOMIC_MAX__ 0x7fffffff\000" +.LASF609: + .ascii "UINT64_MAX (__UINT64_MAX__)\000" +.LASF472: + .ascii "_RETARGETABLE_LOCKING 1\000" +.LASF440: + .ascii "__ARM_ARCH_EXT_IDIV__ 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" +.LASF532: + .ascii "__FAST32 \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" +.LASF451: + .ascii "__GXX_TYPEINFO_EQUALITY_INLINE 0\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" +.LASF562: + .ascii "_INT8_T_DECLARED \000" +.LASF382: + .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" +.LASF665: + .ascii "_BSD_WCHAR_T_\000" +.LASF969: + .ascii "PLLI2SCFGR\000" +.LASF277: + .ascii "__LLFRACT_IBIT__ 0\000" +.LASF640: + .ascii "UINT16_C(x) __UINT16_C(x)\000" +.LASF757: + .ascii "PRIx32 __PRI32(x)\000" +.LASF278: + .ascii "__LLFRACT_MIN__ (-0.5LLR-0.5LLR)\000" +.LASF945: + .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" +.LASF364: + .ascii "__GNUC_STDC_INLINE__ 1\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" +.LASF77: + .ascii "__WINT_MAX__ 0xffffffffU\000" +.LASF108: + .ascii "__INT_LEAST8_WIDTH__ 8\000" +.LASF52: + .ascii "__INT_LEAST16_TYPE__ short int\000" +.LASF159: + .ascii "__FLT_HAS_DENORM__ 1\000" +.LASF914: + .ascii "PINNUM(pin) (pin & 0b1111)\000" +.LASF769: + .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" +.LASF171: + .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" +.LASF936: + .ascii "short unsigned int\000" +.LASF276: + .ascii "__LLFRACT_FBIT__ 63\000" +.LASF210: + .ascii "__FLT32_HAS_INFINITY__ 1\000" +.LASF416: + .ascii "__thumb__ 1\000" +.LASF927: + .ascii "USART_BRR_MANTISSA_BIT 4\000" +.LASF421: + .ascii "__ARMEL__ 1\000" +.LASF691: + .ascii "PRIXLEAST8 __PRI8LEAST(X)\000" +.LASF328: + .ascii "__HQ_FBIT__ 15\000" +.LASF906: + .ascii "__bool_true_false_are_defined 1\000" +.LASF921: + .ascii "USART_CR1_UE_BIT 13\000" +.LASF911: + .ascii "GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADD" + .ascii "R + (GPIO_PORT_OFFSET * port)))\000" +.LASF799: + .ascii "SCNi64 __SCN64(i)\000" +.LASF861: + .ascii "RCC_CR_HSIRDY_BIT 1\000" +.LASF80: + .ascii "__SIZE_MAX__ 0xffffffffU\000" +.LASF980: + .ascii "usart2_write\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" +.LASF948: + .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" +.LASF986: + .ascii "/home/alex/code/own/stm32-falling-sand\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" +.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" +.LASF708: + .ascii "__PRI16(x) __INT16 __STRINGIFY(x)\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" +.LASF923: + .ascii "USART_CR1_TE_BIT 3\000" +.LASF513: + .ascii "__int20\000" +.LASF620: + .ascii "INT_FAST32_MAX (__INT_FAST32_MAX__)\000" +.LASF205: + .ascii "__FLT32_NORM_MAX__ 3.4028234663852886e+38F32\000" +.LASF903: + .ascii "bool _Bool\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" +.LASF852: + .ascii "RCC ((struct rcc *) RCC_BASE_ADDR)\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/usart.i b/build/usart.i new file mode 100644 index 0000000..8b07638 --- /dev/null +++ b/build/usart.i @@ -0,0 +1,2254 @@ +# 0 "src/usart.c" +# 1 "/home/alex/code/own/stm32-falling-sand//" +# 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/usart.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_USART2EN_BIT 17 +#define RCC_APB1ENR_USART2EN_ENABLE (1 << RCC_APB1ENR_USART2EN_BIT) + +#define RCC_APB1ENR_TIM4_BIT 2 +#define RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT) +# 2 "src/usart.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; + volatile uint32_t OSPEEDR; + volatile uint32_t PUPDR; + volatile uint32_t IDR; + volatile uint32_t ODR; + volatile uint32_t BSRR; + volatile uint32_t LCKR; + volatile uint32_t AFRL; + volatile uint32_t AFRH; +}; + + +#define GPIO_AF_USART2_RX (0b0111) +#define GPIO_AF_USART2_TX (0b0111) + +#define GPIO_BASE_ADDR (0x40020000U) +#define GPIO_PORT_OFFSET (0x400U) +#define GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADDR + (GPIO_PORT_OFFSET * port))) + + +#define PORT(port) (((port) - 'A') << 8) + +#define PIN(port,num) (PORT(port) | num) + +#define PINNUM(pin) (pin & 0b1111) + +#define PINPORT(pin) (pin >> 8) + +typedef enum { + GPIO_MODE_INPUT, + GPIO_MODE_OUTPUT, + GPIO_MODE_AF, + GPIO_MODE_ANALOG +} GPIO_MODE; + +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 + _Bool +# 46 "src/gpio.h" + val); +# 3 "src/usart.c" 2 +# 1 "src/usart.h" 1 + +#define USART_H_ + + + +struct usart { + volatile uint32_t SR; + volatile uint32_t DR; + volatile uint32_t BRR; + volatile uint32_t CR1; + volatile uint32_t CR2; + volatile uint32_t CR3; + volatile uint32_t GTPR; +}; + +#define USART2_BASE_ADDR (0x40004400U) +#define USART2 ((struct usart *) USART2_BASE_ADDR) + + + +#define USART_SR_TC_BIT 6 +#define USART_SR_TC_COMPLETED (1 << USART_SR_TC_BIT) + + + +#define USART_CR1_UE_BIT 13 +#define USART_CR1_UE_ENABLE (1 << USART_CR1_UE_BIT) + + +#define USART_CR1_TE_BIT 3 +#define USART_CR1_TE_ENABLE (1 << USART_CR1_TE_BIT) + + +#define USART_CR1_RE_BIT 2 +#define USART_CR1_RE_ENABLE (1 << USART_CR1_RE_BIT) + + +#define USART_BRR_MANTISSA_BIT 4 +#define USART_BRR_MANTISSA_MASK (0b111111111111) + +#define USART_BRR_FRACTION_BIT 0 +#define USART_BRR_FRACTION_MASK (0b111) + +void usart2_init(void); +void usart2_start(void); + +void usart2_write_byte(uint8_t byte); +void usart2_write(char *buf); +# 4 "src/usart.c" 2 + +void usart2_init(void) { + + ((struct rcc *) (0x40023800U))->AHB1ENR |= (1 << ((('A') - 'A') << 8)); + + + uint16_t txPin = (((('A') - 'A') << 8) | 2); + gpio_set_mode(txPin, GPIO_MODE_AF); + gpio_set_af(txPin, (0b0111)); + + uint16_t rxPin = (((('A') - 'A') << 8) | 3); + gpio_set_mode(rxPin, GPIO_MODE_AF); + gpio_set_af(rxPin, (0b0111)); + + + + ((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" + ((struct usart *) (0x40004400U))->BRR &= ~((0b111111111111) << 4); + ((struct usart *) (0x40004400U))->BRR |= (0x1A << 4); + ((struct usart *) (0x40004400U))->BRR &= ~((0b111) << 0); + ((struct usart *) (0x40004400U))->BRR |= (0x0 << 4); + + + ((struct usart *) (0x40004400U))->CR1 |= (1 << 3); + ((struct usart *) (0x40004400U))->CR1 |= (1 << 2); +} + +void usart2_start(void) { + ((struct usart *) (0x40004400U))->CR1 |= (1 << 13); +} + +void usart2_write_byte(uint8_t c) { + ((struct usart *) (0x40004400U))->DR = c; + + + while (!(((struct usart *) (0x40004400U))->SR & (1 << 6))); +} + +void usart2_write(char *buf) { + while (*buf) usart2_write_byte(*buf++); +} diff --git a/build/usart.o b/build/usart.o new file mode 100644 index 0000000..b3faefa Binary files /dev/null and b/build/usart.o differ diff --git a/src/gpio.h b/src/gpio.h index 298fd88..5b6e159 100644 --- a/src/gpio.h +++ b/src/gpio.h @@ -17,6 +17,10 @@ struct gpio { volatile uint32_t AFRH; // Alternative function high register }; +// AFRH, AFRL registers +#define GPIO_AF_USART2_RX (0b0111) // Alternative function 7 (AF7) +#define GPIO_AF_USART2_TX (0b0111) // Alternative function 7 (AF7) + #define GPIO_BASE_ADDR (0x40020000U) #define GPIO_PORT_OFFSET (0x400U) #define GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADDR + (GPIO_PORT_OFFSET * port))) diff --git a/src/rcc.h b/src/rcc.h index 153e57a..d898f6b 100644 --- a/src/rcc.h +++ b/src/rcc.h @@ -118,6 +118,9 @@ struct rcc { #define RCC_APB1ENR_PWREN_BIT 28 #define RCC_APB1ENR_PWREN_CLOCK_ENABLE (1 << RCC_APB1ENR_PWREN_BIT) +#define RCC_APB1ENR_USART2EN_BIT 17 +#define RCC_APB1ENR_USART2EN_ENABLE (1 << RCC_APB1ENR_USART2EN_BIT) + #define RCC_APB1ENR_TIM4_BIT 2 #define RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT) diff --git a/src/usart.c b/src/usart.c new file mode 100644 index 0000000..e90bdaa --- /dev/null +++ b/src/usart.c @@ -0,0 +1,66 @@ +#include "rcc.h" +#include "gpio.h" +#include "usart.h" + +void usart2_init(void) { + // Enable clock for GPIOA as USART2 is on PORT A pins + RCC->AHB1ENR |= (1 << PORT('A')); + + // Configure PA2 and PA3 (USART2 pins) to use alternative functions + uint16_t txPin = PIN('A', 2); + gpio_set_mode(txPin, GPIO_MODE_AF); + gpio_set_af(txPin, GPIO_AF_USART2_TX); + + uint16_t rxPin = PIN('A', 3); + gpio_set_mode(rxPin, GPIO_MODE_AF); + gpio_set_af(rxPin, GPIO_AF_USART2_RX); + + + // Enable USART + RCC->APB1ENR |= RCC_APB1ENR_USART2EN_ENABLE; + + // Clear control registers + USART2->CR1 = 0; + USART2->CR2 = 0; + USART2->CR3 = 0; + + // Calculate Baud rate: + // baud = f_clck / (8 * (2 - OVER8) * USARTDIV) => + // (8 * (2 - OVER8) * USARTDIV) = f_clock / baud => + // baud * (8 * (2 - OVER8) * USARTDIV) = f_clock => + // USARTDIV = (f_clock / (baud * (8 * (2 - OVER8))) + + // Target Baud rate = 115200, f_clock = 48MHz, OVER8 = 0 + // USARTDIV = 48E6 / (115200 * 8 * 2) = 26.0416666 + // mantissa = 26 = 0x1A + // fraction = 0.041666 * 16 = 0.666656 ~= 1 + + // baud = 48E6 / (8 * 2 * 26) = 115384.61538461539 + // error of 0.16% (115384.61538461539 / 115200 ) = 1.001602564102564 + // + // skipping fractional part as error rate is good. + + USART2->BRR &= ~(USART_BRR_MANTISSA_MASK << USART_BRR_MANTISSA_BIT); + USART2->BRR |= (0x1A << USART_BRR_MANTISSA_BIT); + USART2->BRR &= ~(USART_BRR_FRACTION_MASK << USART_BRR_FRACTION_BIT); + USART2->BRR |= (0x0 << USART_BRR_MANTISSA_BIT); + + // Enable transmitter and receiver + USART2->CR1 |= USART_CR1_TE_ENABLE; + USART2->CR1 |= USART_CR1_RE_ENABLE; +} + +void usart2_start(void) { + USART2->CR1 |= USART_CR1_UE_ENABLE; +} + +void usart2_write_byte(uint8_t c) { + USART2->DR = c; + + // Wait indefinitely for transmission to be ready for data + while (!(USART2->SR & USART_SR_TC_COMPLETED)); +} + +void usart2_write(char *buf) { + while (*buf) usart2_write_byte(*buf++); +} diff --git a/src/usart.h b/src/usart.h new file mode 100644 index 0000000..7f94b9c --- /dev/null +++ b/src/usart.h @@ -0,0 +1,50 @@ +#ifndef USART_H_ +#define USART_H_ + +#include + +struct usart { + volatile uint32_t SR; // Status register + volatile uint32_t DR; // Data register + volatile uint32_t BRR; // Baud rate register + volatile uint32_t CR1; // Control register 1 + volatile uint32_t CR2; // Control register 2 + volatile uint32_t CR3; // Control register 3 + volatile uint32_t GTPR; // Guard time and prescaler register +}; + +#define USART2_BASE_ADDR (0x40004400U) +#define USART2 ((struct usart *) USART2_BASE_ADDR) + +// SR Register +// Transmission complete +#define USART_SR_TC_BIT 6 +#define USART_SR_TC_COMPLETED (1 << USART_SR_TC_BIT) + +// CR Register +// USART enable +#define USART_CR1_UE_BIT 13 +#define USART_CR1_UE_ENABLE (1 << USART_CR1_UE_BIT) + +// Trasmitter enable +#define USART_CR1_TE_BIT 3 +#define USART_CR1_TE_ENABLE (1 << USART_CR1_TE_BIT) + +// Receiver enable +#define USART_CR1_RE_BIT 2 +#define USART_CR1_RE_ENABLE (1 << USART_CR1_RE_BIT) + +// BRR Register +#define USART_BRR_MANTISSA_BIT 4 // Bits [15:4] +#define USART_BRR_MANTISSA_MASK (0b111111111111) + +#define USART_BRR_FRACTION_BIT 0 // Bits [3:0] +#define USART_BRR_FRACTION_MASK (0b111) + +void usart2_init(void); +void usart2_start(void); + +void usart2_write_byte(uint8_t byte); +void usart2_write(char *buf); + +#endif