From 152a9ad8a7a8553fe3a392ef0fcb8d364a732a3d Mon Sep 17 00:00:00 2001 From: Alexander Heldt Date: Wed, 1 Jan 2025 11:58:40 +0100 Subject: [PATCH] Remove `BIT` macro --- build/final.elf | Bin 55052 -> 55028 bytes build/final.elf.map | 40 ++--- build/gpio.S | 169 +++++++++--------- build/gpio.i | 5 +- build/gpio.o | Bin 42280 -> 42252 bytes build/main.S | 405 ++++++++++++++++++++++---------------------- build/main.i | 5 +- build/main.o | Bin 48576 -> 48544 bytes src/gpio.h | 1 - src/main.c | 2 +- 10 files changed, 307 insertions(+), 320 deletions(-) diff --git a/build/final.elf b/build/final.elf index e33c69c2a2e56e6c04b23ef014809fd17b1bf246..933203eea664e6c1e395aa953781e7fb8d58e74a 100755 GIT binary patch delta 15821 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 GMHm1QE!3R= delta 15953 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 diff --git a/build/final.elf.map b/build/final.elf.map index 57b4ee1..97283df 100644 --- a/build/final.elf.map +++ b/build/final.elf.map @@ -52,7 +52,7 @@ Discarded input sections .debug_macro 0x00000000 0x89 build/main.o .debug_macro 0x00000000 0x4cc build/main.o .debug_macro 0x00000000 0x22 build/main.o - .debug_macro 0x00000000 0x34 build/main.o + .debug_macro 0x00000000 0x2e build/main.o .group 0x00000000 0xc build/startup.o .group 0x00000000 0xc build/startup.o .group 0x00000000 0xc build/startup.o @@ -294,7 +294,7 @@ LOAD linker stubs .debug_rnglists 0x00000053 0x19 build/timer.o -.debug_macro 0x00000000 0x3ba0 +.debug_macro 0x00000000 0x3b9a .debug_macro 0x00000000 0xb56 build/gpio.o .debug_macro 0x00000b56 0x22 build/gpio.o .debug_macro 0x00000b78 0x75 build/gpio.o @@ -309,17 +309,17 @@ LOAD linker stubs .debug_macro 0x0000108c 0x89 build/gpio.o .debug_macro 0x00001115 0x4cc build/gpio.o .debug_macro 0x000015e1 0x22 build/gpio.o - .debug_macro 0x00001603 0x34 build/gpio.o - .debug_macro 0x00001637 0xb80 build/main.o - .debug_macro 0x000021b7 0x12a build/main.o - .debug_macro 0x000022e1 0x46 build/main.o - .debug_macro 0x00002327 0x2e build/main.o - .debug_macro 0x00002355 0x22 build/main.o - .debug_macro 0x00002377 0xb02 build/startup.o - .debug_macro 0x00002e79 0x56 build/startup.o - .debug_macro 0x00002ecf 0x51 build/startup.o - .debug_macro 0x00002f20 0xb5c build/timer.o - .debug_macro 0x00003a7c 0x124 build/timer.o + .debug_macro 0x00001603 0x2e build/gpio.o + .debug_macro 0x00001631 0xb80 build/main.o + .debug_macro 0x000021b1 0x12a build/main.o + .debug_macro 0x000022db 0x46 build/main.o + .debug_macro 0x00002321 0x2e build/main.o + .debug_macro 0x0000234f 0x22 build/main.o + .debug_macro 0x00002371 0xb02 build/startup.o + .debug_macro 0x00002e73 0x56 build/startup.o + .debug_macro 0x00002ec9 0x51 build/startup.o + .debug_macro 0x00002f1a 0xb5c build/timer.o + .debug_macro 0x00003a76 0x124 build/timer.o .debug_line 0x00000000 0x4b3 .debug_line 0x00000000 0x116 build/gpio.o @@ -327,14 +327,14 @@ LOAD linker stubs .debug_line 0x000002ea 0xea build/startup.o .debug_line 0x000003d4 0xdf build/timer.o -.debug_str 0x00000000 0x5eb4 - .debug_str 0x00000000 0x536f build/gpio.o - 0x5517 (size before relaxing) - .debug_str 0x0000536f 0xab1 build/main.o - 0x5f78 (size before relaxing) - .debug_str 0x00005e20 0x88 build/startup.o +.debug_str 0x00000000 0x5ea4 + .debug_str 0x00000000 0x535f build/gpio.o + 0x5507 (size before relaxing) + .debug_str 0x0000535f 0xab1 build/main.o + 0x5f68 (size before relaxing) + .debug_str 0x00005e10 0x88 build/startup.o 0x3cdc (size before relaxing) - .debug_str 0x00005ea8 0xc build/timer.o + .debug_str 0x00005e98 0xc build/timer.o 0x5b16 (size before relaxing) .comment 0x00000000 0x45 diff --git a/build/gpio.S b/build/gpio.S index 11ce30e..9af46bc 100644 --- a/build/gpio.S +++ b/build/gpio.S @@ -188,10 +188,10 @@ gpio_write: .byte 0x4 .4byte .Ldebug_abbrev0 .uleb128 0x8 - .4byte .LASF894 + .4byte .LASF893 .byte 0x1d + .4byte .LASF894 .4byte .LASF895 - .4byte .LASF896 .4byte .LLRL0 .4byte 0 .4byte .Ldebug_line0 @@ -199,17 +199,17 @@ gpio_write: .uleb128 0x1 .byte 0x1 .byte 0x6 - .4byte .LASF863 + .4byte .LASF862 .uleb128 0x1 .byte 0x1 .byte 0x8 - .4byte .LASF864 + .4byte .LASF863 .uleb128 0x1 .byte 0x2 .byte 0x5 - .4byte .LASF865 + .4byte .LASF864 .uleb128 0x3 - .4byte .LASF868 + .4byte .LASF867 .byte 0x2 .byte 0x39 .byte 0x1c @@ -217,13 +217,13 @@ gpio_write: .uleb128 0x1 .byte 0x2 .byte 0x7 - .4byte .LASF866 + .4byte .LASF865 .uleb128 0x1 .byte 0x4 .byte 0x5 - .4byte .LASF867 + .4byte .LASF866 .uleb128 0x3 - .4byte .LASF869 + .4byte .LASF868 .byte 0x2 .byte 0x4f .byte 0x1b @@ -231,21 +231,21 @@ gpio_write: .uleb128 0x1 .byte 0x4 .byte 0x7 - .4byte .LASF870 + .4byte .LASF869 .uleb128 0x1 .byte 0x8 .byte 0x5 - .4byte .LASF871 + .4byte .LASF870 .uleb128 0x1 .byte 0x8 .byte 0x7 - .4byte .LASF872 + .4byte .LASF871 .uleb128 0x9 .byte 0x4 .byte 0x5 .ascii "int\000" .uleb128 0x3 - .4byte .LASF873 + .4byte .LASF872 .byte 0x2 .byte 0xe8 .byte 0x16 @@ -253,15 +253,15 @@ gpio_write: .uleb128 0x1 .byte 0x4 .byte 0x7 - .4byte .LASF874 + .4byte .LASF873 .uleb128 0x3 - .4byte .LASF875 + .4byte .LASF874 .byte 0x3 .byte 0x24 .byte 0x14 .4byte 0x3f .uleb128 0x3 - .4byte .LASF876 + .4byte .LASF875 .byte 0x3 .byte 0x30 .byte 0x14 @@ -269,35 +269,35 @@ gpio_write: .uleb128 0xa .4byte 0xa0 .uleb128 0x3 - .4byte .LASF877 + .4byte .LASF876 .byte 0x3 .byte 0x52 .byte 0x15 .4byte 0x81 .uleb128 0xb - .4byte .LASF893 + .4byte .LASF892 .byte 0x28 .byte 0x4 .byte 0x7 .byte 0x8 .4byte 0x139 .uleb128 0x2 - .4byte .LASF878 + .4byte .LASF877 .byte 0x8 .4byte 0xac .byte 0 .uleb128 0x2 - .4byte .LASF879 + .4byte .LASF878 .byte 0x9 .4byte 0xac .byte 0x4 .uleb128 0x2 - .4byte .LASF880 + .4byte .LASF879 .byte 0xa .4byte 0xac .byte 0x8 .uleb128 0x2 - .4byte .LASF881 + .4byte .LASF880 .byte 0xb .4byte 0xac .byte 0xc @@ -312,22 +312,22 @@ gpio_write: .4byte 0xac .byte 0x14 .uleb128 0x2 - .4byte .LASF882 + .4byte .LASF881 .byte 0xe .4byte 0xac .byte 0x18 .uleb128 0x2 - .4byte .LASF883 + .4byte .LASF882 .byte 0xf .4byte 0xac .byte 0x1c .uleb128 0x2 - .4byte .LASF884 + .4byte .LASF883 .byte 0x10 .4byte 0xac .byte 0x20 .uleb128 0x2 - .4byte .LASF885 + .4byte .LASF884 .byte 0x11 .4byte 0xac .byte 0x24 @@ -337,30 +337,30 @@ gpio_write: .byte 0x1 .4byte 0x31 .byte 0x4 - .byte 0x20 + .byte 0x1f .byte 0xe .4byte 0x160 .uleb128 0x4 - .4byte .LASF886 + .4byte .LASF885 .byte 0 .uleb128 0x4 - .4byte .LASF887 + .4byte .LASF886 .byte 0x1 .uleb128 0x4 - .4byte .LASF888 + .4byte .LASF887 .byte 0x2 .uleb128 0x4 - .4byte .LASF889 + .4byte .LASF888 .byte 0x3 .byte 0 .uleb128 0x3 - .4byte .LASF890 + .4byte .LASF889 .byte 0x4 - .byte 0x25 + .byte 0x24 .byte 0x3 .4byte 0x139 .uleb128 0xd - .4byte .LASF897 + .4byte .LASF896 .byte 0x1 .byte 0xd .byte 0x6 @@ -386,7 +386,7 @@ gpio_write: .byte 0x91 .sleb128 -19 .uleb128 0x7 - .4byte .LASF893 + .4byte .LASF892 .byte 0xe .4byte 0x1b3 .uleb128 0x2 @@ -396,12 +396,12 @@ gpio_write: .uleb128 0x1 .byte 0x1 .byte 0x2 - .4byte .LASF891 + .4byte .LASF890 .uleb128 0xe .byte 0x4 .4byte 0xbd .uleb128 0xf - .4byte .LASF898 + .4byte .LASF897 .byte 0x1 .byte 0x6 .byte 0x6 @@ -418,7 +418,7 @@ gpio_write: .byte 0x91 .sleb128 -18 .uleb128 0x10 - .4byte .LASF892 + .4byte .LASF891 .byte 0x1 .byte 0x6 .byte 0x2c @@ -427,7 +427,7 @@ gpio_write: .byte 0x91 .sleb128 -19 .uleb128 0x7 - .4byte .LASF893 + .4byte .LASF892 .byte 0x7 .4byte 0x1b3 .uleb128 0x2 @@ -3525,7 +3525,7 @@ gpio_write: .uleb128 0x32 .4byte .LASF854 .byte 0 - .section .debug_macro,"G",%progbits,wm4.gpio.h.2.d78c96d470f4347bf35ed0e3d72ef81e,comdat + .section .debug_macro,"G",%progbits,wm4.gpio.h.2.ca8518d3facb6a329deaeb59004fd0a1,comdat .Ldebug_macro15: .2byte 0x5 .byte 0 @@ -3542,17 +3542,14 @@ gpio_write: .uleb128 0x16 .4byte .LASF858 .byte 0x5 - .uleb128 0x18 + .uleb128 0x19 .4byte .LASF859 .byte 0x5 - .uleb128 0x1a + .uleb128 0x1b .4byte .LASF860 .byte 0x5 - .uleb128 0x1c + .uleb128 0x1d .4byte .LASF861 - .byte 0x5 - .uleb128 0x1e - .4byte .LASF862 .byte 0 .section .debug_line,"",%progbits .Ldebug_line0: @@ -3597,7 +3594,7 @@ gpio_write: .ascii "__PTRDIFF_MAX__ 0x7fffffff\000" .LASF541: .ascii "_LONG_DOUBLE long double\000" -.LASF893: +.LASF892: .ascii "gpio\000" .LASF591: .ascii "INT_LEAST8_MIN (-__INT_LEAST8_MAX__ - 1)\000" @@ -3605,7 +3602,7 @@ gpio_write: .ascii "_UINT32_T_DECLARED \000" .LASF90: .ascii "__INTMAX_MAX__ 0x7fffffffffffffffLL\000" -.LASF888: +.LASF887: .ascii "GPIO_MODE_AF\000" .LASF335: .ascii "__TQ_IBIT__ 0\000" @@ -3719,7 +3716,7 @@ gpio_write: .ascii "__need_wchar_t\000" .LASF199: .ascii "__FLT32_MIN_EXP__ (-125)\000" -.LASF894: +.LASF893: .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" @@ -3840,7 +3837,7 @@ gpio_write: .ascii "PRId64 __PRI64(d)\000" .LASF302: .ascii "__UACCUM_IBIT__ 16\000" -.LASF867: +.LASF866: .ascii "long int\000" .LASF818: .ascii "PRIXFAST64 __PRI64FAST(X)\000" @@ -3936,7 +3933,7 @@ gpio_write: .ascii "PRIoLEAST16 __PRI16LEAST(o)\000" .LASF458: .ascii "__NEWLIB__ 4\000" -.LASF886: +.LASF885: .ascii "GPIO_MODE_INPUT\000" .LASF720: .ascii "SCNi16 __SCN16(i)\000" @@ -3946,7 +3943,7 @@ gpio_write: .ascii "__FLT_DECIMAL_DIG__ 9\000" .LASF562: .ascii "_UINT8_T_DECLARED \000" -.LASF863: +.LASF862: .ascii "signed char\000" .LASF805: .ascii "PRIuLEAST64 __PRI64LEAST(u)\000" @@ -3958,7 +3955,7 @@ gpio_write: .ascii "__ARM_FEATURE_FMA 1\000" .LASF364: .ascii "__GNUC_STDC_INLINE__ 1\000" -.LASF890: +.LASF889: .ascii "GPIO_MODE\000" .LASF256: .ascii "__FRACT_FBIT__ 15\000" @@ -3982,7 +3979,7 @@ gpio_write: .ascii "__FLT64_MAX_10_EXP__ 308\000" .LASF65: .ascii "__UINT_FAST32_TYPE__ unsigned int\000" -.LASF864: +.LASF863: .ascii "unsigned char\000" .LASF3: .ascii "__STDC_UTF_32__ 1\000" @@ -4030,13 +4027,13 @@ gpio_write: .ascii "__int_fast64_t_defined 1\000" .LASF837: .ascii "__PRIPTR(x) __STRINGIFY(x)\000" -.LASF875: +.LASF874: .ascii "uint16_t\000" .LASF417: .ascii "__thumb2__ 1\000" .LASF321: .ascii "__ULLACCUM_FBIT__ 32\000" -.LASF891: +.LASF890: .ascii "_Bool\000" .LASF366: .ascii "__STRICT_ANSI__ 1\000" @@ -4054,7 +4051,7 @@ gpio_write: .ascii "__PRAGMA_REDEFINE_EXTNAME 1\000" .LASF36: .ascii "__WCHAR_TYPE__ unsigned int\000" -.LASF887: +.LASF886: .ascii "GPIO_MODE_OUTPUT\000" .LASF357: .ascii "__USA_IBIT__ 16\000" @@ -4092,7 +4089,7 @@ gpio_write: .ascii "__SCN64(x) __INT64 __STRINGIFY(x)\000" .LASF646: .ascii "_GCC_WRAP_STDINT_H \000" -.LASF868: +.LASF867: .ascii "__uint16_t\000" .LASF224: .ascii "__FLT64_EPSILON__ 2.2204460492503131e-16F64\000" @@ -4120,8 +4117,6 @@ gpio_write: .ascii "INTMAX_MAX (__INTMAX_MAX__)\000" .LASF601: .ascii "INT32_MAX (__INT32_MAX__)\000" -.LASF859: - .ascii "BIT(x) (1 << x)\000" .LASF469: .ascii "_MB_LEN_MAX 8\000" .LASF69: @@ -4150,7 +4145,7 @@ gpio_write: .ascii "__FLT_EPSILON__ 1.1920928955078125e-7F\000" .LASF376: .ascii "__GCC_ATOMIC_SHORT_LOCK_FREE 2\000" -.LASF860: +.LASF859: .ascii "PIN(port,num) ((((port) - 'A') << 8) | num)\000" .LASF806: .ascii "PRIxLEAST64 __PRI64LEAST(x)\000" @@ -4306,7 +4301,7 @@ gpio_write: .ascii "___int8_t_defined 1\000" .LASF248: .ascii "__SFRACT_MIN__ (-0.5HR-0.5HR)\000" -.LASF870: +.LASF869: .ascii "long unsigned int\000" .LASF349: .ascii "__SA_IBIT__ 16\000" @@ -4322,7 +4317,7 @@ gpio_write: .ascii "__ARM_FP16_FORMAT_IEEE\000" .LASF48: .ascii "__UINT16_TYPE__ short unsigned int\000" -.LASF897: +.LASF896: .ascii "gpio_write\000" .LASF569: .ascii "__int32_t_defined 1\000" @@ -4366,7 +4361,7 @@ gpio_write: .ascii "SCNx8 __SCN8(x)\000" .LASF208: .ascii "__FLT32_DENORM_MIN__ 1.4012984643248171e-45F32\000" -.LASF898: +.LASF897: .ascii "gpio_set_mode\000" .LASF125: .ascii "__UINT64_C(c) c ## ULL\000" @@ -4386,7 +4381,7 @@ gpio_write: .ascii "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2\000" .LASF789: .ascii "__PRI64FAST(x) __FAST64 __STRINGIFY(x)\000" -.LASF877: +.LASF876: .ascii "uintptr_t\000" .LASF168: .ascii "__DBL_MAX_EXP__ 1024\000" @@ -4434,7 +4429,7 @@ gpio_write: .ascii "PRIX32 __PRI32(X)\000" .LASF773: .ascii "SCNxLEAST32 __SCN32LEAST(x)\000" -.LASF880: +.LASF879: .ascii "OSPEEDR\000" .LASF711: .ascii "__SCN16LEAST(x) __LEAST16 __STRINGIFY(x)\000" @@ -4464,7 +4459,7 @@ gpio_write: .ascii "__ULACCUM_MIN__ 0.0ULK\000" .LASF461: .ascii "_ATEXIT_DYNAMIC_ALLOC 1\000" -.LASF869: +.LASF868: .ascii "__uint32_t\000" .LASF188: .ascii "__LDBL_MAX__ 1.7976931348623157e+308L\000" @@ -4474,7 +4469,7 @@ gpio_write: .ascii "__FLT_RADIX__ 2\000" .LASF454: .ascii "_INTTYPES_H \000" -.LASF871: +.LASF870: .ascii "long long int\000" .LASF401: .ascii "__ARM_FEATURE_CMSE\000" @@ -4579,7 +4574,7 @@ gpio_write: .ascii "\000" .LASF582: .ascii "__int_fast16_t_defined 1\000" -.LASF878: +.LASF877: .ascii "MODER\000" .LASF482: .ascii "__FLOAT_TYPE float\000" @@ -4590,9 +4585,9 @@ gpio_write: .ascii "L)\000" .LASF607: .ascii "INT64_MAX (__INT64_MAX__)\000" -.LASF874: - .ascii "unsigned int\000" .LASF873: + .ascii "unsigned int\000" +.LASF872: .ascii "__uintptr_t\000" .LASF459: .ascii "__NEWLIB_MINOR__ 3\000" @@ -4624,7 +4619,7 @@ gpio_write: .ascii "__CHAR_BIT__ 8\000" .LASF143: .ascii "__FLT_EVAL_METHOD__ 0\000" -.LASF865: +.LASF864: .ascii "short int\000" .LASF685: .ascii "PRIdLEAST8 __PRI8LEAST(d)\000" @@ -4762,7 +4757,7 @@ gpio_write: .ascii "SCNuFAST16 __SCN16FAST(u)\000" .LASF801: .ascii "SCNx64 __SCN64(x)\000" -.LASF862: +.LASF861: .ascii "PINPORT(pin) (pin >> 8)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" @@ -4810,7 +4805,7 @@ gpio_write: .ascii "__ORDER_LITTLE_ENDIAN__ 1234\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF872: +.LASF871: .ascii "long long unsigned int\000" .LASF611: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" @@ -4888,11 +4883,11 @@ gpio_write: .ascii "SCNdFAST8 __SCN8FAST(d)\000" .LASF576: .ascii "_UINTPTR_T_DECLARED \000" -.LASF885: +.LASF884: .ascii "AFRH\000" .LASF314: .ascii "__ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK\000" -.LASF884: +.LASF883: .ascii "AFRL\000" .LASF273: .ascii "__ULFRACT_MIN__ 0.0ULR\000" @@ -4906,7 +4901,7 @@ gpio_write: .ascii "__INT32_TYPE__ long int\000" .LASF118: .ascii "__UINT_LEAST8_MAX__ 0xff\000" -.LASF883: +.LASF882: .ascii "LCKR\000" .LASF520: .ascii "__int20__ +2\000" @@ -4952,7 +4947,7 @@ gpio_write: .ascii "__QQ_IBIT__ 0\000" .LASF763: .ascii "PRIdLEAST32 __PRI32LEAST(d)\000" -.LASF879: +.LASF878: .ascii "OTYPER\000" .LASF811: .ascii "SCNuLEAST64 __SCN64LEAST(u)\000" @@ -4972,7 +4967,7 @@ gpio_write: .ascii "__GNUC_MINOR__ 3\000" .LASF57: .ascii "__UINT_LEAST32_TYPE__ long unsigned int\000" -.LASF895: +.LASF894: .ascii "src/gpio.c\000" .LASF405: .ascii "__ARM_FEATURE_NUMERIC_MAXMIN\000" @@ -5046,7 +5041,7 @@ gpio_write: .ascii "__ACCUM_IBIT__ 16\000" .LASF509: .ascii "unsigned\000" -.LASF881: +.LASF880: .ascii "PUPDR\000" .LASF835: .ascii "SCNuMAX __SCNMAX(u)\000" @@ -5056,7 +5051,7 @@ gpio_write: .ascii "_ATTRIBUTE(attrs) __attribute__ (attrs)\000" .LASF359: .ascii "__UDA_IBIT__ 32\000" -.LASF892: +.LASF891: .ascii "mode\000" .LASF586: .ascii "INTPTR_MAX (__INTPTR_MAX__)\000" @@ -5070,7 +5065,7 @@ gpio_write: .ascii "__UHQ_FBIT__ 16\000" .LASF443: .ascii "__ARM_FEATURE_COPROC\000" -.LASF889: +.LASF888: .ascii "GPIO_MODE_ANALOG\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" @@ -5108,7 +5103,7 @@ gpio_write: .ascii "__FAST8 \000" .LASF496: .ascii "__XSI_VISIBLE 0\000" -.LASF882: +.LASF881: .ascii "BSRR\000" .LASF794: .ascii "PRIu64 __PRI64(u)\000" @@ -5196,7 +5191,7 @@ gpio_write: .ascii "PRIx32 __PRI32(x)\000" .LASF278: .ascii "__LLFRACT_MIN__ (-0.5LLR-0.5LLR)\000" -.LASF876: +.LASF875: .ascii "uint32_t\000" .LASF689: .ascii "PRIxLEAST8 __PRI8LEAST(x)\000" @@ -5244,13 +5239,13 @@ gpio_write: .ascii "__INT_LEAST16_TYPE__ short int\000" .LASF326: .ascii "__QQ_FBIT__ 7\000" -.LASF861: +.LASF860: .ascii "PINNUM(pin) (pin & 0b1111)\000" .LASF768: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF866: +.LASF865: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -5298,7 +5293,7 @@ gpio_write: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF280: .ascii "__LLFRACT_EPSILON__ 0x1P-63LLR\000" -.LASF896: +.LASF895: .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 e5588a3..8601f4c 100644 --- a/build/gpio.i +++ b/build/gpio.i @@ -2003,7 +2003,6 @@ struct gpio { #define GPIO_PORT_OFFSET (0x400U) #define GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADDR + (GPIO_PORT_OFFSET * port))) -#define BIT(x) (1 << x) #define PIN(port,num) ((((port) - 'A') << 8) | num) @@ -2020,9 +2019,9 @@ typedef enum { void gpio_set_mode(uint16_t pin, GPIO_MODE mode); void gpio_write(uint16_t pin, -# 40 "src/gpio.h" 3 4 +# 39 "src/gpio.h" 3 4 _Bool -# 40 "src/gpio.h" +# 39 "src/gpio.h" val); # 5 "src/gpio.c" 2 diff --git a/build/gpio.o b/build/gpio.o index 6fcc9010e5320fc9e738f8d055f1e154ee32cfa4..c02e7ce305bc89b98f8db677db92d2e225480f79 100644 GIT binary patch delta 5923 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 D&A`$Z diff --git a/build/main.S b/build/main.S index 323a419..97dea73 100644 --- a/build/main.S +++ b/build/main.S @@ -352,10 +352,10 @@ main: .byte 0x4 .4byte .Ldebug_abbrev0 .uleb128 0xd - .4byte .LASF1002 + .4byte .LASF1001 .byte 0x1d + .4byte .LASF1002 .4byte .LASF1003 - .4byte .LASF1004 .4byte .LLRL0 .4byte 0 .4byte .Ldebug_line0 @@ -363,17 +363,17 @@ main: .uleb128 0x3 .byte 0x1 .byte 0x6 - .4byte .LASF936 + .4byte .LASF935 .uleb128 0x3 .byte 0x1 .byte 0x8 - .4byte .LASF937 + .4byte .LASF936 .uleb128 0x3 .byte 0x2 .byte 0x5 - .4byte .LASF938 + .4byte .LASF937 .uleb128 0x4 - .4byte .LASF941 + .4byte .LASF940 .byte 0x2 .byte 0x39 .byte 0x1c @@ -381,13 +381,13 @@ main: .uleb128 0x3 .byte 0x2 .byte 0x7 - .4byte .LASF939 + .4byte .LASF938 .uleb128 0x3 .byte 0x4 .byte 0x5 - .4byte .LASF940 + .4byte .LASF939 .uleb128 0x4 - .4byte .LASF942 + .4byte .LASF941 .byte 0x2 .byte 0x4f .byte 0x1b @@ -395,15 +395,15 @@ main: .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF943 + .4byte .LASF942 .uleb128 0x3 .byte 0x8 .byte 0x5 - .4byte .LASF944 + .4byte .LASF943 .uleb128 0x3 .byte 0x8 .byte 0x7 - .4byte .LASF945 + .4byte .LASF944 .uleb128 0xe .byte 0x4 .byte 0x5 @@ -411,15 +411,15 @@ main: .uleb128 0x3 .byte 0x4 .byte 0x7 - .4byte .LASF946 + .4byte .LASF945 .uleb128 0x4 - .4byte .LASF947 + .4byte .LASF946 .byte 0x3 .byte 0x24 .byte 0x14 .4byte 0x3f .uleb128 0x4 - .4byte .LASF948 + .4byte .LASF947 .byte 0x3 .byte 0x30 .byte 0x14 @@ -438,13 +438,13 @@ main: .4byte 0xa0 .byte 0 .uleb128 0x1 - .4byte .LASF949 + .4byte .LASF948 .byte 0x4 .byte 0x8 .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF950 + .4byte .LASF949 .byte 0x4 .byte 0x9 .4byte 0xa0 @@ -456,115 +456,115 @@ main: .4byte 0xa0 .byte 0xc .uleb128 0x1 - .4byte .LASF951 + .4byte .LASF950 .byte 0x4 .byte 0xb .4byte 0xa0 .byte 0x10 .uleb128 0x1 - .4byte .LASF952 + .4byte .LASF951 .byte 0x4 .byte 0xc .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF953 + .4byte .LASF952 .byte 0x4 .byte 0xd .4byte 0x210 .byte 0x18 .uleb128 0x1 - .4byte .LASF954 + .4byte .LASF953 .byte 0x4 .byte 0xe .4byte 0xa0 .byte 0x20 .uleb128 0x1 - .4byte .LASF955 + .4byte .LASF954 .byte 0x4 .byte 0xf .4byte 0xa0 .byte 0x24 .uleb128 0x1 - .4byte .LASF956 + .4byte .LASF955 .byte 0x4 .byte 0x10 .4byte 0x210 .byte 0x28 .uleb128 0x1 - .4byte .LASF957 + .4byte .LASF956 .byte 0x4 .byte 0x11 .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF958 + .4byte .LASF957 .byte 0x4 .byte 0x12 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF959 + .4byte .LASF958 .byte 0x4 .byte 0x13 .4byte 0x210 .byte 0x38 .uleb128 0x1 - .4byte .LASF960 + .4byte .LASF959 .byte 0x4 .byte 0x14 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF961 + .4byte .LASF960 .byte 0x4 .byte 0x15 .4byte 0xa0 .byte 0x44 .uleb128 0x1 - .4byte .LASF962 + .4byte .LASF961 .byte 0x4 .byte 0x16 .4byte 0x210 .byte 0x48 .uleb128 0x1 - .4byte .LASF963 + .4byte .LASF962 .byte 0x4 .byte 0x17 .4byte 0xa0 .byte 0x50 .uleb128 0x1 - .4byte .LASF964 + .4byte .LASF963 .byte 0x4 .byte 0x18 .4byte 0xa0 .byte 0x54 .uleb128 0x1 - .4byte .LASF965 + .4byte .LASF964 .byte 0x4 .byte 0x19 .4byte 0x210 .byte 0x58 .uleb128 0x1 - .4byte .LASF966 + .4byte .LASF965 .byte 0x4 .byte 0x1a .4byte 0xa0 .byte 0x60 .uleb128 0x1 - .4byte .LASF967 + .4byte .LASF966 .byte 0x4 .byte 0x1b .4byte 0xa0 .byte 0x64 .uleb128 0x1 - .4byte .LASF968 + .4byte .LASF967 .byte 0x4 .byte 0x1c .4byte 0x210 .byte 0x68 .uleb128 0x1 - .4byte .LASF969 + .4byte .LASF968 .byte 0x4 .byte 0x1d .4byte 0xa0 @@ -576,25 +576,25 @@ main: .4byte 0xa0 .byte 0x74 .uleb128 0x1 - .4byte .LASF970 + .4byte .LASF969 .byte 0x4 .byte 0x1f .4byte 0x210 .byte 0x78 .uleb128 0x1 - .4byte .LASF971 + .4byte .LASF970 .byte 0x4 .byte 0x20 .4byte 0xa0 .byte 0x80 .uleb128 0x1 - .4byte .LASF972 + .4byte .LASF971 .byte 0x4 .byte 0x21 .4byte 0xa0 .byte 0x84 .uleb128 0x1 - .4byte .LASF973 + .4byte .LASF972 .byte 0x4 .byte 0x22 .4byte 0xa0 @@ -614,30 +614,30 @@ main: .byte 0x1 .4byte 0x31 .byte 0x5 - .byte 0x20 + .byte 0x1f .byte 0xe .4byte 0x23c .uleb128 0x5 - .4byte .LASF974 + .4byte .LASF973 .byte 0 .uleb128 0x5 - .4byte .LASF975 + .4byte .LASF974 .byte 0x1 .uleb128 0x5 - .4byte .LASF976 + .4byte .LASF975 .byte 0x2 .uleb128 0x5 - .4byte .LASF977 + .4byte .LASF976 .byte 0x3 .byte 0 .uleb128 0x4 - .4byte .LASF978 + .4byte .LASF977 .byte 0x5 - .byte 0x25 + .byte 0x24 .byte 0x3 .4byte 0x215 .uleb128 0x9 - .4byte .LASF979 + .4byte .LASF978 .byte 0x18 .byte 0x6 .4byte 0x29a @@ -648,13 +648,13 @@ main: .4byte 0xa0 .byte 0 .uleb128 0x1 - .4byte .LASF980 + .4byte .LASF979 .byte 0x6 .byte 0x8 .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF981 + .4byte .LASF980 .byte 0x6 .byte 0x9 .4byte 0xa0 @@ -672,7 +672,7 @@ main: .4byte 0xa0 .byte 0x10 .uleb128 0x1 - .4byte .LASF982 + .4byte .LASF981 .byte 0x6 .byte 0xc .4byte 0xa0 @@ -697,7 +697,7 @@ main: .byte 0x4 .byte 0 .uleb128 0x9 - .4byte .LASF983 + .4byte .LASF982 .byte 0x50 .byte 0x8 .4byte 0x3b8 @@ -714,13 +714,13 @@ main: .4byte 0xa0 .byte 0x4 .uleb128 0x1 - .4byte .LASF984 + .4byte .LASF983 .byte 0x8 .byte 0x9 .4byte 0xa0 .byte 0x8 .uleb128 0x1 - .4byte .LASF985 + .4byte .LASF984 .byte 0x8 .byte 0xa .4byte 0xa0 @@ -738,19 +738,19 @@ main: .4byte 0xa0 .byte 0x14 .uleb128 0x1 - .4byte .LASF986 + .4byte .LASF985 .byte 0x8 .byte 0xd .4byte 0xa0 .byte 0x18 .uleb128 0x1 - .4byte .LASF987 + .4byte .LASF986 .byte 0x8 .byte 0xe .4byte 0xa0 .byte 0x1c .uleb128 0x1 - .4byte .LASF988 + .4byte .LASF987 .byte 0x8 .byte 0xf .4byte 0xa0 @@ -780,31 +780,31 @@ main: .4byte 0xa0 .byte 0x30 .uleb128 0x1 - .4byte .LASF989 + .4byte .LASF988 .byte 0x8 .byte 0x14 .4byte 0xa0 .byte 0x34 .uleb128 0x1 - .4byte .LASF990 + .4byte .LASF989 .byte 0x8 .byte 0x15 .4byte 0xa0 .byte 0x38 .uleb128 0x1 - .4byte .LASF991 + .4byte .LASF990 .byte 0x8 .byte 0x16 .4byte 0xa0 .byte 0x3c .uleb128 0x1 - .4byte .LASF992 + .4byte .LASF991 .byte 0x8 .byte 0x17 .4byte 0xa0 .byte 0x40 .uleb128 0x1 - .4byte .LASF993 + .4byte .LASF992 .byte 0x8 .byte 0x18 .4byte 0xa0 @@ -816,15 +816,15 @@ main: .4byte 0xa0 .byte 0x48 .uleb128 0x1 - .4byte .LASF994 + .4byte .LASF993 .byte 0x8 .byte 0x1a .4byte 0xa0 .byte 0x4c .byte 0 .uleb128 0xa - .4byte .LASF996 - .byte 0x28 + .4byte .LASF995 + .byte 0x27 .4byte 0x3cd .uleb128 0x6 .4byte 0x88 @@ -834,10 +834,10 @@ main: .uleb128 0x3 .byte 0x1 .byte 0x2 - .4byte .LASF995 + .4byte .LASF994 .uleb128 0xa - .4byte .LASF997 - .byte 0x27 + .4byte .LASF996 + .byte 0x26 .4byte 0x3e9 .uleb128 0x6 .4byte 0x88 @@ -845,13 +845,13 @@ main: .4byte 0x23c .byte 0 .uleb128 0xb - .4byte .LASF998 + .4byte .LASF997 .byte 0x24 .uleb128 0xb - .4byte .LASF999 + .4byte .LASF998 .byte 0x23 .uleb128 0x12 - .4byte .LASF1005 + .4byte .LASF1004 .byte 0x1 .byte 0x4b .byte 0x5 @@ -871,7 +871,7 @@ main: .byte 0x91 .sleb128 -14 .uleb128 0xc - .4byte .LASF1000 + .4byte .LASF999 .byte 0x55 .byte 0xc .4byte 0x88 @@ -879,7 +879,7 @@ main: .byte 0x91 .sleb128 -10 .uleb128 0xc - .4byte .LASF1001 + .4byte .LASF1000 .byte 0x56 .byte 0x7 .4byte 0x3cd @@ -888,7 +888,7 @@ main: .sleb128 -11 .byte 0 .uleb128 0x14 - .4byte .LASF1006 + .4byte .LASF1005 .byte 0x1 .byte 0xc .byte 0xd @@ -2768,7 +2768,7 @@ main: .byte 0x4 .byte 0x5 .uleb128 0xa - .4byte .LASF935 + .4byte .LASF934 .byte 0x4 .byte 0 .section .debug_macro,"G",%progbits,wm4._newlib_version.h.4.6d111ab2e95434b664b53815e5c8ccba,comdat @@ -4200,7 +4200,7 @@ main: .uleb128 0x7a .4byte .LASF903 .byte 0 - .section .debug_macro,"G",%progbits,wm4.gpio.h.2.d78c96d470f4347bf35ed0e3d72ef81e,comdat + .section .debug_macro,"G",%progbits,wm4.gpio.h.2.ca8518d3facb6a329deaeb59004fd0a1,comdat .Ldebug_macro16: .2byte 0x5 .byte 0 @@ -4217,17 +4217,14 @@ main: .uleb128 0x16 .4byte .LASF907 .byte 0x5 - .uleb128 0x18 + .uleb128 0x19 .4byte .LASF908 .byte 0x5 - .uleb128 0x1a + .uleb128 0x1b .4byte .LASF909 .byte 0x5 - .uleb128 0x1c + .uleb128 0x1d .4byte .LASF910 - .byte 0x5 - .uleb128 0x1e - .4byte .LASF911 .byte 0 .section .debug_macro,"G",%progbits,wm4.flash.h.2.51d6f0499046dca8c8d7cee08875e55f,comdat .Ldebug_macro17: @@ -4235,37 +4232,37 @@ main: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF912 + .4byte .LASF911 .byte 0x5 .uleb128 0xf - .4byte .LASF913 + .4byte .LASF912 .byte 0x5 .uleb128 0x10 - .4byte .LASF914 + .4byte .LASF913 .byte 0x5 .uleb128 0x14 - .4byte .LASF915 + .4byte .LASF914 .byte 0x5 .uleb128 0x15 - .4byte .LASF916 + .4byte .LASF915 .byte 0x5 .uleb128 0x18 - .4byte .LASF917 + .4byte .LASF916 .byte 0x5 .uleb128 0x19 - .4byte .LASF918 + .4byte .LASF917 .byte 0x5 .uleb128 0x1c - .4byte .LASF919 + .4byte .LASF918 .byte 0x5 .uleb128 0x1e - .4byte .LASF920 + .4byte .LASF919 .byte 0x5 .uleb128 0x1f - .4byte .LASF921 + .4byte .LASF920 .byte 0x5 .uleb128 0x20 - .4byte .LASF922 + .4byte .LASF921 .byte 0 .section .debug_macro,"G",%progbits,wm4.pwr.h.2.b22d01f8fafa27268c4600cc8f787804,comdat .Ldebug_macro18: @@ -4273,25 +4270,25 @@ main: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF923 + .4byte .LASF922 .byte 0x5 .uleb128 0xb - .4byte .LASF924 + .4byte .LASF923 .byte 0x5 .uleb128 0xc - .4byte .LASF925 + .4byte .LASF924 .byte 0x5 .uleb128 0xf - .4byte .LASF926 + .4byte .LASF925 .byte 0x5 .uleb128 0x12 - .4byte .LASF927 + .4byte .LASF926 .byte 0x5 .uleb128 0x13 - .4byte .LASF928 + .4byte .LASF927 .byte 0x5 .uleb128 0x14 - .4byte .LASF929 + .4byte .LASF928 .byte 0 .section .debug_macro,"G",%progbits,wm4.timer.h.2.2e929ede818fb0960868f1b0a08a1cbf,comdat .Ldebug_macro19: @@ -4299,19 +4296,19 @@ main: .byte 0 .byte 0x5 .uleb128 0x2 - .4byte .LASF930 + .4byte .LASF929 .byte 0x5 .uleb128 0x1d - .4byte .LASF931 + .4byte .LASF930 .byte 0x5 .uleb128 0x1e - .4byte .LASF932 + .4byte .LASF931 .byte 0x5 .uleb128 0x20 - .4byte .LASF933 + .4byte .LASF932 .byte 0x5 .uleb128 0x21 - .4byte .LASF934 + .4byte .LASF933 .byte 0 .section .debug_line,"",%progbits .Ldebug_line0: @@ -4328,7 +4325,7 @@ main: .ascii "__UHA_FBIT__ 8\000" .LASF814: .ascii "PRIiFAST64 __PRI64FAST(i)\000" -.LASF937: +.LASF936: .ascii "unsigned char\000" .LASF225: .ascii "__FLT64_DENORM_MIN__ 4.9406564584124654e-324F64\000" @@ -4358,7 +4355,7 @@ main: .ascii "__WINT_MIN__ 0U\000" .LASF90: .ascii "__INTMAX_MAX__ 0x7fffffffffffffffLL\000" -.LASF976: +.LASF975: .ascii "GPIO_MODE_AF\000" .LASF335: .ascii "__TQ_IBIT__ 0\000" @@ -4384,7 +4381,7 @@ main: .ascii "__FRACT_MIN__ (-0.5R-0.5R)\000" .LASF324: .ascii "__ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULLK\000" -.LASF979: +.LASF978: .ascii "flash\000" .LASF294: .ascii "__USACCUM_MAX__ 0XFFFFP-8UHK\000" @@ -4459,9 +4456,9 @@ main: .ascii "_LDBL_EQ_DBL 1\000" .LASF675: .ascii "PRIi8 __PRI8(i)\000" -.LASF918: +.LASF917: .ascii "FLASH_ACR_ICEN_ENABLE (1 <> 8)\000" .LASF198: .ascii "__FLT32_DIG__ 6\000" @@ -5699,13 +5694,13 @@ main: .ascii "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1\000" .LASF733: .ascii "SCNuLEAST16 __SCN16LEAST(u)\000" -.LASF954: +.LASF953: .ascii "APB1RSTR\000" .LASF298: .ascii "__ACCUM_MIN__ (-0X1P15K-0X1P15K)\000" .LASF393: .ascii "__ARM_FEATURE_CRYPTO\000" -.LASF960: +.LASF959: .ascii "APB1ENR\000" .LASF741: .ascii "SCNdFAST16 __SCN16FAST(d)\000" @@ -5735,7 +5730,7 @@ main: .ascii ")\000" .LASF155: .ascii "__FLT_NORM_MAX__ 3.4028234663852886e+38F\000" -.LASF945: +.LASF944: .ascii "long long unsigned int\000" .LASF611: .ascii "UINT_LEAST64_MAX (__UINT_LEAST64_MAX__)\000" @@ -5782,11 +5777,11 @@ main: .ascii " RCC_PLLCFGR_PLLN_BIT)\000" .LASF56: .ascii "__UINT_LEAST16_TYPE__ short unsigned int\000" -.LASF926: +.LASF925: .ascii "PWR_SCALE3 (0b11)\000" .LASF573: .ascii "_INTMAX_T_DECLARED \000" -.LASF988: +.LASF987: .ascii "CCER\000" .LASF40: .ascii "__CHAR16_TYPE__ short unsigned int\000" @@ -5844,15 +5839,15 @@ main: .ascii "__int20__ +2\000" .LASF654: .ascii "_WCHAR_T_ \000" -.LASF984: +.LASF983: .ascii "SMCR\000" .LASF828: .ascii "PRIoMAX __PRIMAX(o)\000" .LASF747: .ascii "__SCN32(x) __INT32 __STRINGIFY(x)\000" -.LASF921: +.LASF920: .ascii "FLASH_ACR_LATENCY_MASK (0b1111)\000" -.LASF974: +.LASF973: .ascii "GPIO_MODE_INPUT\000" .LASF743: .ascii "SCNoFAST16 __SCN16FAST(o)\000" @@ -5918,7 +5913,7 @@ main: .ascii "__ARM_ARCH_7EM__ 1\000" .LASF428: .ascii "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC\000" -.LASF957: +.LASF956: .ascii "AHB1ENR\000" .LASF295: .ascii "__USACCUM_EPSILON__ 0x1P-8UHK\000" @@ -5958,7 +5953,7 @@ main: .ascii "__DBL_DIG__ 15\000" .LASF275: .ascii "__ULFRACT_EPSILON__ 0x1P-32ULR\000" -.LASF952: +.LASF951: .ascii "AHB2RSTR\000" .LASF671: .ascii "__SCN8(x) __INT8 __STRINGIFY(x)\000" @@ -5982,13 +5977,13 @@ main: .ascii "__LDBL_MIN__ 2.2250738585072014e-308L\000" .LASF445: .ascii "__ARM_FEATURE_CDE\000" -.LASF980: +.LASF979: .ascii "KEYR\000" .LASF509: .ascii "unsigned\000" .LASF381: .ascii "__GCC_DESTRUCTIVE_SIZE 64\000" -.LASF938: +.LASF937: .ascii "short int\000" .LASF835: .ascii "SCNuMAX __SCNMAX(u)\000" @@ -6012,11 +6007,11 @@ main: .ascii "_ATTRIBUTE(attrs) __attribute__ (attrs)\000" .LASF443: .ascii "__ARM_FEATURE_COPROC\000" -.LASF977: +.LASF976: .ascii "GPIO_MODE_ANALOG\000" .LASF177: .ascii "__DBL_HAS_INFINITY__ 1\000" -.LASF932: +.LASF931: .ascii "TIM4 ((struct timer *) TIM4_BASE_ADDR)\000" .LASF95: .ascii "__SIG_ATOMIC_MAX__ 0x7fffffff\000" @@ -6024,7 +6019,7 @@ main: .ascii "UINT64_MAX (__UINT64_MAX__)\000" .LASF471: .ascii "_RETARGETABLE_LOCKING 1\000" -.LASF915: +.LASF914: .ascii "FLASH_ACR_DCEN_BIT 10\000" .LASF453: .ascii "__USES_INITFINI__ 1\000" @@ -6096,11 +6091,11 @@ main: .ascii "__LDBL_DECIMAL_DIG__ 17\000" .LASF701: .ascii "PRIXFAST8 __PRI8FAST(X)\000" -.LASF1001: +.LASF1000: .ascii "led_on\000" .LASF308: .ascii "__LACCUM_MIN__ (-0X1P31LK-0X1P31LK)\000" -.LASF1003: +.LASF1002: .ascii "src/main.c\000" .LASF126: .ascii "__INT_FAST8_MAX__ 0x7fffffff\000" @@ -6138,13 +6133,13 @@ main: .ascii "__ULLFRACT_MIN__ 0.0ULLR\000" .LASF651: .ascii "_T_WCHAR_ \000" -.LASF993: +.LASF992: .ascii "BDTR\000" .LASF382: .ascii "__GCC_CONSTRUCTIVE_SIZE 64\000" .LASF664: .ascii "_BSD_WCHAR_T_\000" -.LASF972: +.LASF971: .ascii "PLLI2SCFGR\000" .LASF277: .ascii "__LLFRACT_IBIT__ 0\000" @@ -6152,9 +6147,9 @@ main: .ascii "UINT16_C(x) __UINT16_C(x)\000" .LASF756: .ascii "PRIx32 __PRI32(x)\000" -.LASF999: +.LASF998: .ascii "tim4_init\000" -.LASF948: +.LASF947: .ascii "uint32_t\000" .LASF878: .ascii "RCC_PLLCFGR_PLLN_BIT 6\000" @@ -6162,13 +6157,13 @@ main: .ascii "PRIxLEAST8 __PRI8LEAST(x)\000" .LASF506: .ascii "_SYS__INTSUP_H \000" -.LASF982: +.LASF981: .ascii "OPTCR\000" .LASF290: .ascii "__SACCUM_EPSILON__ 0x1P-7HK\000" .LASF415: .ascii "__GCC_ASM_FLAG_OUTPUTS__ 1\000" -.LASF913: +.LASF912: .ascii "FLASH_BASE_ADDR (0x40023C00U)\000" .LASF745: .ascii "SCNxFAST16 __SCN16FAST(x)\000" @@ -6214,13 +6209,13 @@ main: .ascii "__PRI16(x) __INT16 __STRINGIFY(x)\000" .LASF159: .ascii "__FLT_HAS_DENORM__ 1\000" -.LASF910: +.LASF909: .ascii "PINNUM(pin) (pin & 0b1111)\000" .LASF768: .ascii "PRIXLEAST32 __PRI32LEAST(X)\000" .LASF171: .ascii "__DBL_MAX__ ((double)1.7976931348623157e+308L)\000" -.LASF939: +.LASF938: .ascii "short unsigned int\000" .LASF276: .ascii "__LLFRACT_FBIT__ 63\000" @@ -6247,7 +6242,7 @@ main: .ascii "__SIZE_MAX__ 0xffffffffU\000" .LASF818: .ascii "PRIXFAST64 __PRI64FAST(X)\000" -.LASF912: +.LASF911: .ascii "FLASH_H_ \000" .LASF412: .ascii "__ARM_ARCH\000" @@ -6265,7 +6260,7 @@ main: .ascii "SCNuFAST32 __SCN32FAST(u)\000" .LASF522: .ascii "long +4\000" -.LASF951: +.LASF950: .ascii "AHB1RSTR\000" .LASF723: .ascii "SCNx16 __SCN16(x)\000" @@ -6275,7 +6270,7 @@ main: .ascii "__SCN64LEAST(x) __LEAST64 __STRINGIFY(x)\000" .LASF340: .ascii "__USQ_FBIT__ 32\000" -.LASF1004: +.LASF1003: .ascii "/home/alex/code/own/stm32-falling-sand\000" .LASF796: .ascii "PRIX64 __PRI64(X)\000" @@ -6339,7 +6334,7 @@ main: .ascii "__INT_LEAST64_TYPE__ long long int\000" .LASF103: .ascii "__UINT16_MAX__ 0xffff\000" -.LASF924: +.LASF923: .ascii "PWR_BASE_ADDR (0x40007000U)\000" .LASF446: .ascii "__ARM_FEATURE_CDE_COPROC\000" diff --git a/build/main.i b/build/main.i index 6e92124..8d199f6 100644 --- a/build/main.i +++ b/build/main.i @@ -2127,7 +2127,6 @@ struct gpio { #define GPIO_PORT_OFFSET (0x400U) #define GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADDR + (GPIO_PORT_OFFSET * port))) -#define BIT(x) (1 << x) #define PIN(port,num) ((((port) - 'A') << 8) | num) @@ -2144,9 +2143,9 @@ typedef enum { void gpio_set_mode(uint16_t pin, GPIO_MODE mode); void gpio_write(uint16_t pin, -# 40 "src/gpio.h" 3 4 +# 39 "src/gpio.h" 3 4 _Bool -# 40 "src/gpio.h" +# 39 "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 e3ccc40ad397b8def0206d30f3931f0517f28c48..3cf9db8751e687e08f043681ca243941e9f72c99 100644 GIT binary patch delta 6547 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 delta 6587 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 |= BIT(PINPORT(led)); // Enable GPIO clock for LED + RCC->AHB1ENR |= (1 << PINPORT(led)); // Enable GPIO clock for LED gpio_set_mode(led, GPIO_MODE_OUTPUT); // Set blue LED to output mode uint16_t counter = TIM4->CNT;