diff --git a/build/final.elf b/build/final.elf index 5f5d064..6ce76be 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 464f9bd..85ca98d 100644 --- a/build/final.elf.map +++ b/build/final.elf.map @@ -53,7 +53,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 0x40 build/main.o + .debug_macro 0x00000000 0x46 build/main.o .group 0x00000000 0xc build/startup.o .group 0x00000000 0xc build/startup.o .group 0x00000000 0xc build/startup.o @@ -128,7 +128,7 @@ Discarded input sections .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 0x167 build/usart.o .debug_macro 0x00000000 0x22 build/usart.o .debug_macro 0x00000000 0x5e build/usart.o @@ -354,7 +354,7 @@ LOAD linker stubs .debug_rnglists 0x00000073 0x26 build/usart.o -.debug_macro 0x00000000 0x47d9 +.debug_macro 0x00000000 0x4853 .debug_macro 0x00000000 0xb56 build/gpio.o .debug_macro 0x00000b56 0x22 build/gpio.o .debug_macro 0x00000b78 0x75 build/gpio.o @@ -369,39 +369,39 @@ 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 0x40 build/gpio.o - .debug_macro 0x00001643 0xb89 build/main.o - .debug_macro 0x000021cc 0x136 build/main.o - .debug_macro 0x00002302 0x46 build/main.o - .debug_macro 0x00002348 0x2e build/main.o - .debug_macro 0x00002376 0x22 build/main.o - .debug_macro 0x00002398 0x5e build/main.o - .debug_macro 0x000023f6 0xb02 build/startup.o - .debug_macro 0x00002ef8 0x56 build/startup.o - .debug_macro 0x00002f4e 0x51 build/startup.o - .debug_macro 0x00002f9f 0xb5c build/timer.o - .debug_macro 0x00003afb 0x130 build/timer.o - .debug_macro 0x00003c2b 0xb74 build/usart.o - .debug_macro 0x0000479f 0x3a build/usart.o + .debug_macro 0x00001603 0x46 build/gpio.o + .debug_macro 0x00001649 0xb89 build/main.o + .debug_macro 0x000021d2 0x16d build/main.o + .debug_macro 0x0000233f 0x46 build/main.o + .debug_macro 0x00002385 0x2e build/main.o + .debug_macro 0x000023b3 0x22 build/main.o + .debug_macro 0x000023d5 0x5e build/main.o + .debug_macro 0x00002433 0xb02 build/startup.o + .debug_macro 0x00002f35 0x56 build/startup.o + .debug_macro 0x00002f8b 0x51 build/startup.o + .debug_macro 0x00002fdc 0xb5c build/timer.o + .debug_macro 0x00003b38 0x167 build/timer.o + .debug_macro 0x00003c9f 0xb74 build/usart.o + .debug_macro 0x00004813 0x40 build/usart.o -.debug_line 0x00000000 0x699 +.debug_line 0x00000000 0x69d .debug_line 0x00000000 0x179 build/gpio.o .debug_line 0x00000179 0x1de build/main.o .debug_line 0x00000357 0xea build/startup.o .debug_line 0x00000441 0xdf build/timer.o - .debug_line 0x00000520 0x179 build/usart.o + .debug_line 0x00000520 0x17d build/usart.o -.debug_str 0x00000000 0x6185 - .debug_str 0x00000000 0x53c1 build/gpio.o - 0x5571 (size before relaxing) - .debug_str 0x000053c1 0xcfb build/main.o - 0x61fe (size before relaxing) - .debug_str 0x000060bc 0x88 build/startup.o +.debug_str 0x00000000 0x626f + .debug_str 0x00000000 0x53d8 build/gpio.o + 0x5588 (size before relaxing) + .debug_str 0x000053d8 0xdce build/main.o + 0x62e8 (size before relaxing) + .debug_str 0x000061a6 0x88 build/startup.o 0x3cdc (size before relaxing) - .debug_str 0x00006144 0xc build/timer.o - 0x5b6e (size before relaxing) - .debug_str 0x00006150 0x35 build/usart.o - 0x5ec2 (size before relaxing) + .debug_str 0x0000622e 0xc build/timer.o + 0x5c41 (size before relaxing) + .debug_str 0x0000623a 0x35 build/usart.o + 0x5fac (size before relaxing) .comment 0x00000000 0x45 .comment 0x00000000 0x45 build/gpio.o diff --git a/build/gpio.S b/build/gpio.S index b1a9fc5..db3fcb3 100644 --- a/build/gpio.S +++ b/build/gpio.S @@ -311,10 +311,10 @@ gpio_write: .byte 0x4 .4byte .Ldebug_abbrev0 .uleb128 0xa - .4byte .LASF900 - .byte 0x1d .4byte .LASF901 + .byte 0x1d .4byte .LASF902 + .4byte .LASF903 .4byte .LLRL0 .4byte 0 .4byte .Ldebug_line0 @@ -322,9 +322,9 @@ gpio_write: .uleb128 0x1 .byte 0x1 .byte 0x6 - .4byte .LASF865 + .4byte .LASF866 .uleb128 0x2 - .4byte .LASF868 + .4byte .LASF869 .byte 0x2 .byte 0x2b .byte 0x17 @@ -332,13 +332,13 @@ gpio_write: .uleb128 0x1 .byte 0x1 .byte 0x8 - .4byte .LASF866 + .4byte .LASF867 .uleb128 0x1 .byte 0x2 .byte 0x5 - .4byte .LASF867 + .4byte .LASF868 .uleb128 0x2 - .4byte .LASF869 + .4byte .LASF870 .byte 0x2 .byte 0x39 .byte 0x1c @@ -346,13 +346,13 @@ gpio_write: .uleb128 0x1 .byte 0x2 .byte 0x7 - .4byte .LASF870 + .4byte .LASF871 .uleb128 0x1 .byte 0x4 .byte 0x5 - .4byte .LASF871 - .uleb128 0x2 .4byte .LASF872 + .uleb128 0x2 + .4byte .LASF873 .byte 0x2 .byte 0x4f .byte 0x1b @@ -360,21 +360,21 @@ gpio_write: .uleb128 0x1 .byte 0x4 .byte 0x7 - .4byte .LASF873 - .uleb128 0x1 - .byte 0x8 - .byte 0x5 .4byte .LASF874 .uleb128 0x1 .byte 0x8 - .byte 0x7 + .byte 0x5 .4byte .LASF875 + .uleb128 0x1 + .byte 0x8 + .byte 0x7 + .4byte .LASF876 .uleb128 0xb .byte 0x4 .byte 0x5 .ascii "int\000" .uleb128 0x2 - .4byte .LASF876 + .4byte .LASF877 .byte 0x2 .byte 0xe8 .byte 0x16 @@ -382,21 +382,21 @@ gpio_write: .uleb128 0x1 .byte 0x4 .byte 0x7 - .4byte .LASF877 - .uleb128 0x2 .4byte .LASF878 + .uleb128 0x2 + .4byte .LASF879 .byte 0x3 .byte 0x18 .byte 0x13 .4byte 0x31 .uleb128 0x2 - .4byte .LASF879 + .4byte .LASF880 .byte 0x3 .byte 0x24 .byte 0x14 .4byte 0x4b .uleb128 0x2 - .4byte .LASF880 + .4byte .LASF881 .byte 0x3 .byte 0x30 .byte 0x14 @@ -404,35 +404,35 @@ gpio_write: .uleb128 0xc .4byte 0xb8 .uleb128 0x2 - .4byte .LASF881 + .4byte .LASF882 .byte 0x3 .byte 0x52 .byte 0x15 .4byte 0x8d .uleb128 0xd - .4byte .LASF898 + .4byte .LASF899 .byte 0x28 .byte 0x4 .byte 0x7 .byte 0x8 .4byte 0x151 .uleb128 0x3 - .4byte .LASF882 + .4byte .LASF883 .byte 0x8 .4byte 0xc4 .byte 0 .uleb128 0x3 - .4byte .LASF883 + .4byte .LASF884 .byte 0x9 .4byte 0xc4 .byte 0x4 .uleb128 0x3 - .4byte .LASF884 + .4byte .LASF885 .byte 0xa .4byte 0xc4 .byte 0x8 .uleb128 0x3 - .4byte .LASF885 + .4byte .LASF886 .byte 0xb .4byte 0xc4 .byte 0xc @@ -447,22 +447,22 @@ gpio_write: .4byte 0xc4 .byte 0x14 .uleb128 0x3 - .4byte .LASF886 + .4byte .LASF887 .byte 0xe .4byte 0xc4 .byte 0x18 .uleb128 0x3 - .4byte .LASF887 + .4byte .LASF888 .byte 0xf .4byte 0xc4 .byte 0x1c .uleb128 0x3 - .4byte .LASF888 + .4byte .LASF889 .byte 0x10 .4byte 0xc4 .byte 0x20 .uleb128 0x3 - .4byte .LASF889 + .4byte .LASF890 .byte 0x11 .4byte 0xc4 .byte 0x24 @@ -472,30 +472,30 @@ gpio_write: .byte 0x1 .4byte 0x3d .byte 0x4 - .byte 0x25 + .byte 0x26 .byte 0xe .4byte 0x178 .uleb128 0x5 - .4byte .LASF890 + .4byte .LASF891 .byte 0 .uleb128 0x5 - .4byte .LASF891 + .4byte .LASF892 .byte 0x1 .uleb128 0x5 - .4byte .LASF892 + .4byte .LASF893 .byte 0x2 .uleb128 0x5 - .4byte .LASF893 + .4byte .LASF894 .byte 0x3 .byte 0 .uleb128 0x2 - .4byte .LASF894 + .4byte .LASF895 .byte 0x4 - .byte 0x2a + .byte 0x2b .byte 0x3 .4byte 0x151 .uleb128 0x8 - .4byte .LASF896 + .4byte .LASF897 .byte 0x19 .4byte .LFB2 .4byte .LFE2-.LFB2 @@ -519,7 +519,7 @@ gpio_write: .byte 0x91 .sleb128 -19 .uleb128 0x6 - .4byte .LASF898 + .4byte .LASF899 .byte 0x1a .4byte 0x1c9 .uleb128 0x2 @@ -529,12 +529,12 @@ gpio_write: .uleb128 0x1 .byte 0x1 .byte 0x2 - .4byte .LASF895 + .4byte .LASF896 .uleb128 0xf .byte 0x4 .4byte 0xd5 .uleb128 0x8 - .4byte .LASF897 + .4byte .LASF898 .byte 0xd .4byte .LFB1 .4byte .LFE1-.LFB1 @@ -558,7 +558,7 @@ gpio_write: .byte 0x91 .sleb128 -19 .uleb128 0x6 - .4byte .LASF898 + .4byte .LASF899 .byte 0xe .4byte 0x1c9 .uleb128 0x2 @@ -573,7 +573,7 @@ gpio_write: .sleb128 -16 .byte 0 .uleb128 0x10 - .4byte .LASF903 + .4byte .LASF904 .byte 0x1 .byte 0x6 .byte 0x6 @@ -590,7 +590,7 @@ gpio_write: .byte 0x91 .sleb128 -18 .uleb128 0x11 - .4byte .LASF899 + .4byte .LASF900 .byte 0x1 .byte 0x6 .byte 0x2c @@ -599,7 +599,7 @@ gpio_write: .byte 0x91 .sleb128 -19 .uleb128 0x6 - .4byte .LASF898 + .4byte .LASF899 .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.e8870d5e334b8cc926c6b43b65993420,comdat + .section .debug_macro,"G",%progbits,wm4.gpio.h.2.e8e8ad5caa641b1849e6396c88187098,comdat .Ldebug_macro15: .2byte 0x5 .byte 0 @@ -3718,7 +3718,7 @@ gpio_write: .uleb128 0x16 .4byte .LASF857 .byte 0x5 - .uleb128 0x18 + .uleb128 0x17 .4byte .LASF858 .byte 0x5 .uleb128 0x19 @@ -3727,17 +3727,20 @@ gpio_write: .uleb128 0x1a .4byte .LASF860 .byte 0x5 - .uleb128 0x1d + .uleb128 0x1b .4byte .LASF861 .byte 0x5 - .uleb128 0x1f + .uleb128 0x1e .4byte .LASF862 .byte 0x5 - .uleb128 0x21 + .uleb128 0x20 .4byte .LASF863 .byte 0x5 - .uleb128 0x23 + .uleb128 0x22 .4byte .LASF864 + .byte 0x5 + .uleb128 0x24 + .4byte .LASF865 .byte 0 .section .debug_line,"",%progbits .Ldebug_line0: @@ -3782,7 +3785,7 @@ gpio_write: .ascii "__PTRDIFF_MAX__ 0x7fffffff\000" .LASF541: .ascii "_LONG_DOUBLE long double\000" -.LASF898: +.LASF899: .ascii "gpio\000" .LASF591: .ascii "INT_LEAST8_MIN (-__INT_LEAST8_MAX__ - 1)\000" @@ -3790,7 +3793,7 @@ gpio_write: .ascii "_UINT32_T_DECLARED \000" .LASF90: .ascii "__INTMAX_MAX__ 0x7fffffffffffffffLL\000" -.LASF892: +.LASF893: .ascii "GPIO_MODE_AF\000" .LASF335: .ascii "__TQ_IBIT__ 0\000" @@ -3904,7 +3907,7 @@ gpio_write: .ascii "__need_wchar_t\000" .LASF199: .ascii "__FLT32_MIN_EXP__ (-125)\000" -.LASF900: +.LASF901: .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" @@ -3973,7 +3976,7 @@ gpio_write: .ascii "__LACCUM_IBIT__ 32\000" .LASF592: .ascii "INT_LEAST8_MAX (__INT_LEAST8_MAX__)\000" -.LASF868: +.LASF869: .ascii "__uint8_t\000" .LASF81: .ascii "__SCHAR_WIDTH__ 8\000" @@ -3989,7 +3992,7 @@ gpio_write: .ascii "__INT64 \"ll\"\000" .LASF138: .ascii "__INTPTR_MAX__ 0x7fffffff\000" -.LASF860: +.LASF861: .ascii "GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADD" .ascii "R + (GPIO_PORT_OFFSET * port)))\000" .LASF499: @@ -4015,7 +4018,7 @@ gpio_write: .ascii "INT_FAST32_MIN (-__INT_FAST32_MAX__ - 1)\000" .LASF672: .ascii "__SCN8LEAST(x) __LEAST8 __STRINGIFY(x)\000" -.LASF857: +.LASF858: .ascii "GPIO_AF_USART2_TX (0b0111)\000" .LASF55: .ascii "__UINT_LEAST8_TYPE__ unsigned char\000" @@ -4025,7 +4028,7 @@ gpio_write: .ascii "__ACCUM_FBIT__ 15\000" .LASF791: .ascii "PRId64 __PRI64(d)\000" -.LASF871: +.LASF872: .ascii "long int\000" .LASF818: .ascii "PRIXFAST64 __PRI64FAST(X)\000" @@ -4121,7 +4124,7 @@ gpio_write: .ascii "PRIoLEAST16 __PRI16LEAST(o)\000" .LASF458: .ascii "__NEWLIB__ 4\000" -.LASF890: +.LASF891: .ascii "GPIO_MODE_INPUT\000" .LASF720: .ascii "SCNi16 __SCN16(i)\000" @@ -4131,11 +4134,11 @@ gpio_write: .ascii "__FLT_DECIMAL_DIG__ 9\000" .LASF562: .ascii "_UINT8_T_DECLARED \000" -.LASF865: +.LASF866: .ascii "signed char\000" .LASF805: .ascii "PRIuLEAST64 __PRI64LEAST(u)\000" -.LASF878: +.LASF879: .ascii "uint8_t\000" .LASF704: .ascii "SCNoFAST8 __SCN8FAST(o)\000" @@ -4145,7 +4148,7 @@ gpio_write: .ascii "__ARM_FEATURE_FMA 1\000" .LASF466: .ascii "_HAVE_LONG_DOUBLE 1\000" -.LASF894: +.LASF895: .ascii "GPIO_MODE\000" .LASF256: .ascii "__FRACT_FBIT__ 15\000" @@ -4169,7 +4172,7 @@ gpio_write: .ascii "__FLT64_MAX_10_EXP__ 308\000" .LASF65: .ascii "__UINT_FAST32_TYPE__ unsigned int\000" -.LASF866: +.LASF867: .ascii "unsigned char\000" .LASF3: .ascii "__STDC_UTF_32__ 1\000" @@ -4215,13 +4218,13 @@ gpio_write: .ascii "__int_fast64_t_defined 1\000" .LASF837: .ascii "__PRIPTR(x) __STRINGIFY(x)\000" -.LASF879: +.LASF880: .ascii "uint16_t\000" .LASF417: .ascii "__thumb2__ 1\000" .LASF321: .ascii "__ULLACCUM_FBIT__ 32\000" -.LASF895: +.LASF896: .ascii "_Bool\000" .LASF366: .ascii "__STRICT_ANSI__ 1\000" @@ -4239,9 +4242,9 @@ gpio_write: .ascii "__PRAGMA_REDEFINE_EXTNAME 1\000" .LASF36: .ascii "__WCHAR_TYPE__ unsigned int\000" -.LASF861: +.LASF862: .ascii "PORT(port) (((port) - 'A') << 8)\000" -.LASF891: +.LASF892: .ascii "GPIO_MODE_OUTPUT\000" .LASF357: .ascii "__USA_IBIT__ 16\000" @@ -4279,7 +4282,7 @@ gpio_write: .ascii "__SCN64(x) __INT64 __STRINGIFY(x)\000" .LASF646: .ascii "_GCC_WRAP_STDINT_H \000" -.LASF869: +.LASF870: .ascii "__uint16_t\000" .LASF224: .ascii "__FLT64_EPSILON__ 2.2204460492503131e-16F64\000" @@ -4489,7 +4492,7 @@ gpio_write: .ascii "___int8_t_defined 1\000" .LASF248: .ascii "__SFRACT_MIN__ (-0.5HR-0.5HR)\000" -.LASF873: +.LASF874: .ascii "long unsigned int\000" .LASF349: .ascii "__SA_IBIT__ 16\000" @@ -4505,9 +4508,9 @@ gpio_write: .ascii "__ARM_FP16_FORMAT_IEEE\000" .LASF48: .ascii "__UINT16_TYPE__ short unsigned int\000" -.LASF856: +.LASF857: .ascii "GPIO_AF_USART2_RX (0b0111)\000" -.LASF896: +.LASF897: .ascii "gpio_write\000" .LASF569: .ascii "__int32_t_defined 1\000" @@ -4551,7 +4554,7 @@ gpio_write: .ascii "SCNx8 __SCN8(x)\000" .LASF208: .ascii "__FLT32_DENORM_MIN__ 1.4012984643248171e-45F32\000" -.LASF903: +.LASF904: .ascii "gpio_set_mode\000" .LASF125: .ascii "__UINT64_C(c) c ## ULL\000" @@ -4571,7 +4574,7 @@ gpio_write: .ascii "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2\000" .LASF789: .ascii "__PRI64FAST(x) __FAST64 __STRINGIFY(x)\000" -.LASF881: +.LASF882: .ascii "uintptr_t\000" .LASF168: .ascii "__DBL_MAX_EXP__ 1024\000" @@ -4619,7 +4622,7 @@ gpio_write: .ascii "PRIX32 __PRI32(X)\000" .LASF773: .ascii "SCNxLEAST32 __SCN32LEAST(x)\000" -.LASF884: +.LASF885: .ascii "OSPEEDR\000" .LASF711: .ascii "__SCN16LEAST(x) __LEAST16 __STRINGIFY(x)\000" @@ -4649,7 +4652,7 @@ gpio_write: .ascii "__ULACCUM_MIN__ 0.0ULK\000" .LASF461: .ascii "_ATEXIT_DYNAMIC_ALLOC 1\000" -.LASF872: +.LASF873: .ascii "__uint32_t\000" .LASF188: .ascii "__LDBL_MAX__ 1.7976931348623157e+308L\000" @@ -4659,7 +4662,7 @@ gpio_write: .ascii "__FLT_RADIX__ 2\000" .LASF454: .ascii "_INTTYPES_H \000" -.LASF874: +.LASF875: .ascii "long long int\000" .LASF401: .ascii "__ARM_FEATURE_CMSE\000" @@ -4691,6 +4694,8 @@ gpio_write: .ascii "__GCC_ATOMIC_LLONG_LOCK_FREE 1\000" .LASF239: .ascii "__FLT32X_MIN__ 2.2250738585072014e-308F32x\000" +.LASF856: + .ascii "GPIO_AF_MCO_1 (0b0000)\000" .LASF218: .ascii "__FLT64_MAX_EXP__ 1024\000" .LASF653: @@ -4766,7 +4771,7 @@ gpio_write: .ascii "\000" .LASF582: .ascii "__int_fast16_t_defined 1\000" -.LASF882: +.LASF883: .ascii "MODER\000" .LASF482: .ascii "__FLOAT_TYPE float\000" @@ -4777,9 +4782,9 @@ gpio_write: .ascii "L)\000" .LASF607: .ascii "INT64_MAX (__INT64_MAX__)\000" -.LASF877: +.LASF878: .ascii "unsigned int\000" -.LASF876: +.LASF877: .ascii "__uintptr_t\000" .LASF459: .ascii "__NEWLIB_MINOR__ 3\000" @@ -4809,7 +4814,7 @@ gpio_write: .ascii "__CHAR_BIT__ 8\000" .LASF143: .ascii "__FLT_EVAL_METHOD__ 0\000" -.LASF867: +.LASF868: .ascii "short int\000" .LASF685: .ascii "PRIdLEAST8 __PRI8LEAST(d)\000" @@ -4853,7 +4858,7 @@ gpio_write: .ascii "__ARM_FEATURE_COPROC 15\000" .LASF483: .ascii "__OBSOLETE_MATH_DEFAULT 1\000" -.LASF897: +.LASF898: .ascii "gpio_set_af\000" .LASF82: .ascii "__SHRT_WIDTH__ 16\000" @@ -4953,7 +4958,7 @@ gpio_write: .ascii "SCNuFAST16 __SCN16FAST(u)\000" .LASF801: .ascii "SCNx64 __SCN64(x)\000" -.LASF864: +.LASF865: .ascii "PINPORT(pin) (pin >> 8)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" @@ -5001,7 +5006,7 @@ gpio_write: .ascii "__ORDER_LITTLE_ENDIAN__ 1234\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF875: +.LASF876: .ascii "long long unsigned int\000" .LASF611: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" @@ -5077,11 +5082,11 @@ gpio_write: .ascii "SCNdFAST8 __SCN8FAST(d)\000" .LASF576: .ascii "_UINTPTR_T_DECLARED \000" -.LASF889: +.LASF890: .ascii "AFRH\000" .LASF314: .ascii "__ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK\000" -.LASF888: +.LASF889: .ascii "AFRL\000" .LASF273: .ascii "__ULFRACT_MIN__ 0.0ULR\000" @@ -5095,7 +5100,7 @@ gpio_write: .ascii "__INT32_TYPE__ long int\000" .LASF118: .ascii "__UINT_LEAST8_MAX__ 0xff\000" -.LASF887: +.LASF888: .ascii "LCKR\000" .LASF520: .ascii "__int20__ +2\000" @@ -5109,7 +5114,7 @@ gpio_write: .ascii "__SCN32(x) __INT32 __STRINGIFY(x)\000" .LASF743: .ascii "SCNoFAST16 __SCN16FAST(o)\000" -.LASF862: +.LASF863: .ascii "PIN(port,num) (PORT(port) | num)\000" .LASF345: .ascii "__UTQ_IBIT__ 0\000" @@ -5145,7 +5150,7 @@ gpio_write: .ascii "__QQ_IBIT__ 0\000" .LASF763: .ascii "PRIdLEAST32 __PRI32LEAST(d)\000" -.LASF883: +.LASF884: .ascii "OTYPER\000" .LASF811: .ascii "SCNuLEAST64 __SCN64LEAST(u)\000" @@ -5165,11 +5170,11 @@ gpio_write: .ascii "__GNUC_MINOR__ 3\000" .LASF57: .ascii "__UINT_LEAST32_TYPE__ long unsigned int\000" -.LASF901: +.LASF902: .ascii "src/gpio.c\000" .LASF405: .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" -.LASF858: +.LASF859: .ascii "GPIO_BASE_ADDR (0x40020000U)\000" .LASF38: .ascii "__INTMAX_TYPE__ long long int\000" @@ -5221,7 +5226,7 @@ gpio_write: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" .LASF23: .ascii "__SIZEOF_SIZE_T__ 4\000" -.LASF859: +.LASF860: .ascii "GPIO_PORT_OFFSET (0x400U)\000" .LASF50: .ascii "__UINT64_TYPE__ long long unsigned int\000" @@ -5241,7 +5246,7 @@ gpio_write: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF885: +.LASF886: .ascii "PUPDR\000" .LASF835: .ascii "SCNuMAX __SCNMAX(u)\000" @@ -5249,7 +5254,7 @@ gpio_write: .ascii "__UINT16_C(c) c\000" .LASF359: .ascii "__UDA_IBIT__ 32\000" -.LASF899: +.LASF900: .ascii "mode\000" .LASF586: .ascii "INTPTR_MAX (__INTPTR_MAX__)\000" @@ -5263,7 +5268,7 @@ gpio_write: .ascii "_ATTRIBUTE(attrs) __attribute__ (attrs)\000" .LASF443: .ascii "__ARM_FEATURE_COPROC\000" -.LASF893: +.LASF894: .ascii "GPIO_MODE_ANALOG\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" @@ -5301,7 +5306,7 @@ gpio_write: .ascii "__FAST8 \000" .LASF496: .ascii "__XSI_VISIBLE 0\000" -.LASF886: +.LASF887: .ascii "BSRR\000" .LASF794: .ascii "PRIu64 __PRI64(u)\000" @@ -5389,7 +5394,7 @@ gpio_write: .ascii "PRIx32 __PRI32(x)\000" .LASF278: .ascii "__LLFRACT_MIN__ (-0.5LLR-0.5LLR)\000" -.LASF880: +.LASF881: .ascii "uint32_t\000" .LASF689: .ascii "PRIxLEAST8 __PRI8LEAST(x)\000" @@ -5439,13 +5444,13 @@ gpio_write: .ascii "__INT_LEAST16_TYPE__ short int\000" .LASF326: .ascii "__QQ_FBIT__ 7\000" -.LASF863: +.LASF864: .ascii "PINNUM(pin) (pin & 0b1111)\000" .LASF768: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF870: +.LASF871: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -5493,7 +5498,7 @@ gpio_write: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF280: .ascii "__LLFRACT_EPSILON__ 0x1P-63LLR\000" -.LASF902: +.LASF903: .ascii "/home/alex/code/own/stm32-falling-sand\000" .LASF249: .ascii "__SFRACT_MAX__ 0X7FP-7HR\000" diff --git a/build/gpio.i b/build/gpio.i index 9250b62..d992b00 100644 --- a/build/gpio.i +++ b/build/gpio.i @@ -2000,6 +2000,7 @@ struct gpio { }; +#define GPIO_AF_MCO_1 (0b0000) #define GPIO_AF_USART2_RX (0b0111) #define GPIO_AF_USART2_TX (0b0111) @@ -2026,9 +2027,9 @@ typedef enum { void gpio_set_mode(uint16_t pin, GPIO_MODE mode); void gpio_set_af(uint16_t pin, uint8_t af); void gpio_write(uint16_t pin, -# 46 "src/gpio.h" 3 4 +# 47 "src/gpio.h" 3 4 _Bool -# 46 "src/gpio.h" +# 47 "src/gpio.h" val); # 5 "src/gpio.c" 2 diff --git a/build/gpio.o b/build/gpio.o index 8eb3dee..656d143 100644 Binary files a/build/gpio.o and b/build/gpio.o differ diff --git a/build/main.S b/build/main.S index 8b25fb2..0ede322 100644 --- a/build/main.S +++ b/build/main.S @@ -365,10 +365,10 @@ main: .byte 0x4 .4byte .Ldebug_abbrev0 .uleb128 0xd - .4byte .LASF1024 + .4byte .LASF1033 .byte 0x1d - .4byte .LASF1025 - .4byte .LASF1026 + .4byte .LASF1034 + .4byte .LASF1035 .4byte .LLRL0 .4byte 0 .4byte .Ldebug_line0 @@ -376,17 +376,17 @@ main: .uleb128 0x3 .byte 0x1 .byte 0x6 - .4byte .LASF955 + .4byte .LASF964 .uleb128 0x3 .byte 0x1 .byte 0x8 - .4byte .LASF956 + .4byte .LASF965 .uleb128 0x3 .byte 0x2 .byte 0x5 - .4byte .LASF957 + .4byte .LASF966 .uleb128 0x4 - .4byte .LASF960 + .4byte .LASF969 .byte 0x2 .byte 0x39 .byte 0x1c @@ -394,13 +394,13 @@ main: .uleb128 0x3 .byte 0x2 .byte 0x7 - .4byte .LASF958 + .4byte .LASF967 .uleb128 0x3 .byte 0x4 .byte 0x5 - .4byte .LASF959 + .4byte .LASF968 .uleb128 0x4 - .4byte .LASF961 + .4byte .LASF970 .byte 0x2 .byte 0x4f .byte 0x1b @@ -408,15 +408,15 @@ main: .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF962 + .4byte .LASF971 .uleb128 0x3 .byte 0x8 .byte 0x5 - .4byte .LASF963 + .4byte .LASF972 .uleb128 0x3 .byte 0x8 .byte 0x7 - .4byte .LASF964 + .4byte .LASF973 .uleb128 0xe .byte 0x4 .byte 0x5 @@ -424,15 +424,15 @@ main: .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF965 + .4byte .LASF974 .uleb128 0x4 - .4byte .LASF966 + .4byte .LASF975 .byte 0x3 .byte 0x24 .byte 0x14 .4byte 0x3f .uleb128 0x4 - .4byte .LASF967 + .4byte .LASF976 .byte 0x3 .byte 0x30 .byte 0x14 @@ -451,13 +451,13 @@ main: .4byte 0xa0 .byte 0 .uleb128 0x1 - .4byte .LASF968 + .4byte .LASF977 .byte 0x4 .byte 0x8 .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF969 + .4byte .LASF978 .byte 0x4 .byte 0x9 .4byte 0xa0 @@ -469,115 +469,115 @@ main: .4byte 0xa0 .byte 0xc .uleb128 0x1 - .4byte .LASF970 + .4byte .LASF979 .byte 0x4 .byte 0xb .4byte 0xa0 .byte 0x10 .uleb128 0x1 - .4byte .LASF971 + .4byte .LASF980 .byte 0x4 .byte 0xc .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF972 + .4byte .LASF981 .byte 0x4 .byte 0xd .4byte 0x210 .byte 0x18 .uleb128 0x1 - .4byte .LASF973 + .4byte .LASF982 .byte 0x4 .byte 0xe .4byte 0xa0 .byte 0x20 .uleb128 0x1 - .4byte .LASF974 + .4byte .LASF983 .byte 0x4 .byte 0xf .4byte 0xa0 .byte 0x24 .uleb128 0x1 - .4byte .LASF975 + .4byte .LASF984 .byte 0x4 .byte 0x10 .4byte 0x210 .byte 0x28 .uleb128 0x1 - .4byte .LASF976 + .4byte .LASF985 .byte 0x4 .byte 0x11 .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF977 + .4byte .LASF986 .byte 0x4 .byte 0x12 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF978 + .4byte .LASF987 .byte 0x4 .byte 0x13 .4byte 0x210 .byte 0x38 .uleb128 0x1 - .4byte .LASF979 + .4byte .LASF988 .byte 0x4 .byte 0x14 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF980 + .4byte .LASF989 .byte 0x4 .byte 0x15 .4byte 0xa0 .byte 0x44 .uleb128 0x1 - .4byte .LASF981 + .4byte .LASF990 .byte 0x4 .byte 0x16 .4byte 0x210 .byte 0x48 .uleb128 0x1 - .4byte .LASF982 + .4byte .LASF991 .byte 0x4 .byte 0x17 .4byte 0xa0 .byte 0x50 .uleb128 0x1 - .4byte .LASF983 + .4byte .LASF992 .byte 0x4 .byte 0x18 .4byte 0xa0 .byte 0x54 .uleb128 0x1 - .4byte .LASF984 + .4byte .LASF993 .byte 0x4 .byte 0x19 .4byte 0x210 .byte 0x58 .uleb128 0x1 - .4byte .LASF985 + .4byte .LASF994 .byte 0x4 .byte 0x1a .4byte 0xa0 .byte 0x60 .uleb128 0x1 - .4byte .LASF986 + .4byte .LASF995 .byte 0x4 .byte 0x1b .4byte 0xa0 .byte 0x64 .uleb128 0x1 - .4byte .LASF987 + .4byte .LASF996 .byte 0x4 .byte 0x1c .4byte 0x210 .byte 0x68 .uleb128 0x1 - .4byte .LASF988 + .4byte .LASF997 .byte 0x4 .byte 0x1d .4byte 0xa0 @@ -589,25 +589,25 @@ main: .4byte 0xa0 .byte 0x74 .uleb128 0x1 - .4byte .LASF989 + .4byte .LASF998 .byte 0x4 .byte 0x1f .4byte 0x210 .byte 0x78 .uleb128 0x1 - .4byte .LASF990 + .4byte .LASF999 .byte 0x4 .byte 0x20 .4byte 0xa0 .byte 0x80 .uleb128 0x1 - .4byte .LASF991 + .4byte .LASF1000 .byte 0x4 .byte 0x21 .4byte 0xa0 .byte 0x84 .uleb128 0x1 - .4byte .LASF992 + .4byte .LASF1001 .byte 0x4 .byte 0x22 .4byte 0xa0 @@ -627,30 +627,30 @@ main: .byte 0x1 .4byte 0x31 .byte 0x5 - .byte 0x25 + .byte 0x26 .byte 0xe .4byte 0x23c .uleb128 0x6 - .4byte .LASF993 + .4byte .LASF1002 .byte 0 .uleb128 0x6 - .4byte .LASF994 + .4byte .LASF1003 .byte 0x1 .uleb128 0x6 - .4byte .LASF995 + .4byte .LASF1004 .byte 0x2 .uleb128 0x6 - .4byte .LASF996 + .4byte .LASF1005 .byte 0x3 .byte 0 .uleb128 0x4 - .4byte .LASF997 + .4byte .LASF1006 .byte 0x5 - .byte 0x2a + .byte 0x2b .byte 0x3 .4byte 0x215 .uleb128 0xb - .4byte .LASF998 + .4byte .LASF1007 .byte 0x18 .byte 0x6 .4byte 0x29a @@ -661,13 +661,13 @@ main: .4byte 0xa0 .byte 0 .uleb128 0x1 - .4byte .LASF999 + .4byte .LASF1008 .byte 0x6 .byte 0x8 .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF1000 + .4byte .LASF1009 .byte 0x6 .byte 0x9 .4byte 0xa0 @@ -685,7 +685,7 @@ main: .4byte 0xa0 .byte 0x10 .uleb128 0x1 - .4byte .LASF1001 + .4byte .LASF1010 .byte 0x6 .byte 0xc .4byte 0xa0 @@ -710,7 +710,7 @@ main: .byte 0x4 .byte 0 .uleb128 0xb - .4byte .LASF1002 + .4byte .LASF1011 .byte 0x50 .byte 0x8 .4byte 0x3b8 @@ -727,13 +727,13 @@ main: .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF1003 + .4byte .LASF1012 .byte 0x8 .byte 0x9 .4byte 0xa0 .byte 0x8 .uleb128 0x1 - .4byte .LASF1004 + .4byte .LASF1013 .byte 0x8 .byte 0xa .4byte 0xa0 @@ -751,19 +751,19 @@ main: .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF1005 + .4byte .LASF1014 .byte 0x8 .byte 0xd .4byte 0xa0 .byte 0x18 .uleb128 0x1 - .4byte .LASF1006 + .4byte .LASF1015 .byte 0x8 .byte 0xe .4byte 0xa0 .byte 0x1c .uleb128 0x1 - .4byte .LASF1007 + .4byte .LASF1016 .byte 0x8 .byte 0xf .4byte 0xa0 @@ -793,31 +793,31 @@ main: .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF1008 + .4byte .LASF1017 .byte 0x8 .byte 0x14 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF1009 + .4byte .LASF1018 .byte 0x8 .byte 0x15 .4byte 0xa0 .byte 0x38 .uleb128 0x1 - .4byte .LASF1010 + .4byte .LASF1019 .byte 0x8 .byte 0x16 .4byte 0xa0 .byte 0x3c .uleb128 0x1 - .4byte .LASF1011 + .4byte .LASF1020 .byte 0x8 .byte 0x17 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF1012 + .4byte .LASF1021 .byte 0x8 .byte 0x18 .4byte 0xa0 @@ -829,14 +829,14 @@ main: .4byte 0xa0 .byte 0x48 .uleb128 0x1 - .4byte .LASF1013 + .4byte .LASF1022 .byte 0x8 .byte 0x1a .4byte 0xa0 .byte 0x4c .byte 0 .uleb128 0x8 - .4byte .LASF1014 + .4byte .LASF1023 .byte 0x9 .byte 0x30 .4byte 0x3c9 @@ -851,9 +851,9 @@ main: .byte 0x8 .4byte .LASF510 .uleb128 0x8 - .4byte .LASF1015 + .4byte .LASF1024 .byte 0x5 - .byte 0x2e + .byte 0x2f .4byte 0x3ec .uleb128 0x5 .4byte 0x88 @@ -863,11 +863,11 @@ main: .uleb128 0x3 .byte 0x1 .byte 0x2 - .4byte .LASF1016 + .4byte .LASF1025 .uleb128 0x8 - .4byte .LASF1017 + .4byte .LASF1026 .byte 0x5 - .byte 0x2c + .byte 0x2d .4byte 0x409 .uleb128 0x5 .4byte 0x88 @@ -875,23 +875,23 @@ main: .4byte 0x23c .byte 0 .uleb128 0x7 - .4byte .LASF1018 + .4byte .LASF1027 .byte 0x9 .byte 0x2d .uleb128 0x7 - .4byte .LASF1019 + .4byte .LASF1028 .byte 0x8 .byte 0x24 .uleb128 0x7 - .4byte .LASF1020 + .4byte .LASF1029 .byte 0x9 .byte 0x2c .uleb128 0x7 - .4byte .LASF1021 + .4byte .LASF1030 .byte 0x8 .byte 0x23 .uleb128 0x13 - .4byte .LASF1027 + .4byte .LASF1036 .byte 0x1 .byte 0x4c .byte 0x5 @@ -911,7 +911,7 @@ main: .byte 0x91 .sleb128 -14 .uleb128 0xc - .4byte .LASF1022 + .4byte .LASF1031 .byte 0x58 .byte 0xc .4byte 0x88 @@ -919,7 +919,7 @@ main: .byte 0x91 .sleb128 -10 .uleb128 0xc - .4byte .LASF1023 + .4byte .LASF1032 .byte 0x59 .byte 0x7 .4byte 0x3ec @@ -928,7 +928,7 @@ main: .sleb128 -11 .byte 0 .uleb128 0x15 - .4byte .LASF1028 + .4byte .LASF1037 .byte 0x1 .byte 0xd .byte 0xd @@ -2821,7 +2821,7 @@ main: .byte 0x4 .byte 0x5 .uleb128 0xb - .4byte .LASF954 + .4byte .LASF963 .byte 0x4 .byte 0 .section .debug_macro,"G",%progbits,wm4._newlib_version.h.4.6d111ab2e95434b664b53815e5c8ccba,comdat @@ -4101,7 +4101,7 @@ main: .uleb128 0x32 .4byte .LASF854 .byte 0 - .section .debug_macro,"G",%progbits,wm4.rcc.h.2.52b7ffe0266717aacf3b04a1b7cb33f9,comdat + .section .debug_macro,"G",%progbits,wm4.rcc.h.2.7439cb887ea9552c2cbd5c85fbf412ce,comdat .Ldebug_macro15: .2byte 0x5 .byte 0 @@ -4205,94 +4205,121 @@ main: .uleb128 0x5c .4byte .LASF887 .byte 0x5 - .uleb128 0x5f + .uleb128 0x5e .4byte .LASF888 .byte 0x5 - .uleb128 0x60 + .uleb128 0x5f .4byte .LASF889 .byte 0x5 - .uleb128 0x63 + .uleb128 0x61 .4byte .LASF890 .byte 0x5 - .uleb128 0x65 + .uleb128 0x62 .4byte .LASF891 .byte 0x5 - .uleb128 0x66 + .uleb128 0x64 .4byte .LASF892 .byte 0x5 - .uleb128 0x69 + .uleb128 0x65 .4byte .LASF893 .byte 0x5 - .uleb128 0x6b + .uleb128 0x68 .4byte .LASF894 .byte 0x5 - .uleb128 0x6c + .uleb128 0x69 .4byte .LASF895 .byte 0x5 - .uleb128 0x6f + .uleb128 0x6c .4byte .LASF896 .byte 0x5 - .uleb128 0x71 + .uleb128 0x6d .4byte .LASF897 .byte 0x5 - .uleb128 0x72 + .uleb128 0x70 .4byte .LASF898 .byte 0x5 - .uleb128 0x73 + .uleb128 0x72 .4byte .LASF899 .byte 0x5 - .uleb128 0x76 + .uleb128 0x73 .4byte .LASF900 .byte 0x5 - .uleb128 0x77 + .uleb128 0x76 .4byte .LASF901 .byte 0x5 - .uleb128 0x79 + .uleb128 0x78 .4byte .LASF902 .byte 0x5 - .uleb128 0x7a + .uleb128 0x79 .4byte .LASF903 .byte 0x5 .uleb128 0x7c .4byte .LASF904 .byte 0x5 - .uleb128 0x7d + .uleb128 0x7e .4byte .LASF905 + .byte 0x5 + .uleb128 0x7f + .4byte .LASF906 + .byte 0x5 + .uleb128 0x80 + .4byte .LASF907 + .byte 0x5 + .uleb128 0x83 + .4byte .LASF908 + .byte 0x5 + .uleb128 0x84 + .4byte .LASF909 + .byte 0x5 + .uleb128 0x86 + .4byte .LASF910 + .byte 0x5 + .uleb128 0x87 + .4byte .LASF911 + .byte 0x5 + .uleb128 0x89 + .4byte .LASF912 + .byte 0x5 + .uleb128 0x8a + .4byte .LASF913 .byte 0 - .section .debug_macro,"G",%progbits,wm4.gpio.h.2.e8870d5e334b8cc926c6b43b65993420,comdat + .section .debug_macro,"G",%progbits,wm4.gpio.h.2.e8e8ad5caa641b1849e6396c88187098,comdat .Ldebug_macro16: .2byte 0x5 .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF906 - .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 + .uleb128 0x15 .4byte .LASF915 + .byte 0x5 + .uleb128 0x16 + .4byte .LASF916 + .byte 0x5 + .uleb128 0x17 + .4byte .LASF917 + .byte 0x5 + .uleb128 0x19 + .4byte .LASF918 + .byte 0x5 + .uleb128 0x1a + .4byte .LASF919 + .byte 0x5 + .uleb128 0x1b + .4byte .LASF920 + .byte 0x5 + .uleb128 0x1e + .4byte .LASF921 + .byte 0x5 + .uleb128 0x20 + .4byte .LASF922 + .byte 0x5 + .uleb128 0x22 + .4byte .LASF923 + .byte 0x5 + .uleb128 0x24 + .4byte .LASF924 .byte 0 .section .debug_macro,"G",%progbits,wm4.flash.h.2.51d6f0499046dca8c8d7cee08875e55f,comdat .Ldebug_macro17: @@ -4300,37 +4327,37 @@ main: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF916 - .byte 0x5 - .uleb128 0xf - .4byte .LASF917 - .byte 0x5 - .uleb128 0x10 - .4byte .LASF918 - .byte 0x5 - .uleb128 0x14 - .4byte .LASF919 - .byte 0x5 - .uleb128 0x15 - .4byte .LASF920 - .byte 0x5 - .uleb128 0x18 - .4byte .LASF921 - .byte 0x5 - .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 + .uleb128 0xf .4byte .LASF926 + .byte 0x5 + .uleb128 0x10 + .4byte .LASF927 + .byte 0x5 + .uleb128 0x14 + .4byte .LASF928 + .byte 0x5 + .uleb128 0x15 + .4byte .LASF929 + .byte 0x5 + .uleb128 0x18 + .4byte .LASF930 + .byte 0x5 + .uleb128 0x19 + .4byte .LASF931 + .byte 0x5 + .uleb128 0x1c + .4byte .LASF932 + .byte 0x5 + .uleb128 0x1e + .4byte .LASF933 + .byte 0x5 + .uleb128 0x1f + .4byte .LASF934 + .byte 0x5 + .uleb128 0x20 + .4byte .LASF935 .byte 0 .section .debug_macro,"G",%progbits,wm4.pwr.h.2.b22d01f8fafa27268c4600cc8f787804,comdat .Ldebug_macro18: @@ -4338,25 +4365,25 @@ main: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF927 + .4byte .LASF936 .byte 0x5 .uleb128 0xb - .4byte .LASF928 + .4byte .LASF937 .byte 0x5 .uleb128 0xc - .4byte .LASF929 + .4byte .LASF938 .byte 0x5 .uleb128 0xf - .4byte .LASF930 + .4byte .LASF939 .byte 0x5 .uleb128 0x12 - .4byte .LASF931 + .4byte .LASF940 .byte 0x5 .uleb128 0x13 - .4byte .LASF932 + .4byte .LASF941 .byte 0x5 .uleb128 0x14 - .4byte .LASF933 + .4byte .LASF942 .byte 0 .section .debug_macro,"G",%progbits,wm4.timer.h.2.2e929ede818fb0960868f1b0a08a1cbf,comdat .Ldebug_macro19: @@ -4364,19 +4391,19 @@ main: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF934 + .4byte .LASF943 .byte 0x5 .uleb128 0x1d - .4byte .LASF935 + .4byte .LASF944 .byte 0x5 .uleb128 0x1e - .4byte .LASF936 + .4byte .LASF945 .byte 0x5 .uleb128 0x20 - .4byte .LASF937 + .4byte .LASF946 .byte 0x5 .uleb128 0x21 - .4byte .LASF938 + .4byte .LASF947 .byte 0 .section .debug_macro,"G",%progbits,wm4.usart.h.2.41f911260774cb69712a09f3470bfff3,comdat .Ldebug_macro20: @@ -4384,49 +4411,49 @@ main: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF939 - .byte 0x5 - .uleb128 0x10 - .4byte .LASF940 - .byte 0x5 - .uleb128 0x11 - .4byte .LASF941 - .byte 0x5 - .uleb128 0x15 - .4byte .LASF942 - .byte 0x5 - .uleb128 0x16 - .4byte .LASF943 - .byte 0x5 - .uleb128 0x1a - .4byte .LASF944 - .byte 0x5 - .uleb128 0x1b - .4byte .LASF945 - .byte 0x5 - .uleb128 0x1e - .4byte .LASF946 - .byte 0x5 - .uleb128 0x1f - .4byte .LASF947 - .byte 0x5 - .uleb128 0x22 .4byte .LASF948 .byte 0x5 - .uleb128 0x23 + .uleb128 0x10 .4byte .LASF949 .byte 0x5 - .uleb128 0x26 + .uleb128 0x11 .4byte .LASF950 .byte 0x5 - .uleb128 0x27 + .uleb128 0x15 .4byte .LASF951 .byte 0x5 - .uleb128 0x29 + .uleb128 0x16 .4byte .LASF952 .byte 0x5 - .uleb128 0x2a + .uleb128 0x1a .4byte .LASF953 + .byte 0x5 + .uleb128 0x1b + .4byte .LASF954 + .byte 0x5 + .uleb128 0x1e + .4byte .LASF955 + .byte 0x5 + .uleb128 0x1f + .4byte .LASF956 + .byte 0x5 + .uleb128 0x22 + .4byte .LASF957 + .byte 0x5 + .uleb128 0x23 + .4byte .LASF958 + .byte 0x5 + .uleb128 0x26 + .4byte .LASF959 + .byte 0x5 + .uleb128 0x27 + .4byte .LASF960 + .byte 0x5 + .uleb128 0x29 + .4byte .LASF961 + .byte 0x5 + .uleb128 0x2a + .4byte .LASF962 .byte 0 .section .debug_line,"",%progbits .Ldebug_line0: @@ -4443,7 +4470,7 @@ main: .ascii "__UHA_FBIT__ 8\000" .LASF814: .ascii "PRIiFAST64 __PRI64FAST(i)\000" -.LASF956: +.LASF965: .ascii "unsigned char\000" .LASF225: .ascii "__FLT64_DENORM_MIN__ 4.9406564584124654e-324F64\000" @@ -4473,7 +4500,7 @@ main: .ascii "__WINT_MIN__ 0U\000" .LASF90: .ascii "__INTMAX_MAX__ 0x7fffffffffffffffLL\000" -.LASF995: +.LASF1004: .ascii "GPIO_MODE_AF\000" .LASF335: .ascii "__TQ_IBIT__ 0\000" @@ -4485,11 +4512,13 @@ main: .ascii "__ULACCUM_FBIT__ 32\000" .LASF75: .ascii "__WCHAR_MAX__ 0xffffffffU\000" +.LASF891: + .ascii "RCC_CFGR_MCO1PRE_DIV2 (0b100)\000" .LASF513: .ascii "__int20__\000" -.LASF904: +.LASF912: .ascii "RCC_APB1ENR_TIM4_BIT 2\000" -.LASF953: +.LASF962: .ascii "USART_BRR_FRACTION_MASK (0b111)\000" .LASF18: .ascii "__SIZEOF_LONG_LONG__ 8\000" @@ -4501,7 +4530,7 @@ main: .ascii "__FRACT_MIN__ (-0.5R-0.5R)\000" .LASF324: .ascii "__ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULLK\000" -.LASF998: +.LASF1007: .ascii "flash\000" .LASF294: .ascii "__USACCUM_MAX__ 0XFFFFP-8UHK\000" @@ -4509,7 +4538,7 @@ main: .ascii "__SFRACT_FBIT__ 7\000" .LASF94: .ascii "__INTMAX_WIDTH__ 64\000" -.LASF939: +.LASF948: .ascii "USART_H_ \000" .LASF448: .ascii "__ARM_FEATURE_BF16_SCALAR_ARITHMETIC\000" @@ -4519,7 +4548,7 @@ main: .ascii "__ORDER_PDP_ENDIAN__ 3412\000" .LASF34: .ascii "__SIZE_TYPE__ unsigned int\000" -.LASF905: +.LASF913: .ascii "RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT)" .ascii "\000" .LASF620: @@ -4578,9 +4607,9 @@ main: .ascii "_LDBL_EQ_DBL 1\000" .LASF675: .ascii "PRIi8 __PRI8(i)\000" -.LASF922: +.LASF931: .ascii "FLASH_ACR_ICEN_ENABLE (1 <> 8)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" -.LASF902: +.LASF890: + .ascii "RCC_CFGR_MCO1PRE_DIV4 (0b110)\000" +.LASF910: .ascii "RCC_APB1ENR_USART2EN_BIT 17\000" -.LASF889: +.LASF897: .ascii "RCC_CFGR_PPRE1_MASK (0b111)\000" .LASF645: .ascii "UINTMAX_C(x) __UINTMAX_C(x)\000" @@ -5835,16 +5876,18 @@ main: .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1\000" .LASF733: .ascii "SCNuLEAST16 __SCN16LEAST(u)\000" -.LASF973: +.LASF982: .ascii "APB1RSTR\000" .LASF298: .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" .LASF393: .ascii "__ARM_FEATURE_CRYPTO\000" -.LASF979: +.LASF988: .ascii "APB1ENR\000" .LASF741: .ascii "SCNdFAST16 __SCN16FAST(d)\000" +.LASF888: + .ascii "RCC_CFGR_MCO1_BIT 21\000" .LASF872: .ascii "RCC_PLLCFGR_PLLQ(q) ((q & RCC_PLLCFGR_PLLQ_MASK) <<" .ascii " RCC_PLLCFGR_PLLQ_BIT)\000" @@ -5871,13 +5914,13 @@ main: .ascii ")\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF964: +.LASF973: .ascii "long long unsigned int\000" .LASF611: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" .LASF150: .ascii "__FLT_MIN_10_EXP__ (-37)\000" -.LASF895: +.LASF903: .ascii "RCC_CFGR_SWS_MASK (0b11)\000" .LASF312: .ascii "__ULACCUM_IBIT__ 32\000" @@ -5918,15 +5961,15 @@ main: .ascii " RCC_PLLCFGR_PLLN_BIT)\000" .LASF56: .ascii "__UINT_LEAST16_TYPE__ short unsigned int\000" -.LASF930: +.LASF939: .ascii "PWR_SCALE3 (0b11)\000" .LASF573: .ascii "_INTMAX_T_DECLARED \000" -.LASF1007: +.LASF1016: .ascii "CCER\000" .LASF40: .ascii "__CHAR16_TYPE__ short unsigned int\000" -.LASF943: +.LASF952: .ascii "USART_SR_TC_COMPLETED (1 << USART_SR_TC_BIT)\000" .LASF231: .ascii "__FLT32X_DIG__ 15\000" @@ -5970,6 +6013,8 @@ main: .ascii "SIZE_MAX (__SIZE_MAX__)\000" .LASF333: .ascii "__DQ_IBIT__ 0\000" +.LASF893: + .ascii "RCC_CFGR_MCO1PRE_MASK (0b111)\000" .LASF450: .ascii "__ARM_BF16_FORMAT_ALTERNATIVE\000" .LASF45: @@ -5982,21 +6027,21 @@ main: .ascii "__int20__ +2\000" .LASF654: .ascii "_WCHAR_T_ \000" -.LASF1003: +.LASF1012: .ascii "SMCR\000" .LASF828: .ascii "PRIoMAX __PRIMAX(o)\000" .LASF747: .ascii "__SCN32(x) __INT32 __STRINGIFY(x)\000" -.LASF925: +.LASF934: .ascii "FLASH_ACR_LATENCY_MASK (0b1111)\000" -.LASF993: +.LASF1002: .ascii "GPIO_MODE_INPUT\000" .LASF743: .ascii "SCNoFAST16 __SCN16FAST(o)\000" -.LASF913: +.LASF922: .ascii "PIN(port,num) (PORT(port) | num)\000" -.LASF1020: +.LASF1029: .ascii "usart2_init\000" .LASF345: .ascii "__UTQ_IBIT__ 0\000" @@ -6022,7 +6067,7 @@ main: .ascii "PRIi16 __PRI16(i)\000" .LASF390: .ascii "__ARM_FEATURE_DSP 1\000" -.LASF945: +.LASF954: .ascii "USART_CR1_UE_ENABLE (1 << USART_CR1_UE_BIT)\000" .LASF825: .ascii "__SCNMAX(x) __STRINGIFY(ll ##x)\000" @@ -6050,13 +6095,13 @@ main: .ascii "__UINT_LEAST32_TYPE__ long unsigned int\000" .LASF405: .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" -.LASF909: +.LASF918: .ascii "GPIO_BASE_ADDR (0x40020000U)\000" .LASF38: .ascii "__INTMAX_TYPE__ long long int\000" .LASF377: .ascii "__GCC_ATOMIC_INT_LOCK_FREE 2\000" -.LASF951: +.LASF960: .ascii "USART_BRR_MANTISSA_MASK (0b111111111111)\000" .LASF561: .ascii "_INT8_T_DECLARED \000" @@ -6064,7 +6109,7 @@ main: .ascii "__ARM_ARCH_7EM__ 1\000" .LASF428: .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" -.LASF976: +.LASF985: .ascii "AHB1ENR\000" .LASF295: .ascii "__USACCUM_EPSILON__ 0x1P-8UHK\000" @@ -6104,11 +6149,11 @@ main: .ascii "__DBL_DIG__ 15\000" .LASF275: .ascii "__ULFRACT_EPSILON__ 0x1P-32ULR\000" -.LASF971: +.LASF980: .ascii "AHB2RSTR\000" .LASF671: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" -.LASF887: +.LASF895: .ascii "RCC_CFGR_PPRE2_MASK (0b111)\000" .LASF23: .ascii "__SIZEOF_SIZE_T__ 4\000" @@ -6128,21 +6173,21 @@ main: .ascii "__LDBL_MIN__ 2.2250738585072014e-308L\000" .LASF445: .ascii "__ARM_FEATURE_CDE\000" -.LASF999: +.LASF1008: .ascii "KEYR\000" .LASF509: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF957: +.LASF966: .ascii "short int\000" .LASF835: .ascii "SCNuMAX __SCNMAX(u)\000" -.LASF941: +.LASF950: .ascii "USART2 ((struct usart *) USART2_BASE_ADDR)\000" .LASF121: .ascii "__UINT16_C(c) c\000" -.LASF952: +.LASF961: .ascii "USART_BRR_FRACTION_BIT 0\000" .LASF359: .ascii "__UDA_IBIT__ 32\000" @@ -6152,7 +6197,7 @@ main: .ascii "RCC_PLLCFGR_PLLM_MASK (0b111111)\000" .LASF365: .ascii "__NO_INLINE__ 1\000" -.LASF942: +.LASF951: .ascii "USART_SR_TC_BIT 6\000" .LASF710: .ascii "__SCN16(x) __INT16 __STRINGIFY(x)\000" @@ -6164,11 +6209,11 @@ main: .ascii "_ATTRIBUTE(attrs) __attribute__ (attrs)\000" .LASF443: .ascii "__ARM_FEATURE_COPROC\000" -.LASF996: +.LASF1005: .ascii "GPIO_MODE_ANALOG\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" -.LASF936: +.LASF945: .ascii "TIM4 ((struct timer *) TIM4_BASE_ADDR)\000" .LASF95: .ascii "__SIG_ATOMIC_MAX__ 0x7fffffff\000" @@ -6176,7 +6221,7 @@ main: .ascii "UINT64_MAX (__UINT64_MAX__)\000" .LASF471: .ascii "_RETARGETABLE_LOCKING 1\000" -.LASF919: +.LASF928: .ascii "FLASH_ACR_DCEN_BIT 10\000" .LASF453: .ascii "__USES_INITFINI__ 1\000" @@ -6236,7 +6281,7 @@ main: .ascii "PRIdMAX __PRIMAX(d)\000" .LASF388: .ascii "__SIZEOF_WINT_T__ 4\000" -.LASF886: +.LASF894: .ascii "RCC_CFGR_PPRE2_BIT 13\000" .LASF782: .ascii "SCNoFAST32 __SCN32FAST(o)\000" @@ -6248,11 +6293,11 @@ main: .ascii "__LDBL_DECIMAL_DIG__ 17\000" .LASF701: .ascii "PRIXFAST8 __PRI8FAST(X)\000" -.LASF1023: +.LASF1032: .ascii "led_on\000" .LASF308: .ascii "__LACCUM_MIN__ (-0X1P31LK-0X1P31LK)\000" -.LASF1025: +.LASF1034: .ascii "src/main.c\000" .LASF126: .ascii "__INT_FAST8_MAX__ 0x7fffffff\000" @@ -6290,13 +6335,13 @@ main: .ascii "__ULLFRACT_MIN__ 0.0ULLR\000" .LASF651: .ascii "_T_WCHAR_ \000" -.LASF1012: +.LASF1021: .ascii "BDTR\000" .LASF382: .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" .LASF664: .ascii "_BSD_WCHAR_T_\000" -.LASF991: +.LASF1000: .ascii "PLLI2SCFGR\000" .LASF277: .ascii "__LLFRACT_IBIT__ 0\000" @@ -6304,9 +6349,9 @@ main: .ascii "UINT16_C(x) __UINT16_C(x)\000" .LASF756: .ascii "PRIx32 __PRI32(x)\000" -.LASF1021: +.LASF1030: .ascii "tim4_init\000" -.LASF967: +.LASF976: .ascii "uint32_t\000" .LASF878: .ascii "RCC_PLLCFGR_PLLN_BIT 6\000" @@ -6314,13 +6359,13 @@ main: .ascii "PRIxLEAST8 __PRI8LEAST(x)\000" .LASF506: .ascii "_SYS__INTSUP_H \000" -.LASF1001: +.LASF1010: .ascii "OPTCR\000" .LASF290: .ascii "__SACCUM_EPSILON__ 0x1P-7HK\000" .LASF415: .ascii "__GCC_ASM_FLAG_OUTPUTS__ 1\000" -.LASF917: +.LASF926: .ascii "FLASH_BASE_ADDR (0x40023C00U)\000" .LASF745: .ascii "SCNxFAST16 __SCN16FAST(x)\000" @@ -6366,13 +6411,13 @@ main: .ascii "__PRI16(x) __INT16 __STRINGIFY(x)\000" .LASF159: .ascii "__FLT_HAS_DENORM__ 1\000" -.LASF914: +.LASF923: .ascii "PINNUM(pin) (pin & 0b1111)\000" .LASF768: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF958: +.LASF967: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -6380,7 +6425,7 @@ main: .ascii "__FLT32_HAS_INFINITY__ 1\000" .LASF416: .ascii "__thumb__ 1\000" -.LASF950: +.LASF959: .ascii "USART_BRR_MANTISSA_BIT 4\000" .LASF421: .ascii "__ARMEL__ 1\000" @@ -6390,9 +6435,9 @@ main: .ascii "__HQ_FBIT__ 15\000" .LASF854: .ascii "__bool_true_false_are_defined 1\000" -.LASF944: +.LASF953: .ascii "USART_CR1_UE_BIT 13\000" -.LASF911: +.LASF920: .ascii "GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADD" .ascii "R + (GPIO_PORT_OFFSET * port)))\000" .LASF798: @@ -6401,11 +6446,11 @@ main: .ascii "RCC_CR_HSIRDY_BIT 1\000" .LASF80: .ascii "__SIZE_MAX__ 0xffffffffU\000" -.LASF1014: +.LASF1023: .ascii "usart2_write\000" .LASF818: .ascii "PRIXFAST64 __PRI64FAST(X)\000" -.LASF916: +.LASF925: .ascii "FLASH_H_ \000" .LASF412: .ascii "__ARM_ARCH\000" @@ -6423,7 +6468,7 @@ main: .ascii "SCNuFAST32 __SCN32FAST(u)\000" .LASF522: .ascii "long +4\000" -.LASF970: +.LASF979: .ascii "AHB1RSTR\000" .LASF723: .ascii "SCNx16 __SCN16(x)\000" @@ -6433,7 +6478,7 @@ main: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF340: .ascii "__USQ_FBIT__ 32\000" -.LASF1026: +.LASF1035: .ascii "/home/alex/code/own/stm32-falling-sand\000" .LASF796: .ascii "PRIX64 __PRI64(X)\000" @@ -6471,7 +6516,7 @@ main: .ascii "__DBL_MIN_10_EXP__ (-307)\000" .LASF795: .ascii "PRIx64 __PRI64(x)\000" -.LASF946: +.LASF955: .ascii "USART_CR1_TE_BIT 3\000" .LASF512: .ascii "__int20\000" @@ -6491,7 +6536,7 @@ main: .ascii "__ULFRACT_IBIT__ 0\000" .LASF857: .ascii "RCC ((struct rcc *) RCC_BASE_ADDR)\000" -.LASF892: +.LASF900: .ascii "RCC_CFGR_HPRE_MASK (0b1111)\000" .LASF72: .ascii "__INT_MAX__ 0x7fffffff\000" @@ -6499,7 +6544,7 @@ main: .ascii "__INT_LEAST64_TYPE__ long long int\000" .LASF103: .ascii "__UINT16_MAX__ 0xffff\000" -.LASF928: +.LASF937: .ascii "PWR_BASE_ADDR (0x40007000U)\000" .LASF446: .ascii "__ARM_FEATURE_CDE_COPROC\000" diff --git a/build/main.i b/build/main.i index 52527ad..bc9dacc 100644 --- a/build/main.i +++ b/build/main.i @@ -2070,6 +2070,19 @@ struct rcc { #define RCC_CFGR_PPRE_DIV_2 (0b100) +#define RCC_CFGR_MCO1_HSE (0b10) +#define RCC_CFGR_MCO1_PLL (0b11) + +#define RCC_CFGR_MCO1_BIT 21 +#define RCC_CFGR_MCO1_MASK (0b11) + +#define RCC_CFGR_MCO1PRE_DIV4 (0b110) +#define RCC_CFGR_MCO1PRE_DIV2 (0b100) + +#define RCC_CFGR_MCO1PRE_BIT 24 +#define RCC_CFGR_MCO1PRE_MASK (0b111) + + #define RCC_CFGR_PPRE2_BIT 13 #define RCC_CFGR_PPRE2_MASK (0b111) @@ -2127,6 +2140,7 @@ struct gpio { }; +#define GPIO_AF_MCO_1 (0b0000) #define GPIO_AF_USART2_RX (0b0111) #define GPIO_AF_USART2_TX (0b0111) @@ -2153,9 +2167,9 @@ typedef enum { void gpio_set_mode(uint16_t pin, GPIO_MODE mode); void gpio_set_af(uint16_t pin, uint8_t af); void gpio_write(uint16_t pin, -# 46 "src/gpio.h" 3 4 +# 47 "src/gpio.h" 3 4 _Bool -# 46 "src/gpio.h" +# 47 "src/gpio.h" val); # 6 "src/main.c" 2 # 1 "src/flash.h" 1 diff --git a/build/main.o b/build/main.o index 06cdb22..7cec1a0 100644 Binary files a/build/main.o and b/build/main.o differ diff --git a/build/timer.S b/build/timer.S index fead8af..b1c92b7 100644 --- a/build/timer.S +++ b/build/timer.S @@ -136,10 +136,10 @@ tim4_start: .byte 0x4 .4byte .Ldebug_abbrev0 .uleb128 0x7 - .4byte .LASF958 + .4byte .LASF966 .byte 0x1d - .4byte .LASF959 - .4byte .LASF960 + .4byte .LASF967 + .4byte .LASF968 .4byte .LLRL0 .4byte 0 .4byte .Ldebug_line0 @@ -147,17 +147,17 @@ tim4_start: .uleb128 0x3 .byte 0x1 .byte 0x6 - .4byte .LASF906 + .4byte .LASF914 .uleb128 0x3 .byte 0x1 .byte 0x8 - .4byte .LASF907 + .4byte .LASF915 .uleb128 0x3 .byte 0x2 .byte 0x5 - .4byte .LASF908 + .4byte .LASF916 .uleb128 0x4 - .4byte .LASF911 + .4byte .LASF919 .byte 0x2 .byte 0x39 .byte 0x1c @@ -165,13 +165,13 @@ tim4_start: .uleb128 0x3 .byte 0x2 .byte 0x7 - .4byte .LASF909 + .4byte .LASF917 .uleb128 0x3 .byte 0x4 .byte 0x5 - .4byte .LASF910 + .4byte .LASF918 .uleb128 0x4 - .4byte .LASF912 + .4byte .LASF920 .byte 0x2 .byte 0x4f .byte 0x1b @@ -179,15 +179,15 @@ tim4_start: .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF913 + .4byte .LASF921 .uleb128 0x3 .byte 0x8 .byte 0x5 - .4byte .LASF914 + .4byte .LASF922 .uleb128 0x3 .byte 0x8 .byte 0x7 - .4byte .LASF915 + .4byte .LASF923 .uleb128 0x8 .byte 0x4 .byte 0x5 @@ -195,15 +195,15 @@ tim4_start: .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF916 + .4byte .LASF924 .uleb128 0x4 - .4byte .LASF917 + .4byte .LASF925 .byte 0x3 .byte 0x24 .byte 0x14 .4byte 0x3f .uleb128 0x4 - .4byte .LASF918 + .4byte .LASF926 .byte 0x3 .byte 0x30 .byte 0x14 @@ -224,13 +224,13 @@ tim4_start: .4byte 0xa0 .byte 0 .uleb128 0x1 - .4byte .LASF919 + .4byte .LASF927 .byte 0x4 .byte 0x8 .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF920 + .4byte .LASF928 .byte 0x4 .byte 0x9 .4byte 0xa0 @@ -242,115 +242,115 @@ tim4_start: .4byte 0xa0 .byte 0xc .uleb128 0x1 - .4byte .LASF921 + .4byte .LASF929 .byte 0x4 .byte 0xb .4byte 0xa0 .byte 0x10 .uleb128 0x1 - .4byte .LASF922 + .4byte .LASF930 .byte 0x4 .byte 0xc .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF923 + .4byte .LASF931 .byte 0x4 .byte 0xd .4byte 0x212 .byte 0x18 .uleb128 0x1 - .4byte .LASF924 + .4byte .LASF932 .byte 0x4 .byte 0xe .4byte 0xa0 .byte 0x20 .uleb128 0x1 - .4byte .LASF925 + .4byte .LASF933 .byte 0x4 .byte 0xf .4byte 0xa0 .byte 0x24 .uleb128 0x1 - .4byte .LASF926 + .4byte .LASF934 .byte 0x4 .byte 0x10 .4byte 0x212 .byte 0x28 .uleb128 0x1 - .4byte .LASF927 + .4byte .LASF935 .byte 0x4 .byte 0x11 .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF928 + .4byte .LASF936 .byte 0x4 .byte 0x12 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF929 + .4byte .LASF937 .byte 0x4 .byte 0x13 .4byte 0x212 .byte 0x38 .uleb128 0x1 - .4byte .LASF930 + .4byte .LASF938 .byte 0x4 .byte 0x14 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF931 + .4byte .LASF939 .byte 0x4 .byte 0x15 .4byte 0xa0 .byte 0x44 .uleb128 0x1 - .4byte .LASF932 + .4byte .LASF940 .byte 0x4 .byte 0x16 .4byte 0x212 .byte 0x48 .uleb128 0x1 - .4byte .LASF933 + .4byte .LASF941 .byte 0x4 .byte 0x17 .4byte 0xa0 .byte 0x50 .uleb128 0x1 - .4byte .LASF934 + .4byte .LASF942 .byte 0x4 .byte 0x18 .4byte 0xa0 .byte 0x54 .uleb128 0x1 - .4byte .LASF935 + .4byte .LASF943 .byte 0x4 .byte 0x19 .4byte 0x212 .byte 0x58 .uleb128 0x1 - .4byte .LASF936 + .4byte .LASF944 .byte 0x4 .byte 0x1a .4byte 0xa0 .byte 0x60 .uleb128 0x1 - .4byte .LASF937 + .4byte .LASF945 .byte 0x4 .byte 0x1b .4byte 0xa0 .byte 0x64 .uleb128 0x1 - .4byte .LASF938 + .4byte .LASF946 .byte 0x4 .byte 0x1c .4byte 0x212 .byte 0x68 .uleb128 0x1 - .4byte .LASF939 + .4byte .LASF947 .byte 0x4 .byte 0x1d .4byte 0xa0 @@ -362,25 +362,25 @@ tim4_start: .4byte 0xa0 .byte 0x74 .uleb128 0x1 - .4byte .LASF940 + .4byte .LASF948 .byte 0x4 .byte 0x1f .4byte 0x212 .byte 0x78 .uleb128 0x1 - .4byte .LASF941 + .4byte .LASF949 .byte 0x4 .byte 0x20 .4byte 0xa0 .byte 0x80 .uleb128 0x1 - .4byte .LASF942 + .4byte .LASF950 .byte 0x4 .byte 0x21 .4byte 0xa0 .byte 0x84 .uleb128 0x1 - .4byte .LASF943 + .4byte .LASF951 .byte 0x4 .byte 0x22 .4byte 0xa0 @@ -396,7 +396,7 @@ tim4_start: .uleb128 0x5 .4byte 0x202 .uleb128 0xc - .4byte .LASF944 + .4byte .LASF952 .byte 0x50 .byte 0x5 .byte 0x6 @@ -415,13 +415,13 @@ tim4_start: .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF945 + .4byte .LASF953 .byte 0x5 .byte 0x9 .4byte 0xa0 .byte 0x8 .uleb128 0x1 - .4byte .LASF946 + .4byte .LASF954 .byte 0x5 .byte 0xa .4byte 0xa0 @@ -439,19 +439,19 @@ tim4_start: .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF947 + .4byte .LASF955 .byte 0x5 .byte 0xd .4byte 0xa0 .byte 0x18 .uleb128 0x1 - .4byte .LASF948 + .4byte .LASF956 .byte 0x5 .byte 0xe .4byte 0xa0 .byte 0x1c .uleb128 0x1 - .4byte .LASF949 + .4byte .LASF957 .byte 0x5 .byte 0xf .4byte 0xa0 @@ -481,31 +481,31 @@ tim4_start: .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF950 + .4byte .LASF958 .byte 0x5 .byte 0x14 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF951 + .4byte .LASF959 .byte 0x5 .byte 0x15 .4byte 0xa0 .byte 0x38 .uleb128 0x1 - .4byte .LASF952 + .4byte .LASF960 .byte 0x5 .byte 0x16 .4byte 0xa0 .byte 0x3c .uleb128 0x1 - .4byte .LASF953 + .4byte .LASF961 .byte 0x5 .byte 0x17 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF954 + .4byte .LASF962 .byte 0x5 .byte 0x18 .4byte 0xa0 @@ -517,21 +517,21 @@ tim4_start: .4byte 0xa0 .byte 0x48 .uleb128 0x1 - .4byte .LASF955 + .4byte .LASF963 .byte 0x5 .byte 0x1a .4byte 0xa0 .byte 0x4c .byte 0 .uleb128 0x6 - .4byte .LASF956 + .4byte .LASF964 .byte 0x14 .4byte .LFB1 .4byte .LFE1-.LFB1 .uleb128 0x1 .byte 0x9c .uleb128 0x6 - .4byte .LASF957 + .4byte .LASF965 .byte 0x4 .4byte .LFB0 .4byte .LFE0-.LFB0 @@ -3501,7 +3501,7 @@ tim4_start: .uleb128 0x135 .4byte .LASF850 .byte 0 - .section .debug_macro,"G",%progbits,wm4.rcc.h.37.fc51eb78a9b2f3f5a4ab23580aa1aac2,comdat + .section .debug_macro,"G",%progbits,wm4.rcc.h.37.3d84d3b65eb54f3a031f4b28466e140e,comdat .Ldebug_macro14: .2byte 0x5 .byte 0 @@ -3602,59 +3602,83 @@ tim4_start: .uleb128 0x5c .4byte .LASF882 .byte 0x5 - .uleb128 0x5f + .uleb128 0x5e .4byte .LASF883 .byte 0x5 - .uleb128 0x60 + .uleb128 0x5f .4byte .LASF884 .byte 0x5 - .uleb128 0x63 + .uleb128 0x61 .4byte .LASF885 .byte 0x5 - .uleb128 0x65 + .uleb128 0x62 .4byte .LASF886 .byte 0x5 - .uleb128 0x66 + .uleb128 0x64 .4byte .LASF887 .byte 0x5 - .uleb128 0x69 + .uleb128 0x65 .4byte .LASF888 .byte 0x5 - .uleb128 0x6b + .uleb128 0x68 .4byte .LASF889 .byte 0x5 - .uleb128 0x6c + .uleb128 0x69 .4byte .LASF890 .byte 0x5 - .uleb128 0x6f + .uleb128 0x6c .4byte .LASF891 .byte 0x5 - .uleb128 0x71 + .uleb128 0x6d .4byte .LASF892 .byte 0x5 - .uleb128 0x72 + .uleb128 0x70 .4byte .LASF893 .byte 0x5 - .uleb128 0x73 + .uleb128 0x72 .4byte .LASF894 .byte 0x5 - .uleb128 0x76 + .uleb128 0x73 .4byte .LASF895 .byte 0x5 - .uleb128 0x77 + .uleb128 0x76 .4byte .LASF896 .byte 0x5 - .uleb128 0x79 + .uleb128 0x78 .4byte .LASF897 .byte 0x5 - .uleb128 0x7a + .uleb128 0x79 .4byte .LASF898 .byte 0x5 .uleb128 0x7c .4byte .LASF899 .byte 0x5 - .uleb128 0x7d + .uleb128 0x7e .4byte .LASF900 + .byte 0x5 + .uleb128 0x7f + .4byte .LASF901 + .byte 0x5 + .uleb128 0x80 + .4byte .LASF902 + .byte 0x5 + .uleb128 0x83 + .4byte .LASF903 + .byte 0x5 + .uleb128 0x84 + .4byte .LASF904 + .byte 0x5 + .uleb128 0x86 + .4byte .LASF905 + .byte 0x5 + .uleb128 0x87 + .4byte .LASF906 + .byte 0x5 + .uleb128 0x89 + .4byte .LASF907 + .byte 0x5 + .uleb128 0x8a + .4byte .LASF908 .byte 0 .section .debug_macro,"G",%progbits,wm4.timer.h.2.2e929ede818fb0960868f1b0a08a1cbf,comdat .Ldebug_macro15: @@ -3662,19 +3686,19 @@ tim4_start: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF901 + .4byte .LASF909 .byte 0x5 .uleb128 0x1d - .4byte .LASF902 + .4byte .LASF910 .byte 0x5 .uleb128 0x1e - .4byte .LASF903 + .4byte .LASF911 .byte 0x5 .uleb128 0x20 - .4byte .LASF904 + .4byte .LASF912 .byte 0x5 .uleb128 0x21 - .4byte .LASF905 + .4byte .LASF913 .byte 0 .section .debug_line,"",%progbits .Ldebug_line0: @@ -3689,7 +3713,7 @@ tim4_start: .ascii "__UHA_FBIT__ 8\000" .LASF815: .ascii "PRIiFAST64 __PRI64FAST(i)\000" -.LASF907: +.LASF915: .ascii "unsigned char\000" .LASF225: .ascii "__FLT64_DENORM_MIN__ 4.9406564584124654e-324F64\000" @@ -3733,9 +3757,11 @@ tim4_start: .ascii "__ULACCUM_FBIT__ 32\000" .LASF75: .ascii "__WCHAR_MAX__ 0xffffffffU\000" +.LASF886: + .ascii "RCC_CFGR_MCO1PRE_DIV2 (0b100)\000" .LASF514: .ascii "__int20__\000" -.LASF899: +.LASF907: .ascii "RCC_APB1ENR_TIM4_BIT 2\000" .LASF18: .ascii "__SIZEOF_LONG_LONG__ 8\000" @@ -3761,7 +3787,7 @@ tim4_start: .ascii "__ORDER_PDP_ENDIAN__ 3412\000" .LASF34: .ascii "__SIZE_TYPE__ unsigned int\000" -.LASF900: +.LASF908: .ascii "RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT)" .ascii "\000" .LASF621: @@ -3832,7 +3858,7 @@ tim4_start: .ascii "__SCNPTR(x) __STRINGIFY(x)\000" .LASF202: .ascii "__FLT32_MAX_10_EXP__ 38\000" -.LASF886: +.LASF894: .ascii "RCC_CFGR_HPRE_BIT 4\000" .LASF683: .ascii "SCNo8 __SCN8(o)\000" @@ -3848,7 +3874,7 @@ tim4_start: .ascii "__need_wchar_t\000" .LASF199: .ascii "__FLT32_MIN_EXP__ (-125)\000" -.LASF958: +.LASF966: .ascii "GNU C2X 12.3.1 20230626 -mcpu=cortex-m4 -mthumb -mf" .ascii "loat-abi=hard -mfpu=fpv4-sp-d16 -march=armv7e-m+fp " .ascii "-g3 -ggdb -O0 -std=c2x -ffunction-sections -fdata-s" @@ -3867,7 +3893,7 @@ tim4_start: .ascii "__int_fast32_t_defined 1\000" .LASF133: .ascii "__INT_FAST64_WIDTH__ 64\000" -.LASF955: +.LASF963: .ascii "DMAR\000" .LASF660: .ascii "___int_wchar_t_h \000" @@ -3879,6 +3905,8 @@ tim4_start: .ascii "INT16_C(x) __INT16_C(x)\000" .LASF250: .ascii "__SFRACT_EPSILON__ 0x1P-7HR\000" +.LASF884: + .ascii "RCC_CFGR_MCO1_MASK (0b11)\000" .LASF113: .ascii "__INT32_C(c) c ## L\000" .LASF27: @@ -3909,28 +3937,27 @@ tim4_start: .ascii "__PRI32LEAST(x) __LEAST32 __STRINGIFY(x)\000" .LASF88: .ascii "__PTRDIFF_WIDTH__ 32\000" -.LASF894: - .ascii "RCC_CFGR_SW(clock) ((clock & RCC_CFGR_SW_MASK) << R" - .ascii "CC_CFGR_SW_BIT)\000" +.LASF882: + .ascii "RCC_CFGR_MCO1_PLL (0b11)\000" .LASF134: .ascii "__UINT_FAST8_MAX__ 0xffffffffU\000" .LASF761: .ascii "SCNo32 __SCN32(o)\000" .LASF541: .ascii "_NOTHROW \000" -.LASF950: +.LASF958: .ascii "CCR1\000" -.LASF951: +.LASF959: .ascii "CCR2\000" -.LASF952: +.LASF960: .ascii "CCR3\000" -.LASF953: +.LASF961: .ascii "CCR4\000" .LASF307: .ascii "__LACCUM_IBIT__ 32\000" .LASF593: .ascii "INT_LEAST8_MAX (__INT_LEAST8_MAX__)\000" -.LASF888: +.LASF896: .ascii "RCC_CFGR_SWS_PLL (0b10)\000" .LASF560: .ascii "__EXP\000" @@ -3948,7 +3975,7 @@ tim4_start: .ascii "__INT64 \"ll\"\000" .LASF138: .ascii "__INTPTR_MAX__ 0x7fffffff\000" -.LASF934: +.LASF942: .ascii "AHB2LPENR\000" .LASF500: .ascii "__RAND_MAX\000" @@ -3958,7 +3985,7 @@ tim4_start: .ascii "INT_LEAST64_MIN (-__INT_LEAST64_MAX__ - 1)\000" .LASF614: .ascii "INT_FAST8_MAX (__INT_FAST8_MAX__)\000" -.LASF896: +.LASF904: .ascii "RCC_APB1ENR_PWREN_CLOCK_ENABLE (1 << RCC_APB1ENR_PW" .ascii "REN_BIT)\000" .LASF487: @@ -3991,7 +4018,7 @@ tim4_start: .ascii " RCC_PLLCFGR_PLLP_BIT)\000" .LASF302: .ascii "__UACCUM_IBIT__ 16\000" -.LASF910: +.LASF918: .ascii "long int\000" .LASF720: .ascii "SCNd16 __SCN16(d)\000" @@ -4032,7 +4059,7 @@ tim4_start: .ascii "INT_FAST64_MIN (-__INT_FAST64_MAX__ - 1)\000" .LASF371: .ascii "__GCC_ATOMIC_BOOL_LOCK_FREE 2\000" -.LASF893: +.LASF901: .ascii "RCC_CFGR_SW_MASK (0b11)\000" .LASF432: .ascii "__ARM_NEON__\000" @@ -4068,7 +4095,7 @@ tim4_start: .ascii "__SIZEOF_LONG__ 4\000" .LASF754: .ascii "PRIi32 __PRI32(i)\000" -.LASF931: +.LASF939: .ascii "APB2ENR\000" .LASF822: .ascii "SCNoFAST64 __SCN64FAST(o)\000" @@ -4082,7 +4109,7 @@ tim4_start: .ascii "__FLT32X_MIN_EXP__ (-1021)\000" .LASF816: .ascii "PRIoFAST64 __PRI64FAST(o)\000" -.LASF933: +.LASF941: .ascii "AHB1LPENR\000" .LASF406: .ascii "__ARM_FEATURE_SIMD32 1\000" @@ -4094,7 +4121,7 @@ tim4_start: .ascii "PRIoLEAST16 __PRI16LEAST(o)\000" .LASF459: .ascii "__NEWLIB__ 4\000" -.LASF943: +.LASF951: .ascii "DCKCFGR\000" .LASF721: .ascii "SCNi16 __SCN16(i)\000" @@ -4104,7 +4131,7 @@ tim4_start: .ascii "__FLT_DECIMAL_DIG__ 9\000" .LASF563: .ascii "_UINT8_T_DECLARED \000" -.LASF906: +.LASF914: .ascii "signed char\000" .LASF806: .ascii "PRIuLEAST64 __PRI64LEAST(u)\000" @@ -4138,23 +4165,23 @@ tim4_start: .ascii "__FLT64_MAX_10_EXP__ 308\000" .LASF874: .ascii "RCC_PLLCFGR_PLLN_MASK (0b111111111)\000" -.LASF959: +.LASF967: .ascii "src/timer.c\000" -.LASF926: +.LASF934: .ascii "RESERVED1\000" -.LASF929: +.LASF937: .ascii "RESERVED2\000" .LASF3: .ascii "__STDC_UTF_32__ 1\000" -.LASF935: +.LASF943: .ascii "RESERVED4\000" .LASF241: .ascii "__FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x\000" -.LASF940: +.LASF948: .ascii "RESERVED6\000" .LASF152: .ascii "__FLT_MAX_10_EXP__ 38\000" -.LASF883: +.LASF891: .ascii "RCC_CFGR_PPRE1_BIT 10\000" .LASF259: .ascii "__FRACT_MAX__ 0X7FFFP-15R\000" @@ -4168,9 +4195,9 @@ tim4_start: .ascii "_READ_WRITE_RETURN_TYPE int\000" .LASF772: .ascii "SCNoLEAST32 __SCN32LEAST(o)\000" -.LASF891: +.LASF899: .ascii "RCC_CFGR_SW_PLL (0b10)\000" -.LASF904: +.LASF912: .ascii "TIM_CR1_CEN_BIT 0\000" .LASF798: .ascii "SCNd64 __SCN64(d)\000" @@ -4190,15 +4217,15 @@ tim4_start: .ascii "__int_fast64_t_defined 1\000" .LASF838: .ascii "__PRIPTR(x) __STRINGIFY(x)\000" -.LASF917: +.LASF925: .ascii "uint16_t\000" .LASF417: .ascii "__thumb2__ 1\000" .LASF321: .ascii "__ULLACCUM_FBIT__ 32\000" -.LASF895: +.LASF903: .ascii "RCC_APB1ENR_PWREN_BIT 28\000" -.LASF898: +.LASF906: .ascii "RCC_APB1ENR_USART2EN_ENABLE (1 << RCC_APB1ENR_USART" .ascii "2EN_BIT)\000" .LASF366: @@ -4207,19 +4234,19 @@ tim4_start: .ascii "_SYS_FEATURES_H \000" .LASF813: .ascii "SCNxLEAST64 __SCN64LEAST(x)\000" -.LASF932: +.LASF940: .ascii "RESERVED3\000" .LASF22: .ascii "__SIZEOF_LONG_DOUBLE__ 8\000" -.LASF938: +.LASF946: .ascii "RESERVED5\000" -.LASF947: +.LASF955: .ascii "CCMR1\000" -.LASF948: +.LASF956: .ascii "CCMR2\000" .LASF36: .ascii "__WCHAR_TYPE__ unsigned int\000" -.LASF901: +.LASF909: .ascii "TIMER_H_ \000" .LASF470: .ascii "_MB_LEN_MAX 8\000" @@ -4237,7 +4264,7 @@ tim4_start: .ascii "__need_wchar_t \000" .LASF66: .ascii "__UINT_FAST64_TYPE__ long long unsigned int\000" -.LASF889: +.LASF897: .ascii "RCC_CFGR_SWS_BIT 2\000" .LASF156: .ascii "__FLT_MIN__ 1.1754943508222875e-38F\000" @@ -4263,9 +4290,9 @@ tim4_start: .ascii "__SCN64(x) __INT64 __STRINGIFY(x)\000" .LASF647: .ascii "_GCC_WRAP_STDINT_H \000" -.LASF911: +.LASF919: .ascii "__uint16_t\000" -.LASF928: +.LASF936: .ascii "AHB2ENR\000" .LASF805: .ascii "PRIoLEAST64 __PRI64LEAST(o)\000" @@ -4279,7 +4306,7 @@ tim4_start: .ascii "__UINT8_MAX__ 0xff\000" .LASF575: .ascii "_UINTMAX_T_DECLARED \000" -.LASF944: +.LASF952: .ascii "timer\000" .LASF184: .ascii "__LDBL_MAX_EXP__ 1024\000" @@ -4291,6 +4318,8 @@ tim4_start: .ascii "__int8_t_defined 1\000" .LASF176: .ascii "__DBL_HAS_DENORM__ 1\000" +.LASF881: + .ascii "RCC_CFGR_MCO1_HSE (0b10)\000" .LASF625: .ascii "INTMAX_MAX (__INTMAX_MAX__)\000" .LASF602: @@ -4305,7 +4334,7 @@ tim4_start: .ascii "__FLT_DENORM_MIN__ 1.4012984643248171e-45F\000" .LASF534: .ascii "__LEAST8 \"hh\"\000" -.LASF885: +.LASF893: .ascii "RCC_CFGR_HPRE_DIV_NONE 0\000" .LASF540: .ascii "_END_STD_C \000" @@ -4323,7 +4352,7 @@ tim4_start: .ascii "__FLT_EPSILON__ 1.1920928955078125e-7F\000" .LASF770: .ascii "SCNdLEAST32 __SCN32LEAST(d)\000" -.LASF923: +.LASF931: .ascii "RESERVED0\000" .LASF807: .ascii "PRIxLEAST64 __PRI64LEAST(x)\000" @@ -4361,7 +4390,7 @@ tim4_start: .ascii "__LACCUM_FBIT__ 31\000" .LASF689: .ascii "PRIuLEAST8 __PRI8LEAST(u)\000" -.LASF939: +.LASF947: .ascii "BDCR\000" .LASF211: .ascii "__FLT32_HAS_QUIET_NAN__ 1\000" @@ -4423,7 +4452,7 @@ tim4_start: .ascii "RCC_CR_HSERDY_READY (1 << RCC_CR_HSERDY_BIT)\000" .LASF763: .ascii "SCNx32 __SCN32(x)\000" -.LASF920: +.LASF928: .ascii "CFGR\000" .LASF558: .ascii "___int_least32_t_defined 1\000" @@ -4493,7 +4522,7 @@ tim4_start: .ascii "___int8_t_defined 1\000" .LASF248: .ascii "__SFRACT_MIN__ (-0.5HR-0.5HR)\000" -.LASF913: +.LASF921: .ascii "long unsigned int\000" .LASF349: .ascii "__SA_IBIT__ 16\000" @@ -4511,7 +4540,7 @@ tim4_start: .ascii "__UINT16_TYPE__ short unsigned int\000" .LASF868: .ascii "RCC_PLLCFGR_PLLSRC_BIT 22\000" -.LASF946: +.LASF954: .ascii "DIER\000" .LASF657: .ascii "_WCHAR_T_DEFINED_ \000" @@ -4569,7 +4598,7 @@ tim4_start: .ascii "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2\000" .LASF790: .ascii "__PRI64FAST(x) __FAST64 __STRINGIFY(x)\000" -.LASF892: +.LASF900: .ascii "RCC_CFGR_SW_BIT 0\000" .LASF168: .ascii "__DBL_MAX_EXP__ 1024\000" @@ -4615,11 +4644,11 @@ tim4_start: .ascii "PRIX32 __PRI32(X)\000" .LASF774: .ascii "SCNxLEAST32 __SCN32LEAST(x)\000" -.LASF956: +.LASF964: .ascii "tim4_start\000" .LASF704: .ascii "SCNiFAST8 __SCN8FAST(i)\000" -.LASF919: +.LASF927: .ascii "PLLCFGR\000" .LASF5: .ascii "__GNUC__ 12\000" @@ -4647,7 +4676,7 @@ tim4_start: .ascii "__ULACCUM_MIN__ 0.0ULK\000" .LASF462: .ascii "_ATEXIT_DYNAMIC_ALLOC 1\000" -.LASF912: +.LASF920: .ascii "__uint32_t\000" .LASF188: .ascii "__LDBL_MAX__ 1.7976931348623157e+308L\000" @@ -4657,7 +4686,7 @@ tim4_start: .ascii "__FLT_RADIX__ 2\000" .LASF455: .ascii "_INTTYPES_H \000" -.LASF914: +.LASF922: .ascii "long long int\000" .LASF401: .ascii "__ARM_FEATURE_CMSE\000" @@ -4677,7 +4706,7 @@ tim4_start: .ascii "WINT_MAX (__WINT_MAX__)\000" .LASF823: .ascii "SCNuFAST64 __SCN64FAST(u)\000" -.LASF941: +.LASF949: .ascii "SSCGR\000" .LASF137: .ascii "__UINT_FAST64_MAX__ 0xffffffffffffffffULL\000" @@ -4705,7 +4734,7 @@ tim4_start: .ascii "___int32_t_defined 1\000" .LASF83: .ascii "__INT_WIDTH__ 32\000" -.LASF925: +.LASF933: .ascii "APB2RSTR\000" .LASF409: .ascii "__ARM_ARCH_PROFILE\000" @@ -4757,9 +4786,9 @@ tim4_start: .ascii "__ARM_NEON_FP\000" .LASF280: .ascii "__LLFRACT_EPSILON__ 0x1P-63LLR\000" -.LASF937: +.LASF945: .ascii "APB2LPENR\000" -.LASF905: +.LASF913: .ascii "TIM_ENABLE (1 << TIM_CR1_CEN_BIT)\000" .LASF821: .ascii "SCNiFAST64 __SCN64FAST(i)\000" @@ -4767,7 +4796,7 @@ tim4_start: .ascii "_ANSIDECL_H_ \000" .LASF684: .ascii "SCNu8 __SCN8(u)\000" -.LASF902: +.LASF910: .ascii "TIM4_BASE_ADDR (0x40000800U)\000" .LASF261: .ascii "__UFRACT_FBIT__ 16\000" @@ -4787,7 +4816,7 @@ tim4_start: .ascii "L)\000" .LASF608: .ascii "INT64_MAX (__INT64_MAX__)\000" -.LASF916: +.LASF924: .ascii "unsigned int\000" .LASF857: .ascii "RCC_CR_HSERDY_BIT 17\000" @@ -4827,6 +4856,8 @@ tim4_start: .ascii "__INT_FAST8_WIDTH__ 32\000" .LASF2: .ascii "__STDC_UTF_16__ 1\000" +.LASF887: + .ascii "RCC_CFGR_MCO1PRE_BIT 24\000" .LASF402: .ascii "__ARM_FEATURE_LDREX\000" .LASF336: @@ -4873,7 +4904,7 @@ tim4_start: .ascii "__STRINGIFY(a) #a\000" .LASF356: .ascii "__USA_FBIT__ 16\000" -.LASF936: +.LASF944: .ascii "APB1LPENR\000" .LASF480: .ascii "__IEEE_LITTLE_ENDIAN \000" @@ -4981,9 +5012,11 @@ tim4_start: .ascii "SCNx64 __SCN64(x)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" -.LASF897: +.LASF885: + .ascii "RCC_CFGR_MCO1PRE_DIV4 (0b110)\000" +.LASF905: .ascii "RCC_APB1ENR_USART2EN_BIT 17\000" -.LASF884: +.LASF892: .ascii "RCC_CFGR_PPRE1_MASK (0b111)\000" .LASF646: .ascii "UINTMAX_C(x) __UINTMAX_C(x)\000" @@ -5001,16 +5034,18 @@ tim4_start: .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1\000" .LASF734: .ascii "SCNuLEAST16 __SCN16LEAST(u)\000" -.LASF924: +.LASF932: .ascii "APB1RSTR\000" .LASF298: .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" .LASF393: .ascii "__ARM_FEATURE_CRYPTO\000" -.LASF930: +.LASF938: .ascii "APB1ENR\000" .LASF742: .ascii "SCNdFAST16 __SCN16FAST(d)\000" +.LASF883: + .ascii "RCC_CFGR_MCO1_BIT 21\000" .LASF867: .ascii "RCC_PLLCFGR_PLLQ(q) ((q & RCC_PLLCFGR_PLLQ_MASK) <<" .ascii " RCC_PLLCFGR_PLLQ_BIT)\000" @@ -5037,13 +5072,13 @@ tim4_start: .ascii ")\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF915: +.LASF923: .ascii "long long unsigned int\000" .LASF612: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" .LASF150: .ascii "__FLT_MIN_10_EXP__ (-37)\000" -.LASF890: +.LASF898: .ascii "RCC_CFGR_SWS_MASK (0b11)\000" .LASF312: .ascii "__ULACCUM_IBIT__ 32\000" @@ -5084,7 +5119,7 @@ tim4_start: .ascii "__UINT_LEAST16_TYPE__ short unsigned int\000" .LASF574: .ascii "_INTMAX_T_DECLARED \000" -.LASF949: +.LASF957: .ascii "CCER\000" .LASF40: .ascii "__CHAR16_TYPE__ short unsigned int\000" @@ -5130,6 +5165,8 @@ tim4_start: .ascii "SIZE_MAX (__SIZE_MAX__)\000" .LASF333: .ascii "__DQ_IBIT__ 0\000" +.LASF888: + .ascii "RCC_CFGR_MCO1PRE_MASK (0b111)\000" .LASF450: .ascii "__ARM_BF16_FORMAT_ALTERNATIVE\000" .LASF45: @@ -5140,7 +5177,7 @@ tim4_start: .ascii "__int20__ +2\000" .LASF655: .ascii "_WCHAR_T_ \000" -.LASF945: +.LASF953: .ascii "SMCR\000" .LASF829: .ascii "PRIoMAX __PRIMAX(o)\000" @@ -5210,7 +5247,7 @@ tim4_start: .ascii "__ARM_ARCH_7EM__ 1\000" .LASF428: .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" -.LASF927: +.LASF935: .ascii "AHB1ENR\000" .LASF295: .ascii "__USACCUM_EPSILON__ 0x1P-8UHK\000" @@ -5250,11 +5287,11 @@ tim4_start: .ascii "__DBL_DIG__ 15\000" .LASF275: .ascii "__ULFRACT_EPSILON__ 0x1P-32ULR\000" -.LASF922: +.LASF930: .ascii "AHB2RSTR\000" .LASF672: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" -.LASF882: +.LASF890: .ascii "RCC_CFGR_PPRE2_MASK (0b111)\000" .LASF23: .ascii "__SIZEOF_SIZE_T__ 4\000" @@ -5280,7 +5317,7 @@ tim4_start: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF908: +.LASF916: .ascii "short int\000" .LASF836: .ascii "SCNuMAX __SCNMAX(u)\000" @@ -5306,7 +5343,7 @@ tim4_start: .ascii "__ARM_FEATURE_COPROC\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" -.LASF903: +.LASF911: .ascii "TIM4 ((struct timer *) TIM4_BASE_ADDR)\000" .LASF95: .ascii "__SIG_ATOMIC_MAX__ 0x7fffffff\000" @@ -5372,7 +5409,7 @@ tim4_start: .ascii "PRIdMAX __PRIMAX(d)\000" .LASF388: .ascii "__SIZEOF_WINT_T__ 4\000" -.LASF881: +.LASF889: .ascii "RCC_CFGR_PPRE2_BIT 13\000" .LASF783: .ascii "SCNoFAST32 __SCN32FAST(o)\000" @@ -5384,6 +5421,9 @@ tim4_start: .ascii "__LDBL_DECIMAL_DIG__ 17\000" .LASF702: .ascii "PRIXFAST8 __PRI8FAST(X)\000" +.LASF902: + .ascii "RCC_CFGR_SW(clock) ((clock & RCC_CFGR_SW_MASK) << R" + .ascii "CC_CFGR_SW_BIT)\000" .LASF308: .ascii "__LACCUM_MIN__ (-0X1P31LK-0X1P31LK)\000" .LASF785: @@ -5424,13 +5464,13 @@ tim4_start: .ascii "__ULLFRACT_MIN__ 0.0ULLR\000" .LASF652: .ascii "_T_WCHAR_ \000" -.LASF954: +.LASF962: .ascii "BDTR\000" .LASF382: .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" .LASF665: .ascii "_BSD_WCHAR_T_\000" -.LASF942: +.LASF950: .ascii "PLLI2SCFGR\000" .LASF277: .ascii "__LLFRACT_IBIT__ 0\000" @@ -5438,9 +5478,9 @@ tim4_start: .ascii "UINT16_C(x) __UINT16_C(x)\000" .LASF757: .ascii "PRIx32 __PRI32(x)\000" -.LASF957: +.LASF965: .ascii "tim4_init\000" -.LASF918: +.LASF926: .ascii "uint32_t\000" .LASF873: .ascii "RCC_PLLCFGR_PLLN_BIT 6\000" @@ -5500,7 +5540,7 @@ tim4_start: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF909: +.LASF917: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -5540,7 +5580,7 @@ tim4_start: .ascii "SCNuFAST32 __SCN32FAST(u)\000" .LASF523: .ascii "long +4\000" -.LASF921: +.LASF929: .ascii "AHB1RSTR\000" .LASF724: .ascii "SCNx16 __SCN16(x)\000" @@ -5550,7 +5590,7 @@ tim4_start: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF340: .ascii "__USQ_FBIT__ 32\000" -.LASF960: +.LASF968: .ascii "/home/alex/code/own/stm32-falling-sand\000" .LASF797: .ascii "PRIX64 __PRI64(X)\000" @@ -5602,7 +5642,7 @@ tim4_start: .ascii "__DBL_MANT_DIG__ 53\000" .LASF272: .ascii "__ULFRACT_IBIT__ 0\000" -.LASF887: +.LASF895: .ascii "RCC_CFGR_HPRE_MASK (0b1111)\000" .LASF72: .ascii "__INT_MAX__ 0x7fffffff\000" diff --git a/build/timer.i b/build/timer.i index a36d58e..cf7ccc7 100644 --- a/build/timer.i +++ b/build/timer.i @@ -2055,6 +2055,19 @@ struct rcc { #define RCC_CFGR_PPRE_DIV_2 (0b100) +#define RCC_CFGR_MCO1_HSE (0b10) +#define RCC_CFGR_MCO1_PLL (0b11) + +#define RCC_CFGR_MCO1_BIT 21 +#define RCC_CFGR_MCO1_MASK (0b11) + +#define RCC_CFGR_MCO1PRE_DIV4 (0b110) +#define RCC_CFGR_MCO1PRE_DIV2 (0b100) + +#define RCC_CFGR_MCO1PRE_BIT 24 +#define RCC_CFGR_MCO1PRE_MASK (0b111) + + #define RCC_CFGR_PPRE2_BIT 13 #define RCC_CFGR_PPRE2_MASK (0b111) diff --git a/build/timer.o b/build/timer.o index 2c88b08..841bd5a 100644 Binary files a/build/timer.o and b/build/timer.o differ diff --git a/build/usart.S b/build/usart.S index a6b6c96..94112f7 100644 --- a/build/usart.S +++ b/build/usart.S @@ -71,71 +71,71 @@ usart2_init: movs r1, #7 mov r0, r3 bl gpio_set_af - .loc 1 20 33 + .loc 1 29 33 ldr r3, .L2 ldr r3, [r3, #64] ldr r2, .L2 - .loc 1 20 43 + .loc 1 29 43 orr r3, r3, #131072 str r3, [r2, #64] - .loc 1 23 35 + .loc 1 32 35 ldr r3, .L2+4 - .loc 1 23 41 + .loc 1 32 41 movs r2, #0 str r2, [r3, #12] - .loc 1 24 35 + .loc 1 33 35 ldr r3, .L2+4 - .loc 1 24 41 + .loc 1 33 41 movs r2, #0 str r2, [r3, #16] - .loc 1 25 35 + .loc 1 34 35 ldr r3, .L2+4 - .loc 1 25 41 + .loc 1 34 41 movs r2, #0 str r2, [r3, #20] - .loc 1 43 35 + .loc 1 52 35 ldr r3, .L2+4 ldr r3, [r3, #8] ldr r2, .L2+4 - .loc 1 43 41 + .loc 1 52 41 bic r3, r3, #65280 bic r3, r3, #240 str r3, [r2, #8] - .loc 1 44 35 + .loc 1 53 35 ldr r3, .L2+4 ldr r3, [r3, #8] ldr r2, .L2+4 - .loc 1 44 41 + .loc 1 53 41 orr r3, r3, #416 str r3, [r2, #8] - .loc 1 45 35 + .loc 1 54 35 ldr r3, .L2+4 ldr r3, [r3, #8] ldr r2, .L2+4 - .loc 1 45 41 + .loc 1 54 41 bic r3, r3, #7 str r3, [r2, #8] - .loc 1 46 35 + .loc 1 55 35 ldr r3, .L2+4 ldr r2, .L2+4 ldr r3, [r3, #8] - .loc 1 46 41 + .loc 1 55 41 str r3, [r2, #8] - .loc 1 49 35 + .loc 1 58 35 ldr r3, .L2+4 ldr r3, [r3, #12] ldr r2, .L2+4 - .loc 1 49 41 + .loc 1 58 41 orr r3, r3, #8 str r3, [r2, #12] - .loc 1 50 35 + .loc 1 59 35 ldr r3, .L2+4 ldr r3, [r3, #12] ldr r2, .L2+4 - .loc 1 50 41 + .loc 1 59 41 orr r3, r3, #4 str r3, [r2, #12] - .loc 1 51 1 + .loc 1 60 1 nop adds r7, r7, #8 .cfi_def_cfa_offset 8 @@ -160,7 +160,7 @@ usart2_init: .type usart2_start, %function usart2_start: .LFB1: - .loc 1 53 25 + .loc 1 62 25 .cfi_startproc @ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, uses_anonymous_args = 0 @@ -170,14 +170,14 @@ usart2_start: .cfi_offset 7, -4 add r7, sp, #0 .cfi_def_cfa_register 7 - .loc 1 54 35 + .loc 1 63 35 ldr r3, .L5 ldr r3, [r3, #12] ldr r2, .L5 - .loc 1 54 41 + .loc 1 63 41 orr r3, r3, #8192 str r3, [r2, #12] - .loc 1 55 1 + .loc 1 64 1 nop mov sp, r7 .cfi_def_cfa_register 13 @@ -202,7 +202,7 @@ usart2_start: .type usart2_write_byte, %function usart2_write_byte: .LFB2: - .loc 1 57 35 + .loc 1 66 35 .cfi_startproc @ args = 0, pretend = 0, frame = 8 @ frame_needed = 1, uses_anonymous_args = 0 @@ -216,23 +216,23 @@ usart2_write_byte: .cfi_def_cfa_register 7 mov r3, r0 strb r3, [r7, #7] - .loc 1 58 35 + .loc 1 67 35 ldr r2, .L9 - .loc 1 58 40 + .loc 1 67 40 ldrb r3, [r7, #7] @ zero_extendqisi2 str r3, [r2, #4] - .loc 1 61 9 + .loc 1 70 9 nop .L8: - .loc 1 61 44 discriminator 1 + .loc 1 70 44 discriminator 1 ldr r3, .L9 ldr r3, [r3] - .loc 1 61 49 discriminator 1 + .loc 1 70 49 discriminator 1 and r3, r3, #64 - .loc 1 61 10 discriminator 1 + .loc 1 70 10 discriminator 1 cmp r3, #0 beq .L8 - .loc 1 62 1 + .loc 1 71 1 nop nop adds r7, r7, #12 @@ -260,7 +260,7 @@ usart2_write_byte: .type usart2_write, %function usart2_write: .LFB3: - .loc 1 64 30 + .loc 1 73 30 .cfi_startproc @ args = 0, pretend = 0, frame = 8 @ frame_needed = 1, uses_anonymous_args = 0 @@ -273,24 +273,24 @@ usart2_write: add r7, sp, #0 .cfi_def_cfa_register 7 str r0, [r7, #4] - .loc 1 65 9 + .loc 1 74 9 b .L12 .L13: - .loc 1 65 38 discriminator 2 + .loc 1 74 38 discriminator 2 ldr r3, [r7, #4] adds r2, r3, #1 str r2, [r7, #4] - .loc 1 65 16 discriminator 2 + .loc 1 74 16 discriminator 2 ldrb r3, [r3] @ zero_extendqisi2 mov r0, r3 bl usart2_write_byte .L12: - .loc 1 65 10 discriminator 1 + .loc 1 74 10 discriminator 1 ldr r3, [r7, #4] ldrb r3, [r3] @ zero_extendqisi2 cmp r3, #0 bne .L13 - .loc 1 66 1 + .loc 1 75 1 nop nop adds r7, r7, #8 @@ -317,10 +317,10 @@ usart2_write: .byte 0x4 .4byte .Ldebug_abbrev0 .uleb128 0xb - .4byte .LASF984 + .4byte .LASF993 .byte 0x1d - .4byte .LASF985 - .4byte .LASF986 + .4byte .LASF994 + .4byte .LASF995 .4byte .LLRL0 .4byte 0 .4byte .Ldebug_line0 @@ -328,9 +328,9 @@ usart2_write: .uleb128 0x2 .byte 0x1 .byte 0x6 - .4byte .LASF931 + .4byte .LASF940 .uleb128 0x4 - .4byte .LASF934 + .4byte .LASF943 .byte 0x2 .byte 0x2b .byte 0x17 @@ -338,13 +338,13 @@ usart2_write: .uleb128 0x2 .byte 0x1 .byte 0x8 - .4byte .LASF932 + .4byte .LASF941 .uleb128 0x2 .byte 0x2 .byte 0x5 - .4byte .LASF933 + .4byte .LASF942 .uleb128 0x4 - .4byte .LASF935 + .4byte .LASF944 .byte 0x2 .byte 0x39 .byte 0x1c @@ -352,13 +352,13 @@ usart2_write: .uleb128 0x2 .byte 0x2 .byte 0x7 - .4byte .LASF936 + .4byte .LASF945 .uleb128 0x2 .byte 0x4 .byte 0x5 - .4byte .LASF937 + .4byte .LASF946 .uleb128 0x4 - .4byte .LASF938 + .4byte .LASF947 .byte 0x2 .byte 0x4f .byte 0x1b @@ -366,15 +366,15 @@ usart2_write: .uleb128 0x2 .byte 0x4 .byte 0x7 - .4byte .LASF939 + .4byte .LASF948 .uleb128 0x2 .byte 0x8 .byte 0x5 - .4byte .LASF940 + .4byte .LASF949 .uleb128 0x2 .byte 0x8 .byte 0x7 - .4byte .LASF941 + .4byte .LASF950 .uleb128 0xc .byte 0x4 .byte 0x5 @@ -382,21 +382,21 @@ usart2_write: .uleb128 0x2 .byte 0x4 .byte 0x7 - .4byte .LASF942 + .4byte .LASF951 .uleb128 0x4 - .4byte .LASF943 + .4byte .LASF952 .byte 0x3 .byte 0x18 .byte 0x13 .4byte 0x31 .uleb128 0x4 - .4byte .LASF944 + .4byte .LASF953 .byte 0x3 .byte 0x24 .byte 0x14 .4byte 0x4b .uleb128 0x4 - .4byte .LASF945 + .4byte .LASF954 .byte 0x3 .byte 0x30 .byte 0x14 @@ -417,13 +417,13 @@ usart2_write: .4byte 0xb8 .byte 0 .uleb128 0x1 - .4byte .LASF946 + .4byte .LASF955 .byte 0x4 .byte 0x8 .4byte 0xb8 .byte 0x4 .uleb128 0x1 - .4byte .LASF947 + .4byte .LASF956 .byte 0x4 .byte 0x9 .4byte 0xb8 @@ -435,115 +435,115 @@ usart2_write: .4byte 0xb8 .byte 0xc .uleb128 0x1 - .4byte .LASF948 + .4byte .LASF957 .byte 0x4 .byte 0xb .4byte 0xb8 .byte 0x10 .uleb128 0x1 - .4byte .LASF949 + .4byte .LASF958 .byte 0x4 .byte 0xc .4byte 0xb8 .byte 0x14 .uleb128 0x1 - .4byte .LASF950 + .4byte .LASF959 .byte 0x4 .byte 0xd .4byte 0x22a .byte 0x18 .uleb128 0x1 - .4byte .LASF951 + .4byte .LASF960 .byte 0x4 .byte 0xe .4byte 0xb8 .byte 0x20 .uleb128 0x1 - .4byte .LASF952 + .4byte .LASF961 .byte 0x4 .byte 0xf .4byte 0xb8 .byte 0x24 .uleb128 0x1 - .4byte .LASF953 + .4byte .LASF962 .byte 0x4 .byte 0x10 .4byte 0x22a .byte 0x28 .uleb128 0x1 - .4byte .LASF954 + .4byte .LASF963 .byte 0x4 .byte 0x11 .4byte 0xb8 .byte 0x30 .uleb128 0x1 - .4byte .LASF955 + .4byte .LASF964 .byte 0x4 .byte 0x12 .4byte 0xb8 .byte 0x34 .uleb128 0x1 - .4byte .LASF956 + .4byte .LASF965 .byte 0x4 .byte 0x13 .4byte 0x22a .byte 0x38 .uleb128 0x1 - .4byte .LASF957 + .4byte .LASF966 .byte 0x4 .byte 0x14 .4byte 0xb8 .byte 0x40 .uleb128 0x1 - .4byte .LASF958 + .4byte .LASF967 .byte 0x4 .byte 0x15 .4byte 0xb8 .byte 0x44 .uleb128 0x1 - .4byte .LASF959 + .4byte .LASF968 .byte 0x4 .byte 0x16 .4byte 0x22a .byte 0x48 .uleb128 0x1 - .4byte .LASF960 + .4byte .LASF969 .byte 0x4 .byte 0x17 .4byte 0xb8 .byte 0x50 .uleb128 0x1 - .4byte .LASF961 + .4byte .LASF970 .byte 0x4 .byte 0x18 .4byte 0xb8 .byte 0x54 .uleb128 0x1 - .4byte .LASF962 + .4byte .LASF971 .byte 0x4 .byte 0x19 .4byte 0x22a .byte 0x58 .uleb128 0x1 - .4byte .LASF963 + .4byte .LASF972 .byte 0x4 .byte 0x1a .4byte 0xb8 .byte 0x60 .uleb128 0x1 - .4byte .LASF964 + .4byte .LASF973 .byte 0x4 .byte 0x1b .4byte 0xb8 .byte 0x64 .uleb128 0x1 - .4byte .LASF965 + .4byte .LASF974 .byte 0x4 .byte 0x1c .4byte 0x22a .byte 0x68 .uleb128 0x1 - .4byte .LASF966 + .4byte .LASF975 .byte 0x4 .byte 0x1d .4byte 0xb8 @@ -555,25 +555,25 @@ usart2_write: .4byte 0xb8 .byte 0x74 .uleb128 0x1 - .4byte .LASF967 + .4byte .LASF976 .byte 0x4 .byte 0x1f .4byte 0x22a .byte 0x78 .uleb128 0x1 - .4byte .LASF968 + .4byte .LASF977 .byte 0x4 .byte 0x20 .4byte 0xb8 .byte 0x80 .uleb128 0x1 - .4byte .LASF969 + .4byte .LASF978 .byte 0x4 .byte 0x21 .4byte 0xb8 .byte 0x84 .uleb128 0x1 - .4byte .LASF970 + .4byte .LASF979 .byte 0x4 .byte 0x22 .4byte 0xb8 @@ -593,30 +593,30 @@ usart2_write: .byte 0x1 .4byte 0x3d .byte 0x5 - .byte 0x25 + .byte 0x26 .byte 0xe .4byte 0x256 .uleb128 0x5 - .4byte .LASF971 + .4byte .LASF980 .byte 0 .uleb128 0x5 - .4byte .LASF972 + .4byte .LASF981 .byte 0x1 .uleb128 0x5 - .4byte .LASF973 + .4byte .LASF982 .byte 0x2 .uleb128 0x5 - .4byte .LASF974 + .4byte .LASF983 .byte 0x3 .byte 0 .uleb128 0x4 - .4byte .LASF975 + .4byte .LASF984 .byte 0x5 - .byte 0x2a + .byte 0x2b .byte 0x3 .4byte 0x22f .uleb128 0x11 - .4byte .LASF976 + .4byte .LASF985 .byte 0x1c .byte 0x6 .byte 0x6 @@ -659,15 +659,15 @@ usart2_write: .4byte 0xb8 .byte 0x14 .uleb128 0x1 - .4byte .LASF977 + .4byte .LASF986 .byte 0x6 .byte 0xd .4byte 0xb8 .byte 0x18 .byte 0 .uleb128 0x8 - .4byte .LASF978 - .byte 0x2d + .4byte .LASF987 + .byte 0x2e .4byte 0x2d7 .uleb128 0x6 .4byte 0xa0 @@ -675,8 +675,8 @@ usart2_write: .4byte 0x94 .byte 0 .uleb128 0x8 - .4byte .LASF979 - .byte 0x2c + .4byte .LASF988 + .byte 0x2d .4byte 0x2ec .uleb128 0x6 .4byte 0xa0 @@ -684,9 +684,9 @@ usart2_write: .4byte 0x256 .byte 0 .uleb128 0x12 - .4byte .LASF980 + .4byte .LASF989 .byte 0x1 - .byte 0x40 + .byte 0x49 .byte 0x6 .4byte .LFB3 .4byte .LFE3-.LFB3 @@ -695,7 +695,7 @@ usart2_write: .4byte 0x311 .uleb128 0x9 .ascii "buf\000" - .byte 0x40 + .byte 0x49 .byte 0x19 .4byte 0x311 .uleb128 0x2 @@ -710,9 +710,9 @@ usart2_write: .byte 0x8 .4byte .LASF511 .uleb128 0x14 - .4byte .LASF981 + .4byte .LASF990 .byte 0x1 - .byte 0x39 + .byte 0x42 .byte 0x6 .4byte .LFB2 .4byte .LFE2-.LFB2 @@ -721,7 +721,7 @@ usart2_write: .4byte 0x341 .uleb128 0x9 .ascii "c\000" - .byte 0x39 + .byte 0x42 .byte 0x20 .4byte 0x94 .uleb128 0x2 @@ -729,16 +729,16 @@ usart2_write: .sleb128 -9 .byte 0 .uleb128 0x15 - .4byte .LASF987 + .4byte .LASF996 .byte 0x1 - .byte 0x35 + .byte 0x3e .byte 0x6 .4byte .LFB1 .4byte .LFE1-.LFB1 .uleb128 0x1 .byte 0x9c .uleb128 0x16 - .4byte .LASF988 + .4byte .LASF997 .byte 0x1 .byte 0x5 .byte 0x6 @@ -747,14 +747,14 @@ usart2_write: .uleb128 0x1 .byte 0x9c .uleb128 0xa - .4byte .LASF982 + .4byte .LASF991 .byte 0xa .4byte 0xa0 .uleb128 0x2 .byte 0x91 .sleb128 -10 .uleb128 0xa - .4byte .LASF983 + .4byte .LASF992 .byte 0xe .4byte 0xa0 .uleb128 0x2 @@ -2656,7 +2656,7 @@ usart2_write: .uleb128 0x5 .byte 0x5 .uleb128 0x2 - .4byte .LASF901 + .4byte .LASF909 .file 18 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" .byte 0x3 .uleb128 0x4 @@ -3932,7 +3932,7 @@ usart2_write: .uleb128 0x135 .4byte .LASF850 .byte 0 - .section .debug_macro,"G",%progbits,wm4.rcc.h.37.fc51eb78a9b2f3f5a4ab23580aa1aac2,comdat + .section .debug_macro,"G",%progbits,wm4.rcc.h.37.3d84d3b65eb54f3a031f4b28466e140e,comdat .Ldebug_macro14: .2byte 0x5 .byte 0 @@ -4033,59 +4033,83 @@ usart2_write: .uleb128 0x5c .4byte .LASF882 .byte 0x5 - .uleb128 0x5f + .uleb128 0x5e .4byte .LASF883 .byte 0x5 - .uleb128 0x60 + .uleb128 0x5f .4byte .LASF884 .byte 0x5 - .uleb128 0x63 + .uleb128 0x61 .4byte .LASF885 .byte 0x5 - .uleb128 0x65 + .uleb128 0x62 .4byte .LASF886 .byte 0x5 - .uleb128 0x66 + .uleb128 0x64 .4byte .LASF887 .byte 0x5 - .uleb128 0x69 + .uleb128 0x65 .4byte .LASF888 .byte 0x5 - .uleb128 0x6b + .uleb128 0x68 .4byte .LASF889 .byte 0x5 - .uleb128 0x6c + .uleb128 0x69 .4byte .LASF890 .byte 0x5 - .uleb128 0x6f + .uleb128 0x6c .4byte .LASF891 .byte 0x5 - .uleb128 0x71 + .uleb128 0x6d .4byte .LASF892 .byte 0x5 - .uleb128 0x72 + .uleb128 0x70 .4byte .LASF893 .byte 0x5 - .uleb128 0x73 + .uleb128 0x72 .4byte .LASF894 .byte 0x5 - .uleb128 0x76 + .uleb128 0x73 .4byte .LASF895 .byte 0x5 - .uleb128 0x77 + .uleb128 0x76 .4byte .LASF896 .byte 0x5 - .uleb128 0x79 + .uleb128 0x78 .4byte .LASF897 .byte 0x5 - .uleb128 0x7a + .uleb128 0x79 .4byte .LASF898 .byte 0x5 .uleb128 0x7c .4byte .LASF899 .byte 0x5 - .uleb128 0x7d + .uleb128 0x7e .4byte .LASF900 + .byte 0x5 + .uleb128 0x7f + .4byte .LASF901 + .byte 0x5 + .uleb128 0x80 + .4byte .LASF902 + .byte 0x5 + .uleb128 0x83 + .4byte .LASF903 + .byte 0x5 + .uleb128 0x84 + .4byte .LASF904 + .byte 0x5 + .uleb128 0x86 + .4byte .LASF905 + .byte 0x5 + .uleb128 0x87 + .4byte .LASF906 + .byte 0x5 + .uleb128 0x89 + .4byte .LASF907 + .byte 0x5 + .uleb128 0x8a + .4byte .LASF908 .byte 0 .section .debug_macro,"G",%progbits,wm4.stdbool.h.29.eb124ecb79face0a1d832a352bec45e0,comdat .Ldebug_macro15: @@ -4093,51 +4117,54 @@ usart2_write: .byte 0 .byte 0x5 .uleb128 0x1d - .4byte .LASF902 + .4byte .LASF910 .byte 0x5 .uleb128 0x21 - .4byte .LASF903 + .4byte .LASF911 .byte 0x5 .uleb128 0x23 - .4byte .LASF904 + .4byte .LASF912 .byte 0x5 .uleb128 0x24 - .4byte .LASF905 + .4byte .LASF913 .byte 0x5 .uleb128 0x32 - .4byte .LASF906 + .4byte .LASF914 .byte 0 - .section .debug_macro,"G",%progbits,wm4.gpio.h.21.e1d894a99a4e20e5ed6ffc90fcb5e1e3,comdat + .section .debug_macro,"G",%progbits,wm4.gpio.h.21.3348067d9334353ab1797d9b1fa5e257,comdat .Ldebug_macro16: .2byte 0x5 .byte 0 .byte 0x5 .uleb128 0x15 - .4byte .LASF907 + .4byte .LASF915 .byte 0x5 .uleb128 0x16 - .4byte .LASF908 + .4byte .LASF916 .byte 0x5 - .uleb128 0x18 - .4byte .LASF909 + .uleb128 0x17 + .4byte .LASF917 .byte 0x5 .uleb128 0x19 - .4byte .LASF910 + .4byte .LASF918 .byte 0x5 .uleb128 0x1a - .4byte .LASF911 + .4byte .LASF919 .byte 0x5 - .uleb128 0x1d - .4byte .LASF912 + .uleb128 0x1b + .4byte .LASF920 .byte 0x5 - .uleb128 0x1f - .4byte .LASF913 + .uleb128 0x1e + .4byte .LASF921 .byte 0x5 - .uleb128 0x21 - .4byte .LASF914 + .uleb128 0x20 + .4byte .LASF922 .byte 0x5 - .uleb128 0x23 - .4byte .LASF915 + .uleb128 0x22 + .4byte .LASF923 + .byte 0x5 + .uleb128 0x24 + .4byte .LASF924 .byte 0 .section .debug_macro,"G",%progbits,wm4.usart.h.2.41f911260774cb69712a09f3470bfff3,comdat .Ldebug_macro17: @@ -4145,49 +4172,49 @@ usart2_write: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF916 - .byte 0x5 - .uleb128 0x10 - .4byte .LASF917 - .byte 0x5 - .uleb128 0x11 - .4byte .LASF918 - .byte 0x5 - .uleb128 0x15 - .4byte .LASF919 - .byte 0x5 - .uleb128 0x16 - .4byte .LASF920 - .byte 0x5 - .uleb128 0x1a - .4byte .LASF921 - .byte 0x5 - .uleb128 0x1b - .4byte .LASF922 - .byte 0x5 - .uleb128 0x1e - .4byte .LASF923 - .byte 0x5 - .uleb128 0x1f - .4byte .LASF924 - .byte 0x5 - .uleb128 0x22 .4byte .LASF925 .byte 0x5 - .uleb128 0x23 + .uleb128 0x10 .4byte .LASF926 .byte 0x5 - .uleb128 0x26 + .uleb128 0x11 .4byte .LASF927 .byte 0x5 - .uleb128 0x27 + .uleb128 0x15 .4byte .LASF928 .byte 0x5 - .uleb128 0x29 + .uleb128 0x16 .4byte .LASF929 .byte 0x5 - .uleb128 0x2a + .uleb128 0x1a .4byte .LASF930 + .byte 0x5 + .uleb128 0x1b + .4byte .LASF931 + .byte 0x5 + .uleb128 0x1e + .4byte .LASF932 + .byte 0x5 + .uleb128 0x1f + .4byte .LASF933 + .byte 0x5 + .uleb128 0x22 + .4byte .LASF934 + .byte 0x5 + .uleb128 0x23 + .4byte .LASF935 + .byte 0x5 + .uleb128 0x26 + .4byte .LASF936 + .byte 0x5 + .uleb128 0x27 + .4byte .LASF937 + .byte 0x5 + .uleb128 0x29 + .4byte .LASF938 + .byte 0x5 + .uleb128 0x2a + .4byte .LASF939 .byte 0 .section .debug_line,"",%progbits .Ldebug_line0: @@ -4202,7 +4229,7 @@ usart2_write: .ascii "__UHA_FBIT__ 8\000" .LASF815: .ascii "PRIiFAST64 __PRI64FAST(i)\000" -.LASF932: +.LASF941: .ascii "unsigned char\000" .LASF225: .ascii "__FLT64_DENORM_MIN__ 4.9406564584124654e-324F64\000" @@ -4236,7 +4263,7 @@ usart2_write: .ascii "__WINT_MIN__ 0U\000" .LASF90: .ascii "__INTMAX_MAX__ 0x7fffffffffffffffLL\000" -.LASF973: +.LASF982: .ascii "GPIO_MODE_AF\000" .LASF335: .ascii "__TQ_IBIT__ 0\000" @@ -4248,11 +4275,13 @@ usart2_write: .ascii "__ULACCUM_FBIT__ 32\000" .LASF75: .ascii "__WCHAR_MAX__ 0xffffffffU\000" +.LASF886: + .ascii "RCC_CFGR_MCO1PRE_DIV2 (0b100)\000" .LASF514: .ascii "__int20__\000" -.LASF899: +.LASF907: .ascii "RCC_APB1ENR_TIM4_BIT 2\000" -.LASF930: +.LASF939: .ascii "USART_BRR_FRACTION_MASK (0b111)\000" .LASF18: .ascii "__SIZEOF_LONG_LONG__ 8\000" @@ -4270,7 +4299,7 @@ usart2_write: .ascii "__SFRACT_FBIT__ 7\000" .LASF94: .ascii "__INTMAX_WIDTH__ 64\000" -.LASF916: +.LASF925: .ascii "USART_H_ \000" .LASF448: .ascii "__ARM_FEATURE_BF16_SCALAR_ARITHMETIC\000" @@ -4280,7 +4309,7 @@ usart2_write: .ascii "__ORDER_PDP_ENDIAN__ 3412\000" .LASF34: .ascii "__SIZE_TYPE__ unsigned int\000" -.LASF900: +.LASF908: .ascii "RCC_APB1ENR_TIM4_ENABLE (1 << RCC_APB1ENR_TIM4_BIT)" .ascii "\000" .LASF621: @@ -4345,7 +4374,7 @@ usart2_write: .ascii "PRIx8 __PRI8(x)\000" .LASF590: .ascii "INT8_MAX (__INT8_MAX__)\000" -.LASF912: +.LASF921: .ascii "PORT(port) (((port) - 'A') << 8)\000" .LASF631: .ascii "PTRDIFF_MAX (__PTRDIFF_MAX__)\000" @@ -4353,7 +4382,7 @@ usart2_write: .ascii "__SCNPTR(x) __STRINGIFY(x)\000" .LASF202: .ascii "__FLT32_MAX_10_EXP__ 38\000" -.LASF886: +.LASF894: .ascii "RCC_CFGR_HPRE_BIT 4\000" .LASF683: .ascii "SCNo8 __SCN8(o)\000" @@ -4369,7 +4398,7 @@ usart2_write: .ascii "__need_wchar_t\000" .LASF199: .ascii "__FLT32_MIN_EXP__ (-125)\000" -.LASF984: +.LASF993: .ascii "GNU C2X 12.3.1 20230626 -mcpu=cortex-m4 -mthumb -mf" .ascii "loat-abi=hard -mfpu=fpv4-sp-d16 -march=armv7e-m+fp " .ascii "-g3 -ggdb -O0 -std=c2x -ffunction-sections -fdata-s" @@ -4400,6 +4429,8 @@ usart2_write: .ascii "INT16_C(x) __INT16_C(x)\000" .LASF250: .ascii "__SFRACT_EPSILON__ 0x1P-7HR\000" +.LASF884: + .ascii "RCC_CFGR_MCO1_MASK (0b11)\000" .LASF113: .ascii "__INT32_C(c) c ## L\000" .LASF27: @@ -4430,12 +4461,11 @@ usart2_write: .ascii "__PRI32LEAST(x) __LEAST32 __STRINGIFY(x)\000" .LASF88: .ascii "__PTRDIFF_WIDTH__ 32\000" -.LASF894: - .ascii "RCC_CFGR_SW(clock) ((clock & RCC_CFGR_SW_MASK) << R" - .ascii "CC_CFGR_SW_BIT)\000" +.LASF882: + .ascii "RCC_CFGR_MCO1_PLL (0b11)\000" .LASF134: .ascii "__UINT_FAST8_MAX__ 0xffffffffU\000" -.LASF929: +.LASF938: .ascii "USART_BRR_FRACTION_BIT 0\000" .LASF541: .ascii "_NOTHROW \000" @@ -4445,9 +4475,9 @@ usart2_write: .ascii "__LACCUM_IBIT__ 32\000" .LASF593: .ascii "INT_LEAST8_MAX (__INT_LEAST8_MAX__)\000" -.LASF888: +.LASF896: .ascii "RCC_CFGR_SWS_PLL (0b10)\000" -.LASF934: +.LASF943: .ascii "__uint8_t\000" .LASF81: .ascii "__SCHAR_WIDTH__ 8\000" @@ -4463,7 +4493,7 @@ usart2_write: .ascii "__INT64 \"ll\"\000" .LASF138: .ascii "__INTPTR_MAX__ 0x7fffffff\000" -.LASF961: +.LASF970: .ascii "AHB2LPENR\000" .LASF500: .ascii "__RAND_MAX\000" @@ -4471,7 +4501,7 @@ usart2_write: .ascii "__UINT_FAST16_MAX__ 0xffffffffU\000" .LASF610: .ascii "INT_LEAST64_MIN (-__INT_LEAST64_MAX__ - 1)\000" -.LASF896: +.LASF904: .ascii "RCC_APB1ENR_PWREN_CLOCK_ENABLE (1 << RCC_APB1ENR_PW" .ascii "REN_BIT)\000" .LASF487: @@ -4504,7 +4534,7 @@ usart2_write: .ascii " RCC_PLLCFGR_PLLP_BIT)\000" .LASF302: .ascii "__UACCUM_IBIT__ 16\000" -.LASF937: +.LASF946: .ascii "long int\000" .LASF720: .ascii "SCNd16 __SCN16(d)\000" @@ -4520,7 +4550,7 @@ usart2_write: .ascii "SCNuLEAST32 __SCN32LEAST(u)\000" .LASF240: .ascii "__FLT32X_EPSILON__ 2.2204460492503131e-16F32x\000" -.LASF982: +.LASF991: .ascii "txPin\000" .LASF878: .ascii "RCC_PLLCFGR_PLLM(m) ((m & RCC_PLLCFGR_PLLM_MASK) <<" @@ -4543,7 +4573,7 @@ usart2_write: .ascii "INT_FAST64_MIN (-__INT_FAST64_MAX__ - 1)\000" .LASF371: .ascii "__GCC_ATOMIC_BOOL_LOCK_FREE 2\000" -.LASF893: +.LASF901: .ascii "RCC_CFGR_SW_MASK (0b11)\000" .LASF432: .ascii "__ARM_NEON__\000" @@ -4567,7 +4597,7 @@ usart2_write: .ascii "__CHAR32_TYPE__ long unsigned int\000" .LASF429: .ascii "__ARM_FEATURE_FP16_VECTOR_ARITHMETIC\000" -.LASF901: +.LASF909: .ascii "GPIO_H_ \000" .LASF179: .ascii "__DBL_IS_IEC_60559__ 2\000" @@ -4579,7 +4609,7 @@ usart2_write: .ascii "__SIZEOF_LONG__ 4\000" .LASF754: .ascii "PRIi32 __PRI32(i)\000" -.LASF958: +.LASF967: .ascii "APB2ENR\000" .LASF822: .ascii "SCNoFAST64 __SCN64FAST(o)\000" @@ -4593,7 +4623,7 @@ usart2_write: .ascii "__FLT32X_MIN_EXP__ (-1021)\000" .LASF816: .ascii "PRIoFAST64 __PRI64FAST(o)\000" -.LASF960: +.LASF969: .ascii "AHB1LPENR\000" .LASF406: .ascii "__ARM_FEATURE_SIMD32 1\000" @@ -4605,23 +4635,23 @@ usart2_write: .ascii "PRIoLEAST16 __PRI16LEAST(o)\000" .LASF459: .ascii "__NEWLIB__ 4\000" -.LASF970: +.LASF979: .ascii "DCKCFGR\000" .LASF721: .ascii "SCNi16 __SCN16(i)\000" .LASF360: .ascii "__UTA_FBIT__ 64\000" -.LASF976: +.LASF985: .ascii "usart\000" .LASF153: .ascii "__FLT_DECIMAL_DIG__ 9\000" .LASF563: .ascii "_UINT8_T_DECLARED \000" -.LASF931: +.LASF940: .ascii "signed char\000" .LASF806: .ascii "PRIuLEAST64 __PRI64LEAST(u)\000" -.LASF943: +.LASF952: .ascii "uint8_t\000" .LASF705: .ascii "SCNoFAST8 __SCN8FAST(o)\000" @@ -4629,7 +4659,7 @@ usart2_write: .ascii "INTMAX_MIN (-INTMAX_MAX - 1)\000" .LASF467: .ascii "_HAVE_LONG_DOUBLE 1\000" -.LASF975: +.LASF984: .ascii "GPIO_MODE\000" .LASF256: .ascii "__FRACT_FBIT__ 15\000" @@ -4657,33 +4687,33 @@ usart2_write: .ascii "__FLT64_MAX_10_EXP__ 308\000" .LASF874: .ascii "RCC_PLLCFGR_PLLN_MASK (0b111111111)\000" -.LASF950: +.LASF959: .ascii "RESERVED0\000" -.LASF953: +.LASF962: .ascii "RESERVED1\000" -.LASF956: +.LASF965: .ascii "RESERVED2\000" .LASF3: .ascii "__STDC_UTF_32__ 1\000" -.LASF962: +.LASF971: .ascii "RESERVED4\000" .LASF241: .ascii "__FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x\000" -.LASF967: +.LASF976: .ascii "RESERVED6\000" .LASF152: .ascii "__FLT_MAX_10_EXP__ 38\000" .LASF42: .ascii "__SIG_ATOMIC_TYPE__ int\000" -.LASF883: +.LASF891: .ascii "RCC_CFGR_PPRE1_BIT 10\000" .LASF259: .ascii "__FRACT_MAX__ 0X7FFFP-15R\000" .LASF729: .ascii "PRIxLEAST16 __PRI16LEAST(x)\000" -.LASF981: +.LASF990: .ascii "usart2_write_byte\000" -.LASF985: +.LASF994: .ascii "src/usart.c\000" .LASF130: .ascii "__INT_FAST32_MAX__ 0x7fffffff\000" @@ -4693,13 +4723,13 @@ usart2_write: .ascii "_READ_WRITE_RETURN_TYPE int\000" .LASF772: .ascii "SCNoLEAST32 __SCN32LEAST(o)\000" -.LASF891: +.LASF899: .ascii "RCC_CFGR_SW_PLL (0b10)\000" .LASF845: .ascii "PRIXPTR __PRIPTR(X)\000" .LASF798: .ascii "SCNd64 __SCN64(d)\000" -.LASF972: +.LASF981: .ascii "GPIO_MODE_OUTPUT\000" .LASF614: .ascii "INT_FAST8_MAX (__INT_FAST8_MAX__)\000" @@ -4721,9 +4751,9 @@ usart2_write: .ascii "__thumb2__ 1\000" .LASF321: .ascii "__ULLACCUM_FBIT__ 32\000" -.LASF895: +.LASF903: .ascii "RCC_APB1ENR_PWREN_BIT 28\000" -.LASF898: +.LASF906: .ascii "RCC_APB1ENR_USART2EN_ENABLE (1 << RCC_APB1ENR_USART" .ascii "2EN_BIT)\000" .LASF366: @@ -4732,11 +4762,11 @@ usart2_write: .ascii "_SYS_FEATURES_H \000" .LASF813: .ascii "SCNxLEAST64 __SCN64LEAST(x)\000" -.LASF959: +.LASF968: .ascii "RESERVED3\000" .LASF22: .ascii "__SIZEOF_LONG_DOUBLE__ 8\000" -.LASF965: +.LASF974: .ascii "RESERVED5\000" .LASF386: .ascii "__PRAGMA_REDEFINE_EXTNAME 1\000" @@ -4758,9 +4788,9 @@ usart2_write: .ascii "__need_wchar_t \000" .LASF66: .ascii "__UINT_FAST64_TYPE__ long long unsigned int\000" -.LASF917: +.LASF926: .ascii "USART2_BASE_ADDR (0x40004400U)\000" -.LASF889: +.LASF897: .ascii "RCC_CFGR_SWS_BIT 2\000" .LASF156: .ascii "__FLT_MIN__ 1.1754943508222875e-38F\000" @@ -4778,7 +4808,7 @@ usart2_write: .ascii "__FLT32_IS_IEC_60559__ 2\000" .LASF630: .ascii "SIG_ATOMIC_MAX (__STDINT_EXP(INT_MAX))\000" -.LASF926: +.LASF935: .ascii "USART_CR1_RE_ENABLE (1 << USART_CR1_RE_BIT)\000" .LASF725: .ascii "PRIdLEAST16 __PRI16LEAST(d)\000" @@ -4788,9 +4818,9 @@ usart2_write: .ascii "__SCN64(x) __INT64 __STRINGIFY(x)\000" .LASF647: .ascii "_GCC_WRAP_STDINT_H \000" -.LASF935: +.LASF944: .ascii "__uint16_t\000" -.LASF955: +.LASF964: .ascii "AHB2ENR\000" .LASF805: .ascii "PRIoLEAST64 __PRI64LEAST(o)\000" @@ -4814,8 +4844,10 @@ usart2_write: .ascii "__int8_t_defined 1\000" .LASF176: .ascii "__DBL_HAS_DENORM__ 1\000" -.LASF908: +.LASF917: .ascii "GPIO_AF_USART2_TX (0b0111)\000" +.LASF881: + .ascii "RCC_CFGR_MCO1_HSE (0b10)\000" .LASF625: .ascii "INTMAX_MAX (__INTMAX_MAX__)\000" .LASF602: @@ -4832,11 +4864,11 @@ usart2_write: .ascii "__FLT_DENORM_MIN__ 1.4012984643248171e-45F\000" .LASF534: .ascii "__LEAST8 \"hh\"\000" -.LASF885: +.LASF893: .ascii "RCC_CFGR_HPRE_DIV_NONE 0\000" .LASF540: .ascii "_END_STD_C \000" -.LASF904: +.LASF912: .ascii "true ((_Bool)+1u)\000" .LASF600: .ascii "UINT_LEAST16_MAX (__UINT_LEAST16_MAX__)\000" @@ -4888,7 +4920,7 @@ usart2_write: .ascii "__LACCUM_FBIT__ 31\000" .LASF689: .ascii "PRIuLEAST8 __PRI8LEAST(u)\000" -.LASF966: +.LASF975: .ascii "BDCR\000" .LASF211: .ascii "__FLT32_HAS_QUIET_NAN__ 1\000" @@ -4904,7 +4936,7 @@ usart2_write: .ascii "PRIo64 __PRI64(o)\000" .LASF736: .ascii "PRIdFAST16 __PRI16FAST(d)\000" -.LASF944: +.LASF953: .ascii "uint16_t\000" .LASF96: .ascii "__SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)\000" @@ -4948,7 +4980,7 @@ usart2_write: .ascii "RCC_CR_HSERDY_READY (1 << RCC_CR_HSERDY_BIT)\000" .LASF763: .ascii "SCNx32 __SCN32(x)\000" -.LASF947: +.LASF956: .ascii "CFGR\000" .LASF558: .ascii "___int_least32_t_defined 1\000" @@ -5018,7 +5050,7 @@ usart2_write: .ascii "___int8_t_defined 1\000" .LASF248: .ascii "__SFRACT_MIN__ (-0.5HR-0.5HR)\000" -.LASF939: +.LASF948: .ascii "long unsigned int\000" .LASF349: .ascii "__SA_IBIT__ 16\000" @@ -5036,9 +5068,9 @@ usart2_write: .ascii "__UINT16_TYPE__ short unsigned int\000" .LASF868: .ascii "RCC_PLLCFGR_PLLSRC_BIT 22\000" -.LASF907: +.LASF916: .ascii "GPIO_AF_USART2_RX (0b0111)\000" -.LASF905: +.LASF913: .ascii "false ((_Bool)+0u)\000" .LASF657: .ascii "_WCHAR_T_DEFINED_ \000" @@ -5076,7 +5108,7 @@ usart2_write: .ascii "SCNx8 __SCN8(x)\000" .LASF208: .ascii "__FLT32_DENORM_MIN__ 1.4012984643248171e-45F32\000" -.LASF979: +.LASF988: .ascii "gpio_set_mode\000" .LASF125: .ascii "__UINT64_C(c) c ## ULL\000" @@ -5092,13 +5124,13 @@ usart2_write: .ascii "PRIXLEAST16 __PRI16LEAST(X)\000" .LASF623: .ascii "INT_FAST64_MAX (__INT_FAST64_MAX__)\000" -.LASF925: +.LASF934: .ascii "USART_CR1_RE_BIT 2\000" .LASF373: .ascii "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2\000" .LASF790: .ascii "__PRI64FAST(x) __FAST64 __STRINGIFY(x)\000" -.LASF892: +.LASF900: .ascii "RCC_CFGR_SW_BIT 0\000" .LASF168: .ascii "__DBL_MAX_EXP__ 1024\000" @@ -5126,7 +5158,7 @@ usart2_write: .ascii "_INT32_T_DECLARED \000" .LASF1: .ascii "__STDC_VERSION__ 202000L\000" -.LASF983: +.LASF992: .ascii "rxPin\000" .LASF520: .ascii "__int20 +2\000" @@ -5146,7 +5178,7 @@ usart2_write: .ascii "SCNxLEAST32 __SCN32LEAST(x)\000" .LASF712: .ascii "__SCN16LEAST(x) __LEAST16 __STRINGIFY(x)\000" -.LASF946: +.LASF955: .ascii "PLLCFGR\000" .LASF5: .ascii "__GNUC__ 12\000" @@ -5174,7 +5206,7 @@ usart2_write: .ascii "__ULACCUM_MIN__ 0.0ULK\000" .LASF462: .ascii "_ATEXIT_DYNAMIC_ALLOC 1\000" -.LASF938: +.LASF947: .ascii "__uint32_t\000" .LASF188: .ascii "__LDBL_MAX__ 1.7976931348623157e+308L\000" @@ -5184,7 +5216,7 @@ usart2_write: .ascii "__FLT_RADIX__ 2\000" .LASF455: .ascii "_INTTYPES_H \000" -.LASF940: +.LASF949: .ascii "long long int\000" .LASF401: .ascii "__ARM_FEATURE_CMSE\000" @@ -5202,7 +5234,7 @@ usart2_write: .ascii "WINT_MAX (__WINT_MAX__)\000" .LASF823: .ascii "SCNuFAST64 __SCN64FAST(u)\000" -.LASF968: +.LASF977: .ascii "SSCGR\000" .LASF137: .ascii "__UINT_FAST64_MAX__ 0xffffffffffffffffULL\000" @@ -5218,19 +5250,21 @@ usart2_write: .ascii "__STDC__ 1\000" .LASF239: .ascii "__FLT32X_MIN__ 2.2250738585072014e-308F32x\000" +.LASF915: + .ascii "GPIO_AF_MCO_1 (0b0000)\000" .LASF218: .ascii "__FLT64_MAX_EXP__ 1024\000" .LASF654: .ascii "__WCHAR_T \000" .LASF223: .ascii "__FLT64_MIN__ 2.2250738585072014e-308F64\000" -.LASF977: +.LASF986: .ascii "GTPR\000" .LASF554: .ascii "___int32_t_defined 1\000" .LASF83: .ascii "__INT_WIDTH__ 32\000" -.LASF952: +.LASF961: .ascii "APB2RSTR\000" .LASF409: .ascii "__ARM_ARCH_PROFILE\000" @@ -5282,7 +5316,7 @@ usart2_write: .ascii "__ARM_NEON_FP\000" .LASF280: .ascii "__LLFRACT_EPSILON__ 0x1P-63LLR\000" -.LASF964: +.LASF973: .ascii "APB2LPENR\000" .LASF821: .ascii "SCNiFAST64 __SCN64FAST(i)\000" @@ -5290,7 +5324,7 @@ usart2_write: .ascii "_ANSIDECL_H_ \000" .LASF684: .ascii "SCNu8 __SCN8(u)\000" -.LASF902: +.LASF910: .ascii "_STDBOOL_H \000" .LASF261: .ascii "__UFRACT_FBIT__ 16\000" @@ -5310,11 +5344,11 @@ usart2_write: .ascii "L)\000" .LASF608: .ascii "INT64_MAX (__INT64_MAX__)\000" -.LASF942: +.LASF951: .ascii "unsigned int\000" .LASF857: .ascii "RCC_CR_HSERDY_BIT 17\000" -.LASF910: +.LASF919: .ascii "GPIO_PORT_OFFSET (0x400U)\000" .LASF460: .ascii "__NEWLIB_MINOR__ 3\000" @@ -5354,9 +5388,11 @@ usart2_write: .ascii "__INT_FAST8_WIDTH__ 32\000" .LASF2: .ascii "__STDC_UTF_16__ 1\000" +.LASF887: + .ascii "RCC_CFGR_MCO1PRE_BIT 24\000" .LASF402: .ascii "__ARM_FEATURE_LDREX\000" -.LASF987: +.LASF996: .ascii "usart2_start\000" .LASF336: .ascii "__UQQ_FBIT__ 8\000" @@ -5386,7 +5422,7 @@ usart2_write: .ascii "__ARM_FEATURE_COPROC 15\000" .LASF484: .ascii "__OBSOLETE_MATH_DEFAULT 1\000" -.LASF978: +.LASF987: .ascii "gpio_set_af\000" .LASF864: .ascii "RCC_CR_HSION_ON (1 << RCC_CR_HSION_BIT)\000" @@ -5402,7 +5438,7 @@ usart2_write: .ascii "__STRINGIFY(a) #a\000" .LASF356: .ascii "__USA_FBIT__ 16\000" -.LASF963: +.LASF972: .ascii "APB1LPENR\000" .LASF480: .ascii "__IEEE_LITTLE_ENDIAN \000" @@ -5500,7 +5536,7 @@ usart2_write: .ascii "__LFRACT_IBIT__ 0\000" .LASF16: .ascii "__SIZEOF_INT__ 4\000" -.LASF924: +.LASF933: .ascii "USART_CR1_TE_ENABLE (1 << USART_CR1_TE_BIT)\000" .LASF166: .ascii "__DBL_MIN_EXP__ (-1021)\000" @@ -5510,13 +5546,15 @@ usart2_write: .ascii "SCNuFAST16 __SCN16FAST(u)\000" .LASF802: .ascii "SCNx64 __SCN64(x)\000" -.LASF915: +.LASF924: .ascii "PINPORT(pin) (pin >> 8)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" -.LASF897: +.LASF885: + .ascii "RCC_CFGR_MCO1PRE_DIV4 (0b110)\000" +.LASF905: .ascii "RCC_APB1ENR_USART2EN_BIT 17\000" -.LASF884: +.LASF892: .ascii "RCC_CFGR_PPRE1_MASK (0b111)\000" .LASF646: .ascii "UINTMAX_C(x) __UINTMAX_C(x)\000" @@ -5532,18 +5570,20 @@ usart2_write: .ascii "__SACCUM_FBIT__ 7\000" .LASF734: .ascii "SCNuLEAST16 __SCN16LEAST(u)\000" -.LASF951: +.LASF960: .ascii "APB1RSTR\000" .LASF298: .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" .LASF393: .ascii "__ARM_FEATURE_CRYPTO\000" -.LASF957: +.LASF966: .ascii "APB1ENR\000" .LASF698: .ascii "PRIiFAST8 __PRI8FAST(i)\000" .LASF742: .ascii "SCNdFAST16 __SCN16FAST(d)\000" +.LASF883: + .ascii "RCC_CFGR_MCO1_BIT 21\000" .LASF867: .ascii "RCC_PLLCFGR_PLLQ(q) ((q & RCC_PLLCFGR_PLLQ_MASK) <<" .ascii " RCC_PLLCFGR_PLLQ_BIT)\000" @@ -5570,13 +5610,13 @@ usart2_write: .ascii ")\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF941: +.LASF950: .ascii "long long unsigned int\000" .LASF612: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" .LASF150: .ascii "__FLT_MIN_10_EXP__ (-37)\000" -.LASF890: +.LASF898: .ascii "RCC_CFGR_SWS_MASK (0b11)\000" .LASF312: .ascii "__ULACCUM_IBIT__ 32\000" @@ -5625,7 +5665,7 @@ usart2_write: .ascii "__LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK\000" .LASF40: .ascii "__CHAR16_TYPE__ short unsigned int\000" -.LASF920: +.LASF929: .ascii "USART_SR_TC_COMPLETED (1 << USART_SR_TC_BIT)\000" .LASF231: .ascii "__FLT32X_DIG__ 15\000" @@ -5669,6 +5709,8 @@ usart2_write: .ascii "SIZE_MAX (__SIZE_MAX__)\000" .LASF333: .ascii "__DQ_IBIT__ 0\000" +.LASF888: + .ascii "RCC_CFGR_MCO1PRE_MASK (0b111)\000" .LASF450: .ascii "__ARM_BF16_FORMAT_ALTERNATIVE\000" .LASF45: @@ -5685,13 +5727,13 @@ usart2_write: .ascii "PRIoMAX __PRIMAX(o)\000" .LASF748: .ascii "__SCN32(x) __INT32 __STRINGIFY(x)\000" -.LASF971: +.LASF980: .ascii "GPIO_MODE_INPUT\000" .LASF744: .ascii "SCNoFAST16 __SCN16FAST(o)\000" -.LASF913: +.LASF922: .ascii "PIN(port,num) (PORT(port) | num)\000" -.LASF988: +.LASF997: .ascii "usart2_init\000" .LASF345: .ascii "__UTQ_IBIT__ 0\000" @@ -5717,7 +5759,7 @@ usart2_write: .ascii "PRIi16 __PRI16(i)\000" .LASF390: .ascii "__ARM_FEATURE_DSP 1\000" -.LASF922: +.LASF931: .ascii "USART_CR1_UE_ENABLE (1 << USART_CR1_UE_BIT)\000" .LASF826: .ascii "__SCNMAX(x) __STRINGIFY(ll ##x)\000" @@ -5747,19 +5789,19 @@ usart2_write: .ascii "RCC_H_ \000" .LASF405: .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" -.LASF909: +.LASF918: .ascii "GPIO_BASE_ADDR (0x40020000U)\000" .LASF38: .ascii "__INTMAX_TYPE__ long long int\000" .LASF377: .ascii "__GCC_ATOMIC_INT_LOCK_FREE 2\000" -.LASF928: +.LASF937: .ascii "USART_BRR_MANTISSA_MASK (0b111111111111)\000" .LASF436: .ascii "__ARM_ARCH_7EM__ 1\000" .LASF428: .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" -.LASF954: +.LASF963: .ascii "AHB1ENR\000" .LASF295: .ascii "__USACCUM_EPSILON__ 0x1P-8UHK\000" @@ -5799,11 +5841,11 @@ usart2_write: .ascii "__DBL_DIG__ 15\000" .LASF275: .ascii "__ULFRACT_EPSILON__ 0x1P-32ULR\000" -.LASF949: +.LASF958: .ascii "AHB2RSTR\000" .LASF672: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" -.LASF882: +.LASF890: .ascii "RCC_CFGR_PPRE2_MASK (0b111)\000" .LASF23: .ascii "__SIZEOF_SIZE_T__ 4\000" @@ -5829,11 +5871,11 @@ usart2_write: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF933: +.LASF942: .ascii "short int\000" .LASF836: .ascii "SCNuMAX __SCNMAX(u)\000" -.LASF918: +.LASF927: .ascii "USART2 ((struct usart *) USART2_BASE_ADDR)\000" .LASF121: .ascii "__UINT16_C(c) c\000" @@ -5845,7 +5887,7 @@ usart2_write: .ascii "RCC_PLLCFGR_PLLM_MASK (0b111111)\000" .LASF587: .ascii "INTPTR_MAX (__INTPTR_MAX__)\000" -.LASF919: +.LASF928: .ascii "USART_SR_TC_BIT 6\000" .LASF711: .ascii "__SCN16(x) __INT16 __STRINGIFY(x)\000" @@ -5857,7 +5899,7 @@ usart2_write: .ascii "_ATTRIBUTE(attrs) __attribute__ (attrs)\000" .LASF443: .ascii "__ARM_FEATURE_COPROC\000" -.LASF974: +.LASF983: .ascii "GPIO_MODE_ANALOG\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" @@ -5927,7 +5969,7 @@ usart2_write: .ascii "PRIdMAX __PRIMAX(d)\000" .LASF388: .ascii "__SIZEOF_WINT_T__ 4\000" -.LASF881: +.LASF889: .ascii "RCC_CFGR_PPRE2_BIT 13\000" .LASF783: .ascii "SCNoFAST32 __SCN32FAST(o)\000" @@ -5939,6 +5981,9 @@ usart2_write: .ascii "__LDBL_DECIMAL_DIG__ 17\000" .LASF702: .ascii "PRIXFAST8 __PRI8FAST(X)\000" +.LASF902: + .ascii "RCC_CFGR_SW(clock) ((clock & RCC_CFGR_SW_MASK) << R" + .ascii "CC_CFGR_SW_BIT)\000" .LASF308: .ascii "__LACCUM_MIN__ (-0X1P31LK-0X1P31LK)\000" .LASF785: @@ -5985,7 +6030,7 @@ usart2_write: .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" .LASF665: .ascii "_BSD_WCHAR_T_\000" -.LASF969: +.LASF978: .ascii "PLLI2SCFGR\000" .LASF277: .ascii "__LLFRACT_IBIT__ 0\000" @@ -5995,7 +6040,7 @@ usart2_write: .ascii "PRIx32 __PRI32(x)\000" .LASF278: .ascii "__LLFRACT_MIN__ (-0.5LLR-0.5LLR)\000" -.LASF945: +.LASF954: .ascii "uint32_t\000" .LASF873: .ascii "RCC_PLLCFGR_PLLN_BIT 6\000" @@ -6049,13 +6094,13 @@ usart2_write: .ascii "__INT_LEAST16_TYPE__ short int\000" .LASF159: .ascii "__FLT_HAS_DENORM__ 1\000" -.LASF914: +.LASF923: .ascii "PINNUM(pin) (pin & 0b1111)\000" .LASF769: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF936: +.LASF945: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -6063,7 +6108,7 @@ usart2_write: .ascii "__FLT32_HAS_INFINITY__ 1\000" .LASF416: .ascii "__thumb__ 1\000" -.LASF927: +.LASF936: .ascii "USART_BRR_MANTISSA_BIT 4\000" .LASF421: .ascii "__ARMEL__ 1\000" @@ -6071,11 +6116,11 @@ usart2_write: .ascii "PRIXLEAST8 __PRI8LEAST(X)\000" .LASF328: .ascii "__HQ_FBIT__ 15\000" -.LASF906: +.LASF914: .ascii "__bool_true_false_are_defined 1\000" -.LASF921: +.LASF930: .ascii "USART_CR1_UE_BIT 13\000" -.LASF911: +.LASF920: .ascii "GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADD" .ascii "R + (GPIO_PORT_OFFSET * port)))\000" .LASF799: @@ -6084,7 +6129,7 @@ usart2_write: .ascii "RCC_CR_HSIRDY_BIT 1\000" .LASF80: .ascii "__SIZE_MAX__ 0xffffffffU\000" -.LASF980: +.LASF989: .ascii "usart2_write\000" .LASF819: .ascii "PRIXFAST64 __PRI64FAST(X)\000" @@ -6104,7 +6149,7 @@ usart2_write: .ascii "SCNuFAST32 __SCN32FAST(u)\000" .LASF523: .ascii "long +4\000" -.LASF948: +.LASF957: .ascii "AHB1RSTR\000" .LASF724: .ascii "SCNx16 __SCN16(x)\000" @@ -6114,7 +6159,7 @@ usart2_write: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF340: .ascii "__USQ_FBIT__ 32\000" -.LASF986: +.LASF995: .ascii "/home/alex/code/own/stm32-falling-sand\000" .LASF797: .ascii "PRIX64 __PRI64(X)\000" @@ -6152,7 +6197,7 @@ usart2_write: .ascii "__DBL_MIN_10_EXP__ (-307)\000" .LASF796: .ascii "PRIx64 __PRI64(x)\000" -.LASF923: +.LASF932: .ascii "USART_CR1_TE_BIT 3\000" .LASF513: .ascii "__int20\000" @@ -6160,7 +6205,7 @@ usart2_write: .ascii "INT_FAST32_MAX (__INT_FAST32_MAX__)\000" .LASF205: .ascii "__FLT32_NORM_MAX__ 3.4028234663852886e+38F32\000" -.LASF903: +.LASF911: .ascii "bool _Bool\000" .LASF632: .ascii "PTRDIFF_MIN (-PTRDIFF_MAX - 1)\000" @@ -6172,7 +6217,7 @@ usart2_write: .ascii "__ULFRACT_IBIT__ 0\000" .LASF852: .ascii "RCC ((struct rcc *) RCC_BASE_ADDR)\000" -.LASF887: +.LASF895: .ascii "RCC_CFGR_HPRE_MASK (0b1111)\000" .LASF72: .ascii "__INT_MAX__ 0x7fffffff\000" diff --git a/build/usart.i b/build/usart.i index 8b07638..6bdf7f6 100644 --- a/build/usart.i +++ b/build/usart.i @@ -2055,6 +2055,19 @@ struct rcc { #define RCC_CFGR_PPRE_DIV_2 (0b100) +#define RCC_CFGR_MCO1_HSE (0b10) +#define RCC_CFGR_MCO1_PLL (0b11) + +#define RCC_CFGR_MCO1_BIT 21 +#define RCC_CFGR_MCO1_MASK (0b11) + +#define RCC_CFGR_MCO1PRE_DIV4 (0b110) +#define RCC_CFGR_MCO1PRE_DIV2 (0b100) + +#define RCC_CFGR_MCO1PRE_BIT 24 +#define RCC_CFGR_MCO1PRE_MASK (0b111) + + #define RCC_CFGR_PPRE2_BIT 13 #define RCC_CFGR_PPRE2_MASK (0b111) @@ -2124,6 +2137,7 @@ struct gpio { }; +#define GPIO_AF_MCO_1 (0b0000) #define GPIO_AF_USART2_RX (0b0111) #define GPIO_AF_USART2_TX (0b0111) @@ -2150,9 +2164,9 @@ typedef enum { void gpio_set_mode(uint16_t pin, GPIO_MODE mode); void gpio_set_af(uint16_t pin, uint8_t af); void gpio_write(uint16_t pin, -# 46 "src/gpio.h" 3 4 +# 47 "src/gpio.h" 3 4 _Bool -# 46 "src/gpio.h" +# 47 "src/gpio.h" val); # 3 "src/usart.c" 2 # 1 "src/usart.h" 1 @@ -2218,16 +2232,14 @@ void usart2_init(void) { uint16_t rxPin = (((('A') - 'A') << 8) | 3); gpio_set_mode(rxPin, GPIO_MODE_AF); gpio_set_af(rxPin, (0b0111)); - - - +# 29 "src/usart.c" ((struct rcc *) (0x40023800U))->APB1ENR |= (1 << 17); ((struct usart *) (0x40004400U))->CR1 = 0; ((struct usart *) (0x40004400U))->CR2 = 0; ((struct usart *) (0x40004400U))->CR3 = 0; -# 43 "src/usart.c" +# 52 "src/usart.c" ((struct usart *) (0x40004400U))->BRR &= ~((0b111111111111) << 4); ((struct usart *) (0x40004400U))->BRR |= (0x1A << 4); ((struct usart *) (0x40004400U))->BRR &= ~((0b111) << 0); diff --git a/build/usart.o b/build/usart.o index b3faefa..7f9a702 100644 Binary files a/build/usart.o and b/build/usart.o differ diff --git a/src/gpio.h b/src/gpio.h index 5b6e159..8aa8c07 100644 --- a/src/gpio.h +++ b/src/gpio.h @@ -18,6 +18,7 @@ struct gpio { }; // AFRH, AFRL registers +#define GPIO_AF_MCO_1 (0b0000) // Alternative function 0 (AF0) #define GPIO_AF_USART2_RX (0b0111) // Alternative function 7 (AF7) #define GPIO_AF_USART2_TX (0b0111) // Alternative function 7 (AF7) diff --git a/src/rcc.h b/src/rcc.h index d898f6b..6f2a831 100644 --- a/src/rcc.h +++ b/src/rcc.h @@ -87,6 +87,19 @@ struct rcc { #define RCC_CFGR_PPRE_DIV_NONE 0 #define RCC_CFGR_PPRE_DIV_2 (0b100) +// Microcontroller clock output 1 +#define RCC_CFGR_MCO1_HSE (0b10) +#define RCC_CFGR_MCO1_PLL (0b11) + +#define RCC_CFGR_MCO1_BIT 21 // Bits [22:21] +#define RCC_CFGR_MCO1_MASK (0b11) + +#define RCC_CFGR_MCO1PRE_DIV4 (0b110) +#define RCC_CFGR_MCO1PRE_DIV2 (0b100) + +#define RCC_CFGR_MCO1PRE_BIT 24 // Bits [26:24] +#define RCC_CFGR_MCO1PRE_MASK (0b111) + // APB2 #define RCC_CFGR_PPRE2_BIT 13 // Bits [15:13] #define RCC_CFGR_PPRE2_MASK (0b111) diff --git a/src/usart.c b/src/usart.c index e90bdaa..9c2a8b0 100644 --- a/src/usart.c +++ b/src/usart.c @@ -15,6 +15,15 @@ void usart2_init(void) { gpio_set_mode(rxPin, GPIO_MODE_AF); gpio_set_af(rxPin, GPIO_AF_USART2_RX); + // Enable MC01; for debugging + /* uint16_t clockOutPin = PIN('A', 8); */ + /* gpio_set_mode(clockOutPin, GPIO_MODE_AF); */ + /* gpio_set_af(clockOutPin, GPIO_AF_MCO_1); */ + /* RCC->CFGR &= ~(RCC_CFGR_MCO1_MASK << RCC_CFGR_MCO1_BIT); */ + /* RCC->CFGR |= (RCC_CFGR_MCO1_HSE << RCC_CFGR_MCO1_BIT); */ + /* RCC->CFGR |= (RCC_CFGR_MCO1_PLL << RCC_CFGR_MCO1_BIT); */ + /* RCC->CFGR &= ~(RCC_CFGR_MCO1PRE_MASK << RCC_CFGR_MCO1PRE_BIT); */ + /* RCC->CFGR |= (RCC_CFGR_MCO1PRE_DIV4 << RCC_CFGR_MCO1PRE_BIT); */ // Enable USART RCC->APB1ENR |= RCC_APB1ENR_USART2EN_ENABLE;