update all

This commit is contained in:
zibright 2025-04-14 08:58:53 +08:00
parent dc5babc440
commit 575e3d9a47
204 changed files with 2508 additions and 6127 deletions

File diff suppressed because one or more lines are too long

View File

@ -21,38 +21,38 @@ Target DLL: CMSIS_AGDI.dll V1.33.18.0
Dialog DLL: TCM.DLL V1.56.4.0
<h2>Project:</h2>
D:\synchronous\School\School_RFID\3.HAL_LED_1\MDK-ARM\HAL_LED.uvprojx
D:\Git\Gitea\STM32\STM32G431RBTx\HAL_LED\MDK-ARM\HAL_LED.uvprojx
Project File Date: 03/07/2025
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Users\ZBright\AppData\Local\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'HAL_LED'
compiling stm32g4xx_ll_pwr.c...
assembling startup_stm32g431xx.s...
compiling stm32g4xx_hal_flash_ex.c...
compiling stm32g4xx_hal_cortex.c...
compiling stm32g4xx_ll_pwr.c...
compiling stm32g4xx_hal_tim.c...
compiling gpio.c...
compiling stm32g4xx_it.c...
compiling main.c...
compiling stm32g4xx_hal_gpio.c...
compiling stm32g4xx_hal_tim_ex.c...
compiling stm32g4xx_hal_dma_ex.c...
compiling lcd.c...
compiling led.c...
compiling stm32g4xx_hal_cortex.c...
compiling stm32g4xx_hal_flash_ramfunc.c...
compiling stm32g4xx_hal.c...
compiling stm32g4xx_hal_exti.c...
compiling stm32g4xx_hal_flash.c...
compiling system_stm32g4xx.c...
compiling stm32g4xx_hal_pwr.c...
compiling gpio.c...
compiling led.c...
compiling stm32g4xx_hal_flash_ex.c...
compiling stm32g4xx_hal_msp.c...
compiling stm32g4xx_hal_dma.c...
compiling stm32g4xx_hal_gpio.c...
compiling stm32g4xx_hal_tim.c...
compiling stm32g4xx_hal_exti.c...
compiling stm32g4xx_it.c...
compiling stm32g4xx_hal_flash.c...
compiling lcd.c...
compiling stm32g4xx_hal_pwr_ex.c...
compiling stm32g4xx_hal_dma.c...
compiling stm32g4xx_hal_rcc.c...
compiling stm32g4xx_hal_rcc_ex.c...
linking...
Program Size: Code=5376 RO-data=5080 RW-data=24 ZI-data=1024
Program Size: Code=5460 RO-data=5080 RW-data=24 ZI-data=1024
FromELF: creating hex file...
".\HAL_LED\HAL_LED.axf" - 0 Error(s), 0 Warning(s).
@ -76,7 +76,7 @@ Package Vendor: Keil
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.1.1
Build Time Elapsed: 00:00:03
Build Time Elapsed: 00:00:06
</pre>
</body>
</html>

View File

@ -36,7 +36,7 @@
:1002200070470022F6E710B513460A460446194601
:10023000FFF7F0FF204610BD064C074D06E0E068D2
:1002400040F0010394E8070098471034AC42F6D31D
:10025000FFF7C6FFB8280008D8280008FEE7704757
:10025000FFF7C6FF0C2900082C290008FEE77047AD
:10026000002240F6B83306E00021491C89B29942C9
:10027000FBD3521C92B28242F6D3704770B504464B
:1002800000F0F8F80546601C02D0044840680444B9
@ -128,7 +128,7 @@
:1007E000C100A06000F020F8A1680C4AC1F3031119
:1007F000515C01F01F01C8400949086009480068C0
:10080000BDE8F047FFF754BE002002400010024050
:1008100000B4C4040024F40000366E01A8280008C7
:1008100000B4C4040024F40000366E01FC28000873
:100820001400002008000020184910B58868C0F3A3
:1008300081021748012A0BD08A68164BC2F3810245
:10084000022A06D08A68C2F38102032A03D000205C
@ -222,7 +222,7 @@
:100DC000A06940F48070A06104481830016841F4C3
:100DD0000871016007B030BD0010024000040048F7
:100DE000203AD2B2034B02EB420203EB021200F0B4
:100DF00019B80000D8160008F0B50E4607460025C1
:100DF00019B800002C170008F0B50E46074600256C
:100E000040F23F1407E021463846FFF7E9FF103C67
:100E10006D1CA4B2761C3278002A01D0142DF2D3B6
:100E2000F0BD00002DE9F04791468A4600260446B1
@ -347,312 +347,318 @@
:1015900080F8141D704702E008C8121F08C1002A15
:1015A000FAD170477047002001E001C1121F002AE4
:1015B000FBD170471CB5FEF76BFFFFF79FFFFFF7EE
:1015C0008DFDFFF75BFC1F20FFF7B0FB1F20FFF72F
:1015D000AFFC4FF6FF742046FFF7BEFC24A10020AD
:1015E000FFF70AFC22A11820FFF706FC26A13020F5
:1015F000FFF702FC1EA14820FFF7FEFB1CA16020A4
:10160000FFF7FAFB2046FFF793FC1F20FFF7A4FC2F
:1016100017A17820FFF7F0FB21A19020FFF7ECFB4A
:1016200013A1A820FFF7E8FB23A1C020FFF7E4FBEC
:101630000FA1D820FFF7E0FB25A10825D1E9000183
:101640006E46CDE900010024305DFFF71DFDC82086
:10165000FEF714FE641CAC42F6DB6C1E305DFFF737
:1016600013FDC820FEF70AFE641EF7D5EBE7000065
:10167000202020202020202020202020202020206A
:1016800020202020000000002020202020204C438B
:101690004420546573742020202020200000000086
:1016A0002020202020202048414C204C494220204E
:1016B00020202020000000002020202020202020AA
:1016C0002040383020202020202020200000000052
:1016D000010204081020408000000000000000000B
:1016E00000000000000000000000000000000000FA
:1016F00000000000000000000000000000000000EA
:101700000000000000000000000080018001800156
:1017100080018001800180018001800180018001C1
:1017200080018001000000008001800100000000B5
:10173000000000000000000000000000CC00CC0011
:10174000CC00CC00CC00CC00000000000000000069
:101750000000000000000000000000000000000089
:101760000000000000000000000000000000000079
:1017700000000000600C600C600C30063006FE1F9C
:10178000FE1F300638071803FE1FFE1F180318033C
:101790008C018C018C01000000008000E003F80F38
:1017A0009C0E8C1C8C188C009800F801E007800EB1
:1017B000801C8C188C189C18B80CF00FE00380006B
:1017C00080000000000000000000000000000E1873
:1017D0001B0C110C11061106110311039B018E0144
:1017E000C038C06C60446044304430441844186CC5
:1017F0000C380000000000000000E001F003380792
:10180000180618063003F001F000F8009C310E3382
:10181000061E061C061C063FFC73F021000000009B
:101820000000000000000000000000000C000C00A0
:101830000C000C000C000C00000000000000000078
:101840000000000000000000000000000000000098
:101850000000000000000000000000020003800102
:10186000C000C00060006000300030003000300078
:10187000300030003000300060006000C000C00068
:101880008001000300020000000020006000C00092
:101890008001800100030003000600060006000628
:1018A0000006000600060006000300038001800118
:1018B000C0006000200000000000000000000000E8
:1018C00000000000C000C000D806F807E0013003A7
:1018D00038070000000000000000000000000000C9
:1018E00000000000000000000000000000000000F8
:1018F0000000000080018001800180018001FC3F28
:10190000FC3F800180018001800180010000000017
:1019100000000000000000000000000000000000C7
:1019200000000000000000000000000000000000B7
:1019300000000000000000000000800180010001A4
:101940000001800000000000000000000000000016
:101950000000000000000000000000000000000087
:10196000E007E007000000000000000000000000A9
:1015C0008DFDFFF75BFC4FF6FF742046FFF7AEFB87
:1015D0002046FFF7ADFC4FF47840FFF7BDFC21A19A
:1015E0000020FFF709FC25A11820FFF705FC29A121
:1015F0003020FFF701FC2DA14820FFF7FDFB19A1CA
:101600006020FFF7F9FB2FA17820FFF7F5FB33A14E
:101610009020FFF7F1FB37A1A820FFF7EDFB3BA1DE
:10162000C020FFF7E9FB0FA1D820FFF7E5FB3DA1A4
:101630000825D1E900016E46CDE900010024305DA6
:10164000FFF722FDC820FEF719FE641CAC42F6DB52
:101650006C1E305DFFF718FDC820FEF70FFE641EFC
:10166000F7D5EBE72A2A2A2A2A2A2A2A2A2A2A2AE4
:101670002A2A2A2A2A2A2A2A000000002A20202090
:101680002A2A2A2020202020202A2A2A2020202A14
:10169000000000002A20202A2A2A2A2A202020208E
:1016A0002A2A2A2A2A20202A000000002A202A2A60
:1016B0002A2A2A2A2A20202A2A2A2A2A2A2A202AA8
:1016C000000000002A202A2A2A2A2A2A2A2A2A2A2C
:1016D0002A2A2A2A2A2A202A000000002A2020203A
:1016E000202A2A2A2A2A2A2A2A2A2A202020202A8C
:1016F000000000002A20202020202A2A2A2A2A2A24
:101700002A2A20202020202A000000002A20202031
:1017100020202020202A2A2A202020202020202AA1
:1017200000000000010204081020408000000000BA
:1017300000000000000000000000000000000000A9
:101740000000000000000000000000000000000099
:101750000000000000000000000000000000800108
:101760008001800180018001800180018001800171
:101770008001800180018001000000008001800163
:101780000000000000000000000000000000000059
:10179000CC00CC00CC00CC00CC00CC000000000081
:1017A0000000000000000000000000000000000039
:1017B0000000000000000000000000000000000029
:1017C0000000000000000000600C600C600C30069F
:1017D0003006FE1FFE1F300638071803FE1FFE1FCF
:1017E000180318038C018C018C010000000080009C
:1017F000E003F80F9C0E8C1C8C188C009800F801EC
:10180000E007800E801C8C188C189C18B80CF00F08
:10181000E0038000800000000000000000000000E5
:1018200000000E181B0C110C1106110611031103F8
:101830009B018E01C038C06C604460443044304429
:101840001844186C0C380000000000000000E00193
:10185000F0033807180618063003F001F000F8000E
:101860009C310E33061E061C061C063FFC73F0213D
:101870000000000000000000000000000000000068
:101880000C000C000C000C000C000C000000000010
:101890000000000000000000000000000000000048
:1018A0000000000000000000000000000000000236
:1018B00000038001C000C000600060003000300004
:1018C0003000300030003000300030006000600038
:1018D000C000C000800100030002000000002000E2
:1018E0006000C000800180010003000300060006C4
:1018F00000060006000600060006000600030003BE
:1019000080018001C0006000200000000000000095
:101910000000000000000000C000C000D806F8076A
:10192000E001300338070000000000000000000064
:1019300000000000000000000000000000000000A7
:101940000000000000000000800180018001800193
:101950008001FC3FFC3F800180018001800180010B
:101960000000000000000000000000000000000077
:101970000000000000000000000000000000000067
:101980000000000000000000000000000000000057
:1019900000000000000000000000C000C0000000C7
:1019A00000000000000000000000000C000C000619
:1019B000000600060003000300038003800180018D
:1019C0008001C000C000C000600060000000000096
:1019D00000000000000000000000E003F007380EE7
:1019E000180C0C180C180C180C180C180C180C18D7
:1019F0000C180C18180C380EF007E003000000005B
:101A00000000000000000000000000018001C00193
:101A1000F00198018801800180018001800180012E
:101A200080018001800180018001800100000000B0
:101A300000000000000000000000E003F80F180C98
:101A40000C180C1800180018000C00060003800188
:101A5000C000600030001800FC1FFC1F00000000E8
:101A600000000000000000000000E001F807180E70
:101A70000C0C0C0C000C0006C003C007000C001876
:101A800000180C180C18180CF807E00300000000F0
:101A900000000000000000000000000C000E000F1D
:101AA000000F800DC00C600C600C300C180C0C0C7E
:101AB000FC3FFC3F000C000C000C000C0000000080
:101AC00000000000000000000000F80FF80F1800F0
:101AD00018000C00EC03FC071C0E001C001800187A
:101AE00000180C181C0C180EF807E003000000008A
:101AF00000000000000000000000C007F00F381CCC
:101B0000181818000C00CC03EC0F3C0E1C1C0C1811
:101B10000C180C18181C380EF007E0030000000029
:101B200000000000000000000000FC1FFC1F000C73
:101B300000060006000380038001C001C000E00031
:101B400060006000700030003000300000000000D5
:101B500000000000000000000000E003F007380E65
:101B6000180C180C180C3806F007F007180C0C1895
:101B70000C180C180C18380CF80FE00300000000CB
:101B800000000000000000000000E003F007380E35
:101B90001C0C0C180C180C181C1C381EF81BE01917
:101BA0000018000C000C1C0EF807F00100000000EB
:101BB0000000000000000000000000000000000025
:101BC0000000000080018001000000000000000013
:101BD0000000000000000000800180010000000003
:101BE00000000000000000000000000000000000F5
:101BF00000000000800180010000000000000000E3
:101C000000000000000000008001800100010001D0
:101C10008000000000000000000000000000000044
:101C200000000000000000000010001C800FE00316
:101C3000F8001800F800E003800F001C00100000FE
:101C40000000000000000000000000000000000094
:101C50000000000000000000F81F0000000000006D
:101C6000F81F00000000000000000000000000005D
:101C70000000000000000000000000000000000064
:101C8000000000000000000008003800F001C0075C
:101C9000001F0018001FC007F001380008000000F6
:101CA00000000000000000000000E003F80F180C26
:101CB0000C180C180018000C000600038001C0006E
:101CC000C000C00000000000C000C0000000000014
:101CD000000000000000000000000000E0071818ED
:101CE0000420C229224A1144094409440944092212
:101CF0001113E20C024004201818E0070000000055
:101D00000000000000000000000080038003C00607
:101D1000C006C006600C600C301830183018F83F50
:101D2000F83F1C700C600C6006C006C0000000008C
:101D300000000000000000000000FC03FC0F0C0C81
:101D40000C180C180C180C0CFC07FC0F0C180C30A1
:101D50000C300C300C300C18FC1FFC07000000008D
:101D600000000000000000000000C007F01F38382D
:101D70001C300C7006600600060006000600060017
:101D8000060006600C701C30F01FE0070000000029
:101D900000000000000000000000FE03FE0F060E21
:101DA00006180618063006300630063006300630B3
:101DB000063006180618060EFE0FFE03000000008F
:101DC00000000000000000000000FC3FFC3F0C0091
:101DD0000C000C000C000C00FC1FFC1F0C000C0085
:101DE0000C000C000C000C00FC3FFC3F000000004D
:101DF00000000000000000000000F83FF83F18005D
:101E00001800180018001800F81FF81F1800180014
:101E10001800180018001800180018000000000032
:101E200000000000000000000000E00FF83F3C78D8
:101E30000E6006E007C00300030003FE03FE03C0BC
:101E400007C006C00EC03CF0F83FE00F00000000E5
:101E5000000000000000000000000C300C300C30CE
:101E60000C300C300C300C30FC3FFC3F0C300C3094
:101E70000C300C300C300C300C300C3000000000FA
:101E800000000000000000000000800180018001CF
:101E9000800180018001800180018001800180013A
:101EA000800180018001800180018001000000002C
:101EB0000000000000000000000000060006000610
:101EC00000060006000600060006000600060006E2
:101ED0000006180618063807F003E00100000000AD
:101EE0000000000000000000000006300618060C8C
:101EF000060606038601C60066007600DE008E0137
:101F000006030606060C06180630066000000000F0
:101F10000000000000000000000018001800180079
:101F200018001800180018001800180018001800F1
:101F30001800180018001800F81FF81F0000000013
:101F4000000000000000000000000EE01EF01EF087
:101F50001EF036D836D836D836D866CC66CC66CCA5
:101F6000C6C6C6C6C6C6C6C686C386C300000000AF
:101F7000000000000000000000000C301C303C306D
:101F80003C306C306C30CC30CC308C310C330C337A
:101F90000C360C360C3C0C3C0C380C3000000000AD
:101FA00000000000000000000000E007F81F1C38DF
:101FB0000E70066003C003C003C003C003C003C0AB
:101FC00003C006600E701C38F81FE0070000000018
:101FD00000000000000000000000FC0FFC1F0C3897
:101FE0000C300C300C300C300C18FC1FFC070C00B3
:101FF0000C000C000C000C000C000C000000000099
:1020000000000000000000000000E007F81F1C387E
:102010000E70066003E003C003C003C003C003C02A
:1020200007E006630E3F1C3CF83FE0F700C00000ED
:1020300000000000000000000000FE0FFE1F063838
:102040000630063006300638FE1FFE070603060679
:10205000060C061806180630063006600000000060
:1020600000000000000000000000E003F80F1C0C5E
:102070000C180C180C001C00F803E00F001E0038B0
:10208000063006300E301C1CF80FE0070000000080
:1020900000000000000000000000FE7FFE7F8001C5
:1020A0008001800180018001800180018001800128
:1020B000800180018001800180018001000000001A
:1020C000000000000000000000000C300C300C305C
:1020D0000C300C300C300C300C300C300C300C3020
:1020E0000C300C300C301818F81FE007000000000E
:1020F0000000000000000000000003600630063011
:1021000006300C180C180C18180C180C380E300669
:102110003006700760036003C001C00100000000CA
:10212000000000000000000000000360C361C36104
:10213000C3616633663366336633663366336C1B5E
:102140006C1B6C1B2C1A3C1E380E380E0000000055
:10215000000000000000000000000FE00C701830CC
:102160003018700C600EC00780038003C003E006C7
:10217000700C301C18180C300E6007E000000000D6
:102180000000000000000000000003C006600C30EA
:102190001C383818300C6006E007C003800180014D
:1021A0008001800180018001800180010000000029
:1021B00000000000000000000000FC7FFC7F0060C9
:1021C00000300018000C000600038001C000600011
:1021D000300018000C000600FE7FFE7F00000000AB
:1021E00000000000000000000000E003E0036000C9
:1021F00060006000600060006000600060006000DF
:1022000060006000600060006000600060006000CE
:102210006000E003E00300000000300030006000D8
:1022200060006000C000C000C000C00180018001EB
:102230008001000300030003000600060000000008
:1022400000000000000000000000E003E0030003C5
:102250000003000300030003000300030003000366
:102260000003000300030003000300030003000356
:102270000003E003E003000000000000C001C00113
:1022800060036003600330063006180C180C000071
:10229000000000000000000000000000000000003E
:1022A000000000000000000000000000000000002E
:1022B000000000000000000000000000000000001E
:1022C00000000000000000000000FFFFFFFF000012
:1022D000000000000000000000000C000C000C00DA
:1022E0000C000C000C0000000000000000000000CA
:1019800000000000000000000000000000008001D6
:101990008001000100018000000000000000000044
:1019A0000000000000000000000000000000000037
:1019B00000000000E007E007000000000000000059
:1019C0000000000000000000000000000000000017
:1019D0000000000000000000000000000000000007
:1019E0000000000000000000000000000000C00037
:1019F000C000000000000000000000000000000C1B
:101A0000000C00060006000600030003000380032C
:101A1000800180018001C000C000C0006000600043
:101A20000000000000000000000000000000E003D3
:101A3000F007380E180C0C180C180C180C180C1891
:101A40000C180C180C180C18180C380EF007E003C2
:101A50000000000000000000000000000000000185
:101A60008001C001F001980188018001800180019E
:101A7000800180018001800180018001800180015E
:101A80000000000000000000000000000000E00373
:101A9000F80F180C0C180C1800180018000C000691
:101AA00000038001C000600030001800FC1FFC1F14
:101AB0000000000000000000000000000000E00145
:101AC000F807180E0C0C0C0C000C0006C003C00725
:101AD000000C001800180C180C18180CF807E0037C
:101AE0000000000000000000000000000000000CEA
:101AF000000E000F000F800DC00C600C600C300C4D
:101B0000180C0C0CFC3FFC3F000C000C000C000CF3
:101B10000000000000000000000000000000F80FBE
:101B2000F80F180018000C00EC03FC071C0E001C3A
:101B30000018001800180C181C0C180EF807E00309
:101B40000000000000000000000000000000C007CE
:101B5000F00F381C181818000C00CC03EC0F3C0ECA
:101B60001C1C0C180C180C18181C380EF007E0037D
:101B70000000000000000000000000000000FC1F4A
:101B8000FC1F000C00060006000380038001C0015A
:101B9000C000E000600060007000300030003000E5
:101BA0000000000000000000000000000000E00352
:101BB000F007380E180C180C180C3806F007F00750
:101BC000180C0C180C180C180C18380CF80FE00333
:101BD0000000000000000000000000000000E00322
:101BE000F007380E1C0C0C180C180C181C1C381E96
:101BF000F81BE0190018000C000C1C0EF807F0018F
:101C000000000000000000000000000000000000D4
:101C100000000000000000008001800100000000C2
:101C200000000000000000000000000080018001B2
:101C300000000000000000000000000000000000A4
:101C40000000000000000000800180010000000092
:101C50000000000000000000000000008001800182
:101C600000010001800000000000000000000000F2
:101C70000000000000000000000000000010001C38
:101C8000800FE003F8001800F800E003800F001C4C
:101C90000010000000000000000000000000000034
:101CA000000000000000000000000000F81F00001D
:101CB00000000000F81F000000000000000000000D
:101CC0000000000000000000000000000000000014
:101CD00000000000000000000000000008003800C4
:101CE000F001C007001F0018001FC007F0013800F6
:101CF0000800000000000000000000000000E003F9
:101D0000F80F180C0C180C180018000C0006000333
:101D10008001C000C000C00000000000C000C00082
:101D200000000000000000000000000000000000B3
:101D3000E00718180420C229224A11440944094422
:101D4000094409221113E20C024004201818E0078C
:101D50000000000000000000000000000000800300
:101D60008003C006C006C006600C600C3018301836
:101D70003018F83FF83F1C700C600C6006C006C0BD
:101D80000000000000000000000000000000FC0354
:101D9000FC0F0C0C0C180C180C180C0CFC07FC0F8E
:101DA0000C180C300C300C300C300C18FC1FFC07DD
:101DB0000000000000000000000000000000C0075C
:101DC000F01F38381C300C70066006000600060054
:101DD00006000600060006600C701C30F01FE007CD
:101DE0000000000000000000000000000000FE03F2
:101DF000FE0F060E061806180630063006300630AE
:101E000006300630063006180618060EFE0FFE03D2
:101E10000000000000000000000000000000FC3F87
:101E2000FC3F0C000C000C000C000C00FC1FFC1F05
:101E30000C000C000C000C000C000C00FC3FFC3FE4
:101E40000000000000000000000000000000F83F5B
:101E5000F83F18001800180018001800F81FF81FA5
:101E600018001800180018001800180018001800B2
:101E70000000000000000000000000000000E00F73
:101E8000F83F3C780E6006E007C00300030003FE45
:101E900003FE03C007C006C00EC03CF0F83FE00FD1
:101EA00000000000000000000000000000000C30F6
:101EB0000C300C300C300C300C300C30FC3FFC3F44
:101EC0000C300C300C300C300C300C300C300C3032
:101ED0000000000000000000000000000000800181
:101EE00080018001800180018001800180018001EA
:101EF00080018001800180018001800180018001DA
:101F000000000000000000000000000000000006CB
:101F10000006000600060006000600060006000691
:101F2000000600060006180618063807F003E00150
:101F3000000000000000000000000000000006306B
:101F40000618060C060606038601C6006600760023
:101F5000DE008E0106030606060C06180630066033
:101F60000000000000000000000000000000180059
:101F700018001800180018001800180018001800A1
:101F8000180018001800180018001800F81FF81F93
:101F900000000000000000000000000000000EE053
:101FA0001EF01EF01EF036D836D836D836D866CC9D
:101FB00066CC66CCC6C6C6C6C6C6C6C686C386C3FB
:101FC00000000000000000000000000000000C30D5
:101FD0001C303C303C306C306C30CC30CC308C31F0
:101FE0000C330C330C360C360C3C0C3C0C380C30DF
:101FF0000000000000000000000000000000E007FA
:10200000F81F1C380E70066003C003C003C003C075
:1020100003C003C003C006600E701C38F81FE00741
:102020000000000000000000000000000000FC0FA5
:10203000FC1F0C380C300C300C300C300C18FC1F12
:10204000FC070C000C000C000C000C000C000C0039
:102050000000000000000000000000000000E00799
:10206000F81F1C380E70066003E003C003C003C0F5
:1020700003C003C007E006630E3F1C3CF83FE0F7D7
:1020800000C0000000000000000000000000FE0F83
:10209000FE1F06380630063006300638FE1FFE07E3
:1020A00006030606060C06180618063006300660FB
:1020B0000000000000000000000000000000E0033D
:1020C000F80F1C0C0C180C180C001C00F803E00F87
:1020D000001E0038063006300E301C1CF80FE007DA
:1020E0000000000000000000000000000000FE7F73
:1020F000FE7F8001800180018001800180018001DC
:1021000080018001800180018001800180018001C7
:1021100000000000000000000000000000000C3083
:102120000C300C300C300C300C300C300C300C30CF
:102130000C300C300C300C300C301818F81FE00745
:10214000000000000000000000000000000003602C
:102150000630063006300C180C180C18180C180C29
:10216000380E30063006700760036003C001C001FE
:1021700000000000000000000000000000000360FC
:10218000C361C361C36166336633663366336633E6
:1021900066336C1B6C1B6C1B2C1A3C1E380E380EE5
:1021A00000000000000000000000000000000FE040
:1021B0000C7018303018700C600EC007800380035C
:1021C000C003E006700C301C18180C300E6007E0DD
:1021D000000000000000000000000000000003C03C
:1021E00006600C301C383818300C6006E007C0035D
:1021F00080018001800180018001800180018001D7
:102200000000000000000000000000000000FC7F53
:10221000FC7F006000300018000C00060003800105
:10222000C0006000300018000C000600FE7FFE7F3A
:102230000000000000000000000000000000E003BB
:10224000E00360006000600060006000600060000B
:10225000600060006000600060006000600060007E
:10226000600060006000E003E00300000000300058
:102270003000600060006000C000C000C000C0010D
:1022800080018001800100030003000300060006B6
:102290000000000000000000000000000000E0035B
:1022A000E003000300030003000300030003000336
:1022B0000003000300030003000300030003000306
:1022C000000300030003E003E0030000000000003F
:1022D000C001C00160036003600330063006180CC3
:1022E000180C0000000000000000000000000000CA
:1022F00000000000000000000000000000000000DE
:1023000000000000000000000000000000000000CD
:1023100000000000F003F8071C0C0C0C000FF00F7D
:10232000F80C0C0C0C0C1C0FF80FF018000000003F
:102330000000000000000000000018001800180055
:1023400018001800D803F80F380C181818181818A7
:10235000181818181818380CF80FD80300000000C7
:10236000000000000000000000000000000000006D
:1023700000000000C003F007300E180C1800180011
:1023800018001800180C300EF007C0030000000001
:1023900000000000000000000000001800180018F5
:1023A00000180018C01BF01F301C18181818181837
:1023B000181818181818301CF01FC01B0000000057
:1023C000000000000000000000000000000000000D
:1023D00000000000C003F00F300C1818F81FF81FA1
:1023E000180018003818301CF00FC007000000005B
:1023F00000000000000000000000800FC00FC000BF
:10240000C000C000F007F007C000C000C000C0005E
:10241000C000C000C000C000C000C000000000003C
:1024200000000000000000000000000000000000AC
:1024300000000000E00DF80F180E0C0C0C0C0C0C3A
:102440000C0C0C0C0C0C180EF80FE00D000C0C0C06
:102450001C06F807F0010000000018001800180022
:1024600018001800D807F80F381C18181818181872
:10247000181818181818181818181818000000003C
:1024800000000000000000000000C000C0000000CC
:1024900000000000C000C000C000C000C000C000BC
:1024A000C000C000C000C000C000C00000000000AC
:1024B00000000000000000000000C000C00000009C
:1024C00000000000C000C000C000C000C000C0008C
:1024D000C000C000C000C000C000C000C000C000FC
:1024E000C000F8007800000000000C000C000C0098
:1024F0000C000C000C0C0C060C038C01CC006C00C6
:10250000FC009C018C030C030C060C0C000000006A
:1025100000000000000000000000C000C000C0007B
:102310000000000000000000000000000000FFFFBF
:10232000FFFF0000000000000000000000000C00A3
:102330000C000C000C000C000C0000000000000061
:10234000000000000000000000000000000000008D
:10235000000000000000000000000000000000007D
:102360000000000000000000F003F8071C0C0C0C3B
:10237000000FF00FF80C0C0C0C0C1C0FF80FF018E1
:102380000000000000000000000000000000180035
:102390001800180018001800D803F80F380C181887
:1023A00018181818181818181818380CF80FD80317
:1023B000000000000000000000000000000000001D
:1023C0000000000000000000C003F007300E180CF1
:1023D0001800180018001800180C300EF007C00381
:1023E00000000000000000000000000000000018D5
:1023F0000018001800180018C01BF01F301C181817
:1024000018181818181818181818301CF01FC01BA6
:1024100000000000000000000000000000000000BC
:102420000000000000000000C003F00F300C18187E
:10243000F81FF81F180018003818301CF00FC007DC
:102440000000000000000000000000000000800FFD
:10245000C00FC000C000C000F007F007C000C000FF
:10246000C000C000C000C000C000C000C000C0006C
:10247000000000000000000000000000000000005C
:102480000000000000000000E00DF80F180E0C0C1A
:102490000C0C0C0C0C0C0C0C0C0C180EF80FE00DAA
:1024A000000C0C0C1C06F807F001000000001800DE
:1024B0001800180018001800D807F80F381C181852
:1024C000181818181818181818181818181818188C
:1024D0000000000000000000000000000000C0003C
:1024E000C000000000000000C000C000C000C0002C
:1024F000C000C000C000C000C000C000C000C000DC
:102500000000000000000000000000000000C0000B
:10251000C000000000000000C000C000C000C000FB
:10252000C000C000C000C000C000C000C000C000AB
:10253000C000C000C000C000C000C000000000001B
:10254000000000000000000000000000000000008B
:10255000000000007C3CFF7EC7E383C183C183C1D0
:1025600083C183C183C183C183C183C100000000D3
:10257000000000000000000000000000000000005B
:10258000000000009807F80F381C181818181818C1
:10259000181818181818181818181818000000001B
:1025A000000000000000000000000000000000002B
:1025B00000000000C003F00F300C1818181818188D
:1025C000181818181818300CF00FC003000000007D
:1025D00000000000000000000000000000000000FB
:1025E00000000000D803F80F380C18181818181835
:1025F000181818181818380CF80FD80318001800F5
:102600001800180018000000000000000000000082
:1026100000000000C01BF01F301C181818181818F4
:10262000181818181818301CF01FC01B00180018B4
:102630000018001800180000000000000000000052
:1026400000000000B007F0037000300030003000E0
:10265000300030003000300030003000000000005A
:10266000000000000000000000000000000000006A
:1026700000000000E003F003380E180C3800F003EF
:10268000C007000C180C380EF007E0030000000033
:102690000000000000000000000000008000C000FA
:1026A000C000C000F007F007C000C000C000C000BC
:1026B000C000C000C000C000C007800700000000CC
:1026C000000000000000000000000000000000000A
:1026D00000000000181818181818181818181818DA
:1026E000181818181818381CF01FE01900000000FE
:1026F00000000000000000000000000000000000DA
:10270000000000000C18180C180C180C30063006CD
:102710003006600360036003C001C00100000000D8
:1027200000000000000000000000000000000000A9
:1027300000000000C141C141C3616363636363631F
:102740003636363636361C1C1C1C1C1C000000009D
:102750000000000000000000000000000000000079
:10276000000000001C38381C300C60066003600359
:10277000600360036006300C381C1C380000000049
:102780000000000000000000000000000000000049
:10279000000000001830301830187018600C600C01
:1027A000E00CC006C0068003800380038001800126
:1027B000C001F000700000000000000000000000F8
:1027C00000000000FC1FFC1F000C0006000380013D
:1027D000C000600030001800FC1FFC1F000000005B
:1027E0000000000000000000000000038001C000A5
:1027F000C000C000C000C000C00060006000300029
:1028000060004000C000C000C000C000C000C000A8
:1028100080010003000000000000800180018001B1
:1028200080018001800180018001800180018001A0
:102830008001800180018001800180018001800190
:10284000800180018001000000006000C000C00124
:1028500080018001800180018001000300030006E7
:10286000000300018001800180018001800180015E
:10287000C000600000000000000000000000000038
:102880000000000000000000F010F81F080F00001A
:102890000000000000000000000000000000000038
:1028A0000000000000000000000000000000000028
:1028B0000102030406070809D828000800000020C8
:1028C0001800000096150008F028000818000020E5
:1028D00000040000A61500080000FFFF0000000033
:1028E0001000000001000000000000000024F400BF
:10253000C000C000C000F8007800000000000C00DF
:102540000C000C000C000C000C0C0C060C038C0195
:10255000CC006C00FC009C018C030C030C060C0CE2
:102560000000000000000000000000000000C000AB
:10257000C000C000C000C000C000C000C000C0005B
:10258000C000C000C000C000C000C000C000C0004B
:10259000000000000000000000000000000000003B
:1025A00000000000000000007C3CFF7EC7E383C108
:1025B00083C183C183C183C183C183C183C183C1FB
:1025C000000000000000000000000000000000000B
:1025D00000000000000000009807F80F381C1818D1
:1025E000181818181818181818181818181818186B
:1025F00000000000000000000000000000000000DB
:102600000000000000000000C003F00F300C18189C
:1026100018181818181818181818300CF00FC003CC
:1026200000000000000000000000000000000000AA
:102630000000000000000000D803F80F380C181844
:1026400018181818181818181818380CF80FD80374
:102650001800180018001800180000000000000002
:102660000000000000000000C01BF01F301C181804
:1026700018181818181818181818301CF01FC01B34
:1026800000180018001800180018000000000000D2
:102690000000000000000000B007F00370003000F0
:1026A00030003000300030003000300030003000AA
:1026B000000000000000000000000000000000001A
:1026C0000000000000000000E003F003380E180CCA
:1026D0003800F003C007000C180C380EF007E003B8
:1026E00000000000000000000000000000000000EA
:1026F0008000C000C000C000F007F007C000C000AC
:10270000C000C000C000C000C000C000C0078007FB
:1027100000000000000000000000000000000000B9
:1027200000000000000000001818181818181818E9
:1027300018181818181818181818381CF01FE0194D
:102740000000000000000000000000000000000089
:1027500000000000000000000C18180C180C180CE9
:10276000300630063006600360036003C001C0011C
:102770000000000000000000000000000000000059
:102780000000000000000000C141C141C36163635B
:10279000636363633636363636361C1C1C1C1C1CC1
:1027A0000000000000000000000000000000000029
:1027B00000000000000000001C38381C300C6006CF
:1027C00060036003600360036006300C381C1C3833
:1027D00000000000000000000000000000000000F9
:1027E0000000000000000000183030183018701889
:1027F000600C600CE00CC006C00680038003800300
:1028000080018001C001F0007000000000000000A5
:102810000000000000000000FC1FFC1F000C000670
:1028200000038001C000600030001800FC1FFC1F86
:102830000000000000000000000000000000000395
:102840008001C000C000C000C000C000C000600027
:102850006000300060004000C000C000C000C00048
:10286000C000C000800100030000000000008001E3
:102870008001800180018001800180018001800150
:102880008001800180018001800180018001800140
:102890008001800180018001800100000000600053
:1028A000C000C0018001800180018001800100031F
:1028B0000003000600030001800180018001800107
:1028C00080018001C00060000000000000000000E6
:1028D000000000000000000000000000F010F81FE1
:1028E000080F0000000000000000000000000000D1
:1028F00000000000000000000000000000000000D8
:102900000000000001020304060708092C29000842
:102910000000002018000000961500084429000857
:102920001800002000040000A61500080000FFFFAA
:102930000000000010000000010000000000000086
:042940000024F4007B
:04000005080001D915
:00000001FF

View File

@ -3,7 +3,7 @@
<title>Static Call Graph - [.\HAL_LED\HAL_LED.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\HAL_LED\HAL_LED.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Fri Mar 07 13:21:40 2025
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Thu Apr 10 19:59:00 2025
<BR><P>
<H3>Maximum Stack Usage = 160 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@ -724,7 +724,7 @@ Global Symbols
<P><STRONG><a name="[8c]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[50]"></a>main</STRONG> (Thumb, 186 bytes, Stack size 16 bytes, main.o(i.main))
<P><STRONG><a name="[50]"></a>main</STRONG> (Thumb, 176 bytes, Stack size 16 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 160<LI>Call Chain = main &rArr; SystemClock_Config &rArr; HAL_RCC_OscConfig &rArr; HAL_InitTick &rArr; HAL_NVIC_SetPriority
</UL>
<BR>[Calls]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init

View File

@ -643,8 +643,8 @@ Image Symbol Table
i.__scatterload_null 0x080015a4 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x080015a6 Section 14 handlers.o(i.__scatterload_zeroinit)
i.main 0x080015b4 Section 0 main.o(i.main)
.constdata 0x080016d8 Section 4560 lcd.o(.constdata)
.constdata 0x080028a8 Section 16 system_stm32g4xx.o(.constdata)
.constdata 0x0800172c Section 4560 lcd.o(.constdata)
.constdata 0x080028fc Section 16 system_stm32g4xx.o(.constdata)
.data 0x20000000 Section 6 lcd.o(.data)
TextColor 0x20000000 Data 2 lcd.o(.data)
BackColor 0x20000002 Data 2 lcd.o(.data)
@ -806,11 +806,11 @@ Image Symbol Table
__scatterload_copy 0x08001597 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x080015a5 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x080015a7 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
main 0x080015b5 Thumb Code 186 main.o(i.main)
ASCII_Table 0x080016d8 Data 4560 lcd.o(.constdata)
AHBPrescTable 0x080028a8 Data 16 system_stm32g4xx.o(.constdata)
Region$$Table$$Base 0x080028b8 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080028d8 Number 0 anon$$obj.o(Region$$Table)
main 0x080015b5 Thumb Code 176 main.o(i.main)
ASCII_Table 0x0800172c Data 4560 lcd.o(.constdata)
AHBPrescTable 0x080028fc Data 16 system_stm32g4xx.o(.constdata)
Region$$Table$$Base 0x0800290c Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x0800292c Number 0 anon$$obj.o(Region$$Table)
dummy 0x20000004 Data 2 lcd.o(.data)
uwTickPrio 0x20000008 Data 4 stm32g4xx_hal.o(.data)
uwTickFreq 0x2000000c Data 4 stm32g4xx_hal.o(.data)
@ -826,9 +826,9 @@ Memory Map of the image
Image Entry point : 0x080001d9
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000028f0, Max: 0x00020000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00002944, Max: 0x00020000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000028d8, Max: 0x00020000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x0000292c, Max: 0x00020000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@ -901,20 +901,20 @@ Memory Map of the image
0x08001596 0x08001596 0x0000000e Code RO 2080 i.__scatterload_copy mc_w.l(handlers.o)
0x080015a4 0x080015a4 0x00000002 Code RO 2081 i.__scatterload_null mc_w.l(handlers.o)
0x080015a6 0x080015a6 0x0000000e Code RO 2082 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x080015b4 0x080015b4 0x00000124 Code RO 316 i.main main.o
0x080016d8 0x080016d8 0x000011d0 Data RO 44 .constdata lcd.o
0x080028a8 0x080028a8 0x00000010 Data RO 2022 .constdata system_stm32g4xx.o
0x080028b8 0x080028b8 0x00000020 Data RO 2078 Region$$Table anon$$obj.o
0x080015b4 0x080015b4 0x00000178 Code RO 316 i.main main.o
0x0800172c 0x0800172c 0x000011d0 Data RO 44 .constdata lcd.o
0x080028fc 0x080028fc 0x00000010 Data RO 2022 .constdata system_stm32g4xx.o
0x0800290c 0x0800290c 0x00000020 Data RO 2078 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080028d8, Size: 0x00000418, Max: 0x00008000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x0800292c, Size: 0x00000418, Max: 0x00008000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x080028d8 0x00000006 Data RW 45 .data lcd.o
0x20000006 0x080028de 0x00000002 PAD
0x20000008 0x080028e0 0x0000000c Data RW 646 .data stm32g4xx_hal.o
0x20000014 0x080028ec 0x00000004 Data RW 2024 .data system_stm32g4xx.o
0x20000000 0x0800292c 0x00000006 Data RW 45 .data lcd.o
0x20000006 0x08002932 0x00000002 PAD
0x20000008 0x08002934 0x0000000c Data RW 646 .data stm32g4xx_hal.o
0x20000014 0x08002940 0x00000004 Data RW 2024 .data system_stm32g4xx.o
0x20000018 - 0x00000400 Zero RW 1 STACK startup_stm32g431xx.o
@ -925,22 +925,22 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
256 16 0 0 0 1043 gpio.o
1766 76 4560 6 0 539318 lcd.o
84 10 0 0 0 566 led.o
382 106 0 0 0 1384 main.o
36 8 472 0 1024 844 startup_stm32g431xx.o
162 24 0 12 0 4389 stm32g4xx_hal.o
172 14 0 0 0 33330 stm32g4xx_hal_cortex.o
466 34 0 0 0 2468 stm32g4xx_hal_gpio.o
56 8 0 0 0 8702 stm32g4xx_hal_msp.o
188 14 0 0 0 850 stm32g4xx_hal_pwr_ex.o
1624 68 0 0 0 4818 stm32g4xx_hal_rcc.o
20 0 0 0 0 4166 stm32g4xx_it.o
28 6 16 4 0 1159 system_stm32g4xx.o
256 16 0 0 0 1027 gpio.o
1766 76 4560 6 0 539194 lcd.o
84 10 0 0 0 558 led.o
466 200 0 0 0 1368 main.o
36 8 472 0 1024 840 startup_stm32g431xx.o
162 24 0 12 0 4353 stm32g4xx_hal.o
172 14 0 0 0 33306 stm32g4xx_hal_cortex.o
466 34 0 0 0 2456 stm32g4xx_hal_gpio.o
56 8 0 0 0 8690 stm32g4xx_hal_msp.o
188 14 0 0 0 842 stm32g4xx_hal_pwr_ex.o
1624 68 0 0 0 4802 stm32g4xx_hal_rcc.o
20 0 0 0 0 4118 stm32g4xx_it.o
28 6 16 4 0 1147 system_stm32g4xx.o
----------------------------------------------------------------------
5250 384 5080 24 1024 603037 Object Totals
5334 478 5080 24 1024 602701 Object Totals
0 0 32 0 0 0 (incl. Generated)
10 0 0 2 0 0 (incl. Padding)
@ -981,15 +981,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
5376 400 5080 24 1024 599317 Grand Totals
5376 400 5080 24 1024 599317 ELF Image Totals
5376 400 5080 24 0 0 ROM Totals
5460 494 5080 24 1024 598981 Grand Totals
5460 494 5080 24 1024 598981 ELF Image Totals
5460 494 5080 24 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 10456 ( 10.21kB)
Total RO Size (Code + RO Data) 10540 ( 10.29kB)
Total RW Size (RW Data + ZI Data) 1048 ( 1.02kB)
Total ROM Size (Code + RO Data + RW Data) 10480 ( 10.23kB)
Total ROM Size (Code + RO Data + RW Data) 10564 ( 10.32kB)
==============================================================================

View File

@ -33,7 +33,7 @@ I (../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h)(0x60424842)
I (../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h)(0x60424842)
I (../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_pwr.h)(0x60424842)
I (../Inc/fonts.h)(0x60064EF6)
F (../Src/main.c)(0x67C960DC)(--c99 -c --cpu Cortex-M4.fp.sp -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Inc -I ../Drivers/STM32G4xx_HAL_Driver/Inc -I ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32G4xx/Include -I ../Drivers/CMSIS/Include -I.\RTE\_HAL_LED -IC:\Users\ZBright\AppData\Local\Arm\Packs\ARM\CMSIS\5.3.0\CMSIS\Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32G431xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32G431xx -o .\hal_led\main.o --omf_browse .\hal_led\main.crf --depend .\hal_led\main.d)
F (../Src/main.c)(0x67F7B27F)(--c99 -c --cpu Cortex-M4.fp.sp -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Inc -I ../Drivers/STM32G4xx_HAL_Driver/Inc -I ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32G4xx/Include -I ../Drivers/CMSIS/Include -I.\RTE\_HAL_LED -IC:\Users\ZBright\AppData\Local\Arm\Packs\ARM\CMSIS\5.3.0\CMSIS\Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32G431xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32G431xx -o .\hal_led\main.o --omf_browse .\hal_led\main.crf --depend .\hal_led\main.d)
I (../Inc/main.h)(0x620B5478)
I (../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h)(0x60424842)
I (../Inc/stm32g4xx_hal_conf.h)(0x620B5476)

View File

@ -95,24 +95,20 @@ int main(void)
/* Infinite loop */
/* USER CODE BEGIN WHILE */
LCD_Clear(Blue);
LCD_SetBackColor(Blue);
LCD_SetTextColor(White);
LCD_DisplayStringLine(Line0, (uint8_t *)" ");
LCD_DisplayStringLine(Line1, (uint8_t *)" ");
LCD_DisplayStringLine(Line2, (uint8_t *)" LCD Test ");
LCD_DisplayStringLine(Line3, (uint8_t *)" ");
LCD_DisplayStringLine(Line4, (uint8_t *)" ");
LCD_Clear(White);
LCD_SetBackColor(White);
LCD_SetTextColor(Blue);
LCD_DisplayStringLine(Line5, (uint8_t *)" ");
LCD_DisplayStringLine(Line6, (uint8_t *)" HAL LIB ");
LCD_DisplayStringLine(Line7, (uint8_t *)" ");
LCD_DisplayStringLine(Line8, (uint8_t *)" @80 ");
LCD_DisplayStringLine(Line9, (uint8_t *)" ");
LCD_SetTextColor(Red);
LCD_DisplayStringLine(Line0, (uint8_t *)"********************");
LCD_DisplayStringLine(Line1, (uint8_t *)"* *** *** *");
LCD_DisplayStringLine(Line2, (uint8_t *)"* ***** ***** *");
LCD_DisplayStringLine(Line3, (uint8_t *)"* ******* ******* *");
LCD_DisplayStringLine(Line4, (uint8_t *)"********************");
LCD_DisplayStringLine(Line5, (uint8_t *)"* **************** *");
LCD_DisplayStringLine(Line6, (uint8_t *)"* ********** *");
LCD_DisplayStringLine(Line7, (uint8_t *)"* ******** *");
LCD_DisplayStringLine(Line8, (uint8_t *)"* *** *");
LCD_DisplayStringLine(Line9, (uint8_t *)"********************");
// ¶¨ÒåLEDÁ÷Ë®µÆÄ£Ê½
uint8_t patterns[] = {

File diff suppressed because one or more lines are too long

View File

@ -21,39 +21,39 @@ Target DLL: CMSIS_AGDI.dll V1.33.18.0
Dialog DLL: TCM.DLL V1.56.4.0
<h2>Project:</h2>
D:\synchronous\School\School_RFID\KAIs32\MDK-ARM\KAIs32.uvprojx
D:\Git\Gitea\STM32\STM32G431RBTx\KAIs32\MDK-ARM\KAIs32.uvprojx
Project File Date: 03/07/2025
<h2>Output:</h2>
*** Using Compiler 'V6.22', folder: 'C:\Users\ZBright\AppData\Local\Keil_v5\ARM\ARMCLANG\Bin'
Rebuild target 'KAIs32'
assembling startup_stm32g431xx.s...
compiling stm32g4xx_it.c...
compiling gpio.c...
compiling system_stm32g4xx.c...
compiling stm32g4xx_hal_msp.c...
compiling stm32g4xx_hal_dma_ex.c...
compiling stm32g4xx_hal_tim_ex.c...
compiling stm32g4xx_ll_pwr.c...
compiling stm32g4xx_hal_gpio.c...
compiling stm32g4xx_hal_pwr.c...
compiling stm32g4xx_hal_pwr_ex.c...
compiling led.c...
compiling stm32g4xx_hal_flash_ramfunc.c...
compiling stm32g4xx_hal_flash.c...
compiling stm32g4xx_hal_cortex.c...
compiling stm32g4xx_hal_rcc.c...
compiling stm32g4xx_hal.c...
compiling stm32g4xx_hal_flash_ex.c...
compiling stm32g4xx_hal_dma.c...
compiling stm32g4xx_hal_tim.c...
compiling stm32g4xx_hal_rcc_ex.c...
../Src/main.c(100): error: call to undeclared function 'LED'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
100 | LED(0x01);
| ^
1 error generated.
compiling main.c...
compiling stm32g4xx_hal_msp.c...
compiling stm32g4xx_it.c...
compiling stm32g4xx_hal_flash_ex.c...
compiling stm32g4xx_hal.c...
compiling stm32g4xx_hal_flash.c...
compiling system_stm32g4xx.c...
compiling stm32g4xx_hal_rcc.c...
compiling stm32g4xx_hal_gpio.c...
compiling stm32g4xx_hal_rcc_ex.c...
compiling stm32g4xx_hal_cortex.c...
compiling stm32g4xx_hal_tim_ex.c...
compiling stm32g4xx_hal_dma.c...
compiling led.c...
compiling stm32g4xx_hal_pwr.c...
compiling gpio.c...
compiling stm32g4xx_hal_flash_ramfunc.c...
compiling stm32g4xx_hal_dma_ex.c...
compiling stm32g4xx_hal_exti.c...
compiling stm32g4xx_hal_pwr_ex.c...
"KAIs32\KAIs32.axf" - 1 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2>
@ -77,7 +77,7 @@ Package Vendor: Keil
* Component: ARM::CMSIS:CORE:6.1.0
Target not created.
Build Time Elapsed: 00:00:02
Build Time Elapsed: 00:00:01
</pre>
</body>
</html>

View File

@ -472,3 +472,792 @@
2025-04-09 08:34:53,261 [INFO] ProgrammerExecThread:149 - [ProgrammerAPI] CubeProgrammer command construction: C:\ST\STM32CubeIDE_1.18.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.2.100.202412061334\tools\bin\STM32_Programmer_CLI.exe -l
2025-04-09 08:34:54,077 [INFO] MainDdrPanel:64 - [DDR PANEL] SETTER - Set cubeProgrammerPath to: C:\ST\STM32CubeIDE_1.18.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.2.100.202412061334\tools\bin
2025-04-09 08:34:54,147 [INFO] OpenFileManager:385 - Restore cursor
2025-04-09 08:43:58,496 [INFO] MainUpdater:2872 - connection check result : 10
2025-04-09 08:43:58,496 [INFO] MainUpdater:2872 - connection check result : 10
2025-04-09 08:43:58,567 [INFO] MicroXplorer:468 - Change Database Path :
2025-04-09 08:43:58,567 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.140
2025-04-09 08:43:58,580 [ERROR] ProjectManagerView:394 -
java.lang.NullPointerException: Cannot invoke "javax.swing.JTextField.getText()" because the return value of "java.util.List.get(int)" is null
at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab$9.caretUpdate(ProjectChoiceTab.java:2678) ~[filemanager.jar:?]
at javax.swing.text.JTextComponent.fireCaretUpdate(JTextComponent.java:408) ~[?:?]
at javax.swing.text.JTextComponent$MutableCaretEvent.fire(JTextComponent.java:4484) ~[?:?]
at javax.swing.text.JTextComponent$MutableCaretEvent.stateChanged(JTextComponent.java:4506) ~[?:?]
at javax.swing.text.DefaultCaret.fireStateChanged(DefaultCaret.java:857) ~[?:?]
at javax.swing.text.DefaultCaret.changeCaretPosition(DefaultCaret.java:1343) ~[?:?]
at javax.swing.text.DefaultCaret.handleSetDot(DefaultCaret.java:1242) ~[?:?]
at javax.swing.text.DefaultCaret.setDot(DefaultCaret.java:1223) ~[?:?]
at javax.swing.text.DefaultCaret$Handler.insertUpdate(DefaultCaret.java:1819) ~[?:?]
at javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:227) ~[?:?]
at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:781) ~[?:?]
at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:740) ~[?:?]
at javax.swing.text.PlainDocument.insertString(PlainDocument.java:131) ~[?:?]
at javax.swing.text.AbstractDocument.replace(AbstractDocument.java:699) ~[?:?]
at javax.swing.text.JTextComponent.setText(JTextComponent.java:1725) ~[?:?]
at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.createHeapStackFields(ProjectChoiceTab.java:979) ~[filemanager.jar:?]
at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.buildLinkSettingsPanel(ProjectChoiceTab.java:3766) ~[filemanager.jar:?]
at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.defineWindowsFields(ProjectChoiceTab.java:1962) ~[filemanager.jar:?]
at com.st.microxplorer.plugins.projectmanager.gui.ProjectChoiceTab.updateSettings(ProjectChoiceTab.java:555) ~[filemanager.jar:?]
at com.st.microxplorer.plugins.projectmanager.gui.ProjectSettingsPanel.UpdateDialog(ProjectSettingsPanel.java:245) ~[filemanager.jar:?]
at com.st.microxplorer.plugins.projectmanager.ProjectManagerView.propertyChange(ProjectManagerView.java:391) ~[filemanager.jar:?]
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343) ~[?:?]
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335) ~[?:?]
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268) ~[?:?]
at com.st.microxplorer.util.MXPropertyChangeSupport.firePropertyChange(MXPropertyChangeSupport.java:54) ~[STM32CubeMX.jar:?]
at com.st.microxplorer.mxsystem.MxSystem.closeConfig(MxSystem.java:899) ~[STM32CubeMX.jar:?]
at com.st.microxplorer.maingui.MainPanel.closeConfig(MainPanel.java:789) ~[STM32CubeMX.jar:?]
at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.loadConfigurationFile(OpenFileManager.java:287) ~[filemanager.jar:?]
at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userLoadConfig(MainFileManager.java:341) ~[filemanager.jar:?]
at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userLoadConfig(MainFileManager.java:319) ~[filemanager.jar:?]
at com.st.microxplorer.plugins.filemanager.FileManagerView.getSpecificTask(FileManagerView.java:246) ~[filemanager.jar:?]
at com.st.stm32cube.common.mx.editor.CubeMxEditor.getMxTabbedPaneInstance(CubeMxEditor.java:1198) ~[com.st.stm32cube.common.mx_6.14.0.202502271554/:?]
at com.st.stm32cube.common.mx.editor.CubeMxEditor$12$1.createSwingComponent(CubeMxEditor.java:1068) ~[com.st.stm32cube.common.mx_6.14.0.202502271554/:?]
at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite.doComponentCreation(EmbeddedSwingComposite.java:492) ~[com.st.stm32cube.common.mx.oss_6.14.0.202502271554/:?]
at com.st.stm32cube.common.mx.oss.core.awtswtbridge.EmbeddedSwingComposite$4.run(EmbeddedSwingComposite.java:291) ~[com.st.stm32cube.common.mx.oss_6.14.0.202502271554/:?]
at com.st.stm32cube.common.mx.oss.core.awtswtbridge.AwtEnvironment$2.run(AwtEnvironment.java:166) ~[com.st.stm32cube.common.mx.oss_6.14.0.202502271554/:?]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) ~[?:?]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:720) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:714) ~[?:?]
at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:742) ~[?:?]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) ~[?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) ~[?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[?:?]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) ~[?:?]
2025-04-09 08:43:58,765 [WARN] ThirdParty:871 - waiting for thirdparty lock release [close project]
2025-04-09 08:43:58,765 [INFO] ThirdParty:873 - entering critical section [close project]
2025-04-09 08:43:58,766 [INFO] ThirdParty:883 - exiting critical section [close project]
2025-04-09 08:43:58,780 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration)
2025-04-09 08:43:58,802 [INFO] UtilMem:75 - Begin LoadConfig() Used Memory: 313095568 Bytes (711983104)
2025-04-09 08:43:58,803 [INFO] MicroXplorer:468 - Change Database Path :
2025-04-09 08:43:58,803 [INFO] MicroXplorer:498 - Change Database Version : DB.6.0.140
2025-04-09 08:43:58,803 [INFO] OpenFileManager:354 - Change cursor
2025-04-09 08:43:58,820 [INFO] Mcu:2011 - Initializing MCU STM32MP157AAAx STM32MP157AAAx STM32MP157AAA3
2025-04-09 08:44:02,111 [INFO] Context:756 - Trying to add GPIOservice into a context which must be forbidden
2025-04-09 08:44:02,111 [INFO] Context:756 - Trying to add GPIOservice into a context which must be forbidden
2025-04-09 08:44:03,317 [INFO] Context:756 - Trying to add GPIOservice into a context which must be forbidden
2025-04-09 08:44:03,317 [INFO] Context:756 - Trying to add GPIOservice into a context which must be forbidden
2025-04-09 08:44:03,320 [INFO] ImportTextPane:218 - (OptionalMessage_ERROR) Pin10 (VP_RIF_VS_RIF1) cannot be retrieved for this MCU
2025-04-09 08:44:03,380 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,380 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,380 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,380 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,380 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,380 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,380 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,381 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,382 [WARN] ModelIntegratedComponent:63 - No mode defined for component null
2025-04-09 08:44:03,382 [WARN] ModelPack:524 - Component already loaded: STMicroelectronics:HAL Drivers:0.0.0:STMicroelectronics:Device:STMicro_Driver:XSPI:HAL::0.0.1:HAL_XSPI
2025-04-09 08:44:03,399 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS, mode=CMSIS_V1, owner=FREERTOS
2025-04-09 08:44:03,399 [INFO] RtosManager:558 - Registered RTOS mode: class=CMSIS, group=RTOS2, mode=CMSIS_V2, owner=FREERTOS
2025-04-09 08:44:03,399 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V1, owner=FREERTOS
2025-04-09 08:44:03,399 [INFO] RtosManager:558 - Registered RTOS mode: class=RTOS, group=Core, mode=CMSIS_V2, owner=FREERTOS
2025-04-09 08:44:03,399 [WARN] ModelIntegratedComponent:184 - Missing modes for component STMicroelectronics:FreeRTOS:0.0.1:STMicroelectronics:RTOS:FreeRTOS:Core:::10.2.0:
2025-04-09 08:44:03,414 [INFO] ThirdPartyModel:298 - Start build external matchings
2025-04-09 08:44:03,460 [INFO] ThirdPartyModel:316 - End build external matchings
2025-04-09 08:44:03,651 [INFO] UtilMem:75 - End LoadConfig() Used Memory: 551359608 Bytes (711983104)
2025-04-09 08:44:03,788 [WARN] ThirdParty:833 - waiting for thirdparty lock release [change project]
2025-04-09 08:44:03,789 [INFO] ThirdParty:835 - entering critical section [change project]
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USBPD 4.1
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TCPP 4.2.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 2.0.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics LIBJPEG 8.0.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FP-ATR-ASTRA1 2.0.2
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-BLE1 7.1.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 3.0.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics HAL Drivers 0.0.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.16.2
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-IPS 3.1.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics MBEDTLS 2.14.1
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.24.2
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-TOUCHGFX 4.25.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 2.0.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AI 10.0.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 1.0.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-DPower 1.3.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics FreeRTOS 0.0.1
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_DEVICE 1.0.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics X-CUBE-AZRTOS-H7RS 1.1.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics STM32_WPAN 1.0.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics ThreadX 0.0.2
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.0.3
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics lwIP 2.1.2
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Cesanta I-CUBE-Mongoose 7.13.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics USB_HOST 1.0.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :Infineon AIROC-Wi-Fi-Bluetooth-STM32 1.7.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.1.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.2.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:1030 - CMSIS Pack Vendor :STMicroelectronics PDM2PCM 3.3.0
2025-04-09 08:44:03,789 [INFO] ThirdParty:841 - exiting critical section [change project]
2025-04-09 08:44:04,300 [INFO] PinOutPanel:1589 - setPackage(No Configuration,No Configuration)
2025-04-09 08:44:04,302 [INFO] PinOutPanel:1589 - setPackage(STM32MP157AAAx,LFBGA448)
2025-04-09 08:44:04,944 [INFO] UtilMem:75 - Before build in PCC Used Memory: 607643056 Bytes (711983104)
2025-04-09 08:44:05,734 [INFO] UtilMem:75 - After build in PCC Used Memory: 539151808 Bytes (736100352)
2025-04-09 08:44:05,773 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,773 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,773 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,773 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,773 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,774 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,775 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,775 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,775 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,775 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,775 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,775 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,775 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,776 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,776 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,776 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,776 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,776 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,776 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,776 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,776 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,776 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,776 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,777 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,777 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,777 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,777 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,777 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,777 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,778 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,778 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,778 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,778 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,778 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,778 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,779 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,779 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,779 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,779 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,779 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,780 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,780 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,780 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,780 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,781 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,781 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,781 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,781 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,782 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,782 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,782 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,783 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,783 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,783 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,783 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,783 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,784 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,784 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,784 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,784 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,785 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,785 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,785 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,785 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,786 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,786 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,786 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,786 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,787 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,787 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,787 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,787 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,788 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,788 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,788 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,789 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,789 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,790 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,790 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,790 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,791 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,791 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,792 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,792 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,792 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,793 [INFO] IPUIPlugin:80 - create IPUIPlugin
2025-04-09 08:44:05,938 [INFO] CADModel:165 - CPN selected for project levelSTM32MP157AAA3
2025-04-09 08:44:05,939 [INFO] CADModel:114 - Register for checkConnection events
2025-04-09 08:44:06,055 [INFO] OpenFileManager:385 - Restore cursor
2025-04-09 08:45:16,709 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 433675872 Bytes (766509056)
2025-04-09 08:45:17,884 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 496777728 Bytes (766509056)
2025-04-09 08:45:18,708 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC
2025-04-09 08:45:18,708 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RTC
2025-04-09 08:45:18,709 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: ETZPC
2025-04-09 08:45:18,709 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GIC
2025-04-09 08:45:18,709 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS
2025-04-09 08:45:18,709 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: BSEC
2025-04-09 08:45:18,709 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC
2025-04-09 08:45:18,709 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: UART
2025-04-09 08:45:18,712 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GPIO
2025-04-09 08:45:18,712 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: TAMP
2025-04-09 08:45:18,714 [INFO] CodeGenerator:882 - code generatio: config db path: C:\ST\STM32CubeIDE_1.18.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.14.0.202502271554\\db\
2025-04-09 08:45:18,859 [INFO] CodeGenerator:1609 - *******************Project context A7 ROM selected
2025-04-09 08:45:18,859 [INFO] CodeGenerator:1609 - *******************Project context A7S selected
2025-04-09 08:45:18,859 [INFO] CodeGenerator:1609 - *******************Project context A7S selected
2025-04-09 08:45:18,859 [INFO] CodeGenerator:1609 - *******************Project context A7NS selected
2025-04-09 08:45:18,859 [INFO] CodeGenerator:1609 - *******************Project context M4 selected
2025-04-09 08:45:19,027 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\MXTmpFiles\license.tmp_save
2025-04-09 08:45:19,861 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\MXTmpFiles\license.tmp
2025-04-09 08:45:20,244 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\gpio.tmp_save
2025-04-09 08:45:20,433 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\gpio.tmp
2025-04-09 08:45:20,440 [WARN] IPConfigManager:103 - WARNING: Missing Config File for ETZPC ip!!
2025-04-09 08:45:20,451 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:45:20,611 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:45:20,661 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:45:20,728 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_it.c_save
2025-04-09 08:45:20,893 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_it.c
2025-04-09 08:45:20,902 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_it.h_save
2025-04-09 08:45:20,996 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_it.h
2025-04-09 08:45:21,026 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:45:21,039 [WARN] IPConfigManager:103 - WARNING: Missing Config File for VREFBUF ip!!
2025-04-09 08:45:21,047 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:45:21,068 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_hal_msp.c_save
2025-04-09 08:45:21,287 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_hal_msp.c
2025-04-09 08:45:21,296 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\system.tmp_save
2025-04-09 08:45:21,369 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\system.tmp
2025-04-09 08:45:21,389 [INFO] CodeEngine:319 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_hal_conf.h_save
2025-04-09 08:45:21,472 [INFO] CodeEngine:343 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_hal_conf.h
2025-04-09 08:45:21,548 [INFO] ApiDbMcu:508 - Load IP Config File for UART4
2025-04-09 08:45:21,558 [INFO] ApiDbMcu:508 - Load IP Config File for RCC
2025-04-09 08:45:21,577 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\main.h_save
2025-04-09 08:45:21,689 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\main.h
2025-04-09 08:45:21,698 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\main.c_save
2025-04-09 08:45:21,859 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\main.c
2025-04-09 08:45:21,953 [INFO] DTGenerator:243 -
>>> DTGen : IN
2025-04-09 08:45:22,431 [INFO] GenProcessManager:166 -
2025-04-09 08:45:22,432 [INFO] GenProcessManager:167 - Launching process: kernel-dtsBind
2025-04-09 08:45:22,432 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=kernel-dtsBind - Output=kernel
=======================
2025-04-09 08:45:22,432 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=kernel-dtsBind - Output=u-boot
=======================
2025-04-09 08:45:22,444 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=kernel-dtsBind - FW=LINUX - matchingCtxt=CortexA7NS
2025-04-09 08:45:22,477 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=kernel-dtsBind - FW=CUBE - matchingCtxt=CortexM4
2025-04-09 08:45:22,492 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\kernel\stm32mp157a-cortex-m4 7-4-mx.dts_save
2025-04-09 08:45:22,792 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\kernel\stm32mp157a-cortex-m4 7-4-mx.dts
2025-04-09 08:45:22,797 [INFO] GenProcessManager:166 -
2025-04-09 08:45:22,797 [INFO] GenProcessManager:167 - Launching process: ddrConfigGen
2025-04-09 08:45:22,797 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=ddrConfigGen - Output=tf-a
=======================
2025-04-09 08:45:22,803 [ERROR] DdrService:508 - [DDR SERVICE(MCU)] The IP object exists but the DDR configuration is not valid
2025-04-09 08:45:22,804 [WARN] GenProcessDdrConfigGen:81 - DDR config file not generated: ddrSrvc error=The DDR IP exists, but it is not properly configured. Can not access the DDR register list - outputFile=D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp15-mx.dtsi
2025-04-09 08:45:22,804 [INFO] GenProcessManager:166 -
2025-04-09 08:45:22,804 [INFO] GenProcessManager:167 - Launching process: uboot-dtsBind
2025-04-09 08:45:22,807 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=uboot-dtsBind - Output=u-boot
=======================
2025-04-09 08:45:22,807 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=uboot-dtsBind - FW=U-BOOT - matchingCtxt=
2025-04-09 08:45:22,829 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\u-boot\stm32mp157a-cortex-m4 7-4-mx-u-boot.dtsi_save
2025-04-09 08:45:22,961 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\u-boot\stm32mp157a-cortex-m4 7-4-mx-u-boot.dtsi
2025-04-09 08:45:22,964 [INFO] GenProcessManager:166 -
2025-04-09 08:45:22,964 [INFO] GenProcessManager:167 - Launching process: tfa-dtsBind
2025-04-09 08:45:22,964 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=tfa-dtsBind - Output=tf-a
=======================
2025-04-09 08:45:22,964 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=tfa-dtsBind - FW=TF-A - matchingCtxt=BootLoader
2025-04-09 08:45:23,001 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx.dts_save
2025-04-09 08:45:23,227 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx.dts
2025-04-09 08:45:23,231 [INFO] GenProcessManager:166 -
2025-04-09 08:45:23,231 [INFO] GenProcessManager:167 - Launching process: fwconfig-dtsBind
2025-04-09 08:45:23,231 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=fwconfig-dtsBind - Output=tf-a
=======================
2025-04-09 08:45:23,237 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx-fw-config.dts_save
2025-04-09 08:45:23,334 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx-fw-config.dts
2025-04-09 08:45:23,338 [INFO] GenProcessManager:166 -
2025-04-09 08:45:23,338 [INFO] GenProcessManager:167 - Launching process: optee-dtsBind
2025-04-09 08:45:23,338 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=optee-dtsBind - Output=optee-os
=======================
2025-04-09 08:45:23,338 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=optee-dtsBind - FW=OP-TEE - matchingCtxt=CortexA7S
2025-04-09 08:45:23,385 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\optee-os\stm32mp157a-cortex-m4 7-4-mx.dts_save
2025-04-09 08:45:23,592 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\optee-os\stm32mp157a-cortex-m4 7-4-mx.dts
2025-04-09 08:45:23,597 [INFO] DTGenerator:344 -
>>> DTGen : OUT
2025-04-09 08:45:24,009 [INFO] ProjectBuilder:3324 - Time for Copy HAL[1] : 295mS.
2025-04-09 08:45:24,020 [INFO] ProjectBuilder:4912 - Project Generator version: 4.6.0-B36
2025-04-09 08:45:24,090 [INFO] ConfigFileManager:1590 - The Die is : DIE500
2025-04-09 08:45:24,724 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT]
2025-04-09 08:45:26,579 [INFO] ProjectBuilder:5191 - Time for Generating toolchain IDE Files: 2556mS.
2025-04-09 08:45:26,580 [INFO] ProjectBuilder:3181 - Time for Copy CMSIS : 0mS.
2025-04-09 08:45:26,583 [INFO] ProjectBuilder:3181 - Time for Copy CMSIS : 0mS.
2025-04-09 08:52:14,743 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 547241800 Bytes (781189120)
2025-04-09 08:52:16,103 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 613301768 Bytes (781189120)
2025-04-09 08:52:16,848 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC
2025-04-09 08:52:16,848 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RTC
2025-04-09 08:52:16,849 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: ETZPC
2025-04-09 08:52:16,849 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GIC
2025-04-09 08:52:16,850 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS
2025-04-09 08:52:16,850 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: BSEC
2025-04-09 08:52:16,850 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC
2025-04-09 08:52:16,851 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: UART
2025-04-09 08:52:16,857 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GPIO
2025-04-09 08:52:16,858 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: TAMP
2025-04-09 08:52:16,860 [INFO] CodeGenerator:882 - code generatio: config db path: C:\ST\STM32CubeIDE_1.18.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.14.0.202502271554\\db\
2025-04-09 08:52:16,936 [INFO] CodeGenerator:1609 - *******************Project context A7 ROM selected
2025-04-09 08:52:16,937 [INFO] CodeGenerator:1609 - *******************Project context A7S selected
2025-04-09 08:52:16,937 [INFO] CodeGenerator:1609 - *******************Project context A7S selected
2025-04-09 08:52:16,937 [INFO] CodeGenerator:1609 - *******************Project context A7NS selected
2025-04-09 08:52:16,937 [INFO] CodeGenerator:1609 - *******************Project context M4 selected
2025-04-09 08:52:17,040 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\MXTmpFiles\license.tmp_save
2025-04-09 08:52:17,286 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\MXTmpFiles\license.tmp
2025-04-09 08:52:17,316 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\gpio.tmp_save
2025-04-09 08:52:17,473 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\gpio.tmp
2025-04-09 08:52:17,477 [WARN] IPConfigManager:103 - WARNING: Missing Config File for ETZPC ip!!
2025-04-09 08:52:17,487 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:52:17,510 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:52:17,524 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:52:17,578 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_it.c_save
2025-04-09 08:52:17,736 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_it.c
2025-04-09 08:52:17,751 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_it.h_save
2025-04-09 08:52:17,848 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_it.h
2025-04-09 08:52:17,874 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:52:17,879 [WARN] IPConfigManager:103 - WARNING: Missing Config File for VREFBUF ip!!
2025-04-09 08:52:17,888 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:52:17,904 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_hal_msp.c_save
2025-04-09 08:52:18,044 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_hal_msp.c
2025-04-09 08:52:18,052 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\system.tmp_save
2025-04-09 08:52:18,133 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\system.tmp
2025-04-09 08:52:18,154 [INFO] CodeEngine:319 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_hal_conf.h_save
2025-04-09 08:52:18,246 [INFO] CodeEngine:343 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_hal_conf.h
2025-04-09 08:52:18,286 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\main.h_save
2025-04-09 08:52:18,375 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\main.h
2025-04-09 08:52:18,386 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\main.c_save
2025-04-09 08:52:18,512 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\main.c
2025-04-09 08:52:18,562 [INFO] DTGenerator:243 -
>>> DTGen : IN
2025-04-09 08:52:18,775 [INFO] GenProcessManager:166 -
2025-04-09 08:52:18,775 [INFO] GenProcessManager:167 - Launching process: kernel-dtsBind
2025-04-09 08:52:18,775 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=kernel-dtsBind - Output=kernel
=======================
2025-04-09 08:52:18,775 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=kernel-dtsBind - Output=u-boot
=======================
2025-04-09 08:52:18,777 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=kernel-dtsBind - FW=LINUX - matchingCtxt=CortexA7NS
2025-04-09 08:52:18,812 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=kernel-dtsBind - FW=CUBE - matchingCtxt=CortexM4
2025-04-09 08:52:18,825 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\kernel\stm32mp157a-cortex-m4 7-4-mx.dts_save
2025-04-09 08:52:18,956 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\kernel\stm32mp157a-cortex-m4 7-4-mx.dts
2025-04-09 08:52:18,962 [INFO] GenProcessManager:166 -
2025-04-09 08:52:18,962 [INFO] GenProcessManager:167 - Launching process: ddrConfigGen
2025-04-09 08:52:18,962 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=ddrConfigGen - Output=tf-a
=======================
2025-04-09 08:52:18,963 [ERROR] DdrService:508 - [DDR SERVICE(MCU)] The IP object exists but the DDR configuration is not valid
2025-04-09 08:52:18,963 [WARN] GenProcessDdrConfigGen:81 - DDR config file not generated: ddrSrvc error=The DDR IP exists, but it is not properly configured. Can not access the DDR register list - outputFile=D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp15-mx.dtsi
2025-04-09 08:52:18,963 [INFO] GenProcessManager:166 -
2025-04-09 08:52:18,963 [INFO] GenProcessManager:167 - Launching process: uboot-dtsBind
2025-04-09 08:52:18,964 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=uboot-dtsBind - Output=u-boot
=======================
2025-04-09 08:52:18,964 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=uboot-dtsBind - FW=U-BOOT - matchingCtxt=
2025-04-09 08:52:18,987 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\u-boot\stm32mp157a-cortex-m4 7-4-mx-u-boot.dtsi_save
2025-04-09 08:52:19,090 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\u-boot\stm32mp157a-cortex-m4 7-4-mx-u-boot.dtsi
2025-04-09 08:52:19,093 [INFO] GenProcessManager:166 -
2025-04-09 08:52:19,094 [INFO] GenProcessManager:167 - Launching process: tfa-dtsBind
2025-04-09 08:52:19,094 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=tfa-dtsBind - Output=tf-a
=======================
2025-04-09 08:52:19,094 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=tfa-dtsBind - FW=TF-A - matchingCtxt=BootLoader
2025-04-09 08:52:19,128 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx.dts_save
2025-04-09 08:52:19,316 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx.dts
2025-04-09 08:52:19,321 [INFO] GenProcessManager:166 -
2025-04-09 08:52:19,321 [INFO] GenProcessManager:167 - Launching process: fwconfig-dtsBind
2025-04-09 08:52:19,321 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=fwconfig-dtsBind - Output=tf-a
=======================
2025-04-09 08:52:19,327 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx-fw-config.dts_save
2025-04-09 08:52:19,422 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx-fw-config.dts
2025-04-09 08:52:19,426 [INFO] GenProcessManager:166 -
2025-04-09 08:52:19,426 [INFO] GenProcessManager:167 - Launching process: optee-dtsBind
2025-04-09 08:52:19,426 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=optee-dtsBind - Output=optee-os
=======================
2025-04-09 08:52:19,427 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=optee-dtsBind - FW=OP-TEE - matchingCtxt=CortexA7S
2025-04-09 08:52:19,474 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\optee-os\stm32mp157a-cortex-m4 7-4-mx.dts_save
2025-04-09 08:52:19,657 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\optee-os\stm32mp157a-cortex-m4 7-4-mx.dts
2025-04-09 08:52:19,662 [INFO] DTGenerator:344 -
>>> DTGen : OUT
2025-04-09 08:52:20,061 [INFO] ProjectBuilder:3324 - Time for Copy HAL[1] : 281mS.
2025-04-09 08:52:20,067 [INFO] ProjectBuilder:4912 - Project Generator version: 4.6.0-B36
2025-04-09 08:52:20,306 [INFO] ConfigFileManager:1590 - The Die is : DIE500
2025-04-09 08:52:22,295 [INFO] ProjectBuilder:5191 - Time for Generating toolchain IDE Files: 2229mS.
2025-04-09 08:52:22,297 [INFO] ProjectBuilder:3181 - Time for Copy CMSIS : 0mS.
2025-04-09 08:52:22,300 [INFO] ProjectBuilder:3181 - Time for Copy CMSIS : 0mS.
2025-04-09 08:58:27,454 [INFO] Gpio:277 - dependency for GPIO [UART4]
2025-04-09 08:58:35,308 [INFO] Gpio:277 - dependency for GPIO [UART4]
2025-04-09 08:58:35,531 [INFO] Gpio:277 - dependency for GPIO [UART4]
2025-04-09 08:58:35,915 [INFO] Gpio:277 - dependency for GPIO [UART4]
2025-04-09 08:58:36,087 [INFO] Gpio:277 - dependency for GPIO [UART4]
2025-04-09 08:58:47,889 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 615143208 Bytes (781189120)
2025-04-09 08:58:48,673 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 684868816 Bytes (781189120)
2025-04-09 08:58:48,974 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC
2025-04-09 08:58:48,974 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RTC
2025-04-09 08:58:48,974 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: ETZPC
2025-04-09 08:58:48,974 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GIC
2025-04-09 08:58:48,974 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS
2025-04-09 08:58:48,974 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: BSEC
2025-04-09 08:58:48,974 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC
2025-04-09 08:58:48,974 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: UART
2025-04-09 08:58:48,976 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GPIO
2025-04-09 08:58:48,977 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: TAMP
2025-04-09 08:58:48,978 [INFO] CodeGenerator:882 - code generatio: config db path: C:\ST\STM32CubeIDE_1.18.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.14.0.202502271554\\db\
2025-04-09 08:58:49,048 [INFO] CodeGenerator:1609 - *******************Project context A7 ROM selected
2025-04-09 08:58:49,048 [INFO] CodeGenerator:1609 - *******************Project context A7S selected
2025-04-09 08:58:49,048 [INFO] CodeGenerator:1609 - *******************Project context A7S selected
2025-04-09 08:58:49,048 [INFO] CodeGenerator:1609 - *******************Project context A7NS selected
2025-04-09 08:58:49,048 [INFO] CodeGenerator:1609 - *******************Project context M4 selected
2025-04-09 08:58:49,219 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\MXTmpFiles\license.tmp_save
2025-04-09 08:58:49,572 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\MXTmpFiles\license.tmp
2025-04-09 08:58:49,610 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\gpio.tmp_save
2025-04-09 08:58:49,826 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\gpio.tmp
2025-04-09 08:58:49,832 [WARN] IPConfigManager:103 - WARNING: Missing Config File for ETZPC ip!!
2025-04-09 08:58:49,852 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:58:49,885 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:58:49,913 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:58:49,987 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_it.c_save
2025-04-09 08:58:50,157 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_it.c
2025-04-09 08:58:50,167 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_it.h_save
2025-04-09 08:58:50,284 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_it.h
2025-04-09 08:58:50,325 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:58:50,341 [WARN] IPConfigManager:103 - WARNING: Missing Config File for VREFBUF ip!!
2025-04-09 08:58:50,357 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 08:58:50,373 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_hal_msp.c_save
2025-04-09 08:58:50,536 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_hal_msp.c
2025-04-09 08:58:50,544 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\system.tmp_save
2025-04-09 08:58:50,641 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\system.tmp
2025-04-09 08:58:50,662 [INFO] CodeEngine:319 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_hal_conf.h_save
2025-04-09 08:58:50,768 [INFO] CodeEngine:343 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_hal_conf.h
2025-04-09 08:58:50,806 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\main.h_save
2025-04-09 08:58:50,907 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\main.h
2025-04-09 08:58:50,922 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\main.c_save
2025-04-09 08:58:51,076 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\main.c
2025-04-09 08:58:51,132 [INFO] DTGenerator:243 -
>>> DTGen : IN
2025-04-09 08:58:51,313 [INFO] GenProcessManager:166 -
2025-04-09 08:58:51,313 [INFO] GenProcessManager:167 - Launching process: kernel-dtsBind
2025-04-09 08:58:51,313 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=kernel-dtsBind - Output=kernel
=======================
2025-04-09 08:58:51,314 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=kernel-dtsBind - Output=u-boot
=======================
2025-04-09 08:58:51,315 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=kernel-dtsBind - FW=LINUX - matchingCtxt=CortexA7NS
2025-04-09 08:58:51,361 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=kernel-dtsBind - FW=CUBE - matchingCtxt=CortexM4
2025-04-09 08:58:51,374 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\kernel\stm32mp157a-cortex-m4 7-4-mx.dts_save
2025-04-09 08:58:51,518 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\kernel\stm32mp157a-cortex-m4 7-4-mx.dts
2025-04-09 08:58:51,522 [INFO] GenProcessManager:166 -
2025-04-09 08:58:51,522 [INFO] GenProcessManager:167 - Launching process: ddrConfigGen
2025-04-09 08:58:51,523 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=ddrConfigGen - Output=tf-a
=======================
2025-04-09 08:58:51,523 [ERROR] DdrService:508 - [DDR SERVICE(MCU)] The IP object exists but the DDR configuration is not valid
2025-04-09 08:58:51,524 [WARN] GenProcessDdrConfigGen:81 - DDR config file not generated: ddrSrvc error=The DDR IP exists, but it is not properly configured. Can not access the DDR register list - outputFile=D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp15-mx.dtsi
2025-04-09 08:58:51,524 [INFO] GenProcessManager:166 -
2025-04-09 08:58:51,524 [INFO] GenProcessManager:167 - Launching process: uboot-dtsBind
2025-04-09 08:58:51,524 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=uboot-dtsBind - Output=u-boot
=======================
2025-04-09 08:58:51,525 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=uboot-dtsBind - FW=U-BOOT - matchingCtxt=
2025-04-09 08:58:51,555 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\u-boot\stm32mp157a-cortex-m4 7-4-mx-u-boot.dtsi_save
2025-04-09 08:58:51,678 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\u-boot\stm32mp157a-cortex-m4 7-4-mx-u-boot.dtsi
2025-04-09 08:58:51,681 [INFO] GenProcessManager:166 -
2025-04-09 08:58:51,681 [INFO] GenProcessManager:167 - Launching process: tfa-dtsBind
2025-04-09 08:58:51,682 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=tfa-dtsBind - Output=tf-a
=======================
2025-04-09 08:58:51,682 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=tfa-dtsBind - FW=TF-A - matchingCtxt=BootLoader
2025-04-09 08:58:51,711 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx.dts_save
2025-04-09 08:58:51,901 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx.dts
2025-04-09 08:58:51,905 [INFO] GenProcessManager:166 -
2025-04-09 08:58:51,905 [INFO] GenProcessManager:167 - Launching process: fwconfig-dtsBind
2025-04-09 08:58:51,905 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=fwconfig-dtsBind - Output=tf-a
=======================
2025-04-09 08:58:51,910 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx-fw-config.dts_save
2025-04-09 08:58:51,994 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx-fw-config.dts
2025-04-09 08:58:51,996 [INFO] GenProcessManager:166 -
2025-04-09 08:58:51,997 [INFO] GenProcessManager:167 - Launching process: optee-dtsBind
2025-04-09 08:58:51,997 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=optee-dtsBind - Output=optee-os
=======================
2025-04-09 08:58:51,997 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=optee-dtsBind - FW=OP-TEE - matchingCtxt=CortexA7S
2025-04-09 08:58:52,039 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\optee-os\stm32mp157a-cortex-m4 7-4-mx.dts_save
2025-04-09 08:58:52,195 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\optee-os\stm32mp157a-cortex-m4 7-4-mx.dts
2025-04-09 08:58:52,199 [INFO] DTGenerator:344 -
>>> DTGen : OUT
2025-04-09 08:58:52,479 [INFO] ProjectBuilder:3324 - Time for Copy HAL[1] : 179mS.
2025-04-09 08:58:52,482 [INFO] ProjectBuilder:4912 - Project Generator version: 4.6.0-B36
2025-04-09 08:58:52,546 [INFO] ConfigFileManager:1590 - The Die is : DIE500
2025-04-09 08:58:53,927 [INFO] ProjectBuilder:5191 - Time for Generating toolchain IDE Files: 1445mS.
2025-04-09 08:58:53,928 [INFO] ProjectBuilder:3181 - Time for Copy CMSIS : 0mS.
2025-04-09 08:58:53,933 [INFO] ProjectBuilder:3181 - Time for Copy CMSIS : 0mS.
2025-04-09 08:59:35,920 [INFO] Gpio:277 - dependency for GPIO [UART4]
2025-04-09 09:03:51,033 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 459516736 Bytes (781189120)
2025-04-09 09:03:51,741 [INFO] UtilMem:75 - End SaveConfig() Used Memory: 518236992 Bytes (781189120)
2025-04-09 09:03:52,040 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RCC
2025-04-09 09:03:52,040 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: RTC
2025-04-09 09:03:52,040 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: ETZPC
2025-04-09 09:03:52,040 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GIC
2025-04-09 09:03:52,040 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: SYS
2025-04-09 09:03:52,040 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: BSEC
2025-04-09 09:03:52,040 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: NVIC
2025-04-09 09:03:52,040 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: UART
2025-04-09 09:03:52,043 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: GPIO
2025-04-09 09:03:52,043 [INFO] BlockDiagram:2775 - set Specific Code input for plugin: TAMP
2025-04-09 09:03:52,044 [INFO] CodeGenerator:882 - code generatio: config db path: C:\ST\STM32CubeIDE_1.18.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.14.0.202502271554\\db\
2025-04-09 09:03:52,109 [INFO] CodeGenerator:1609 - *******************Project context A7 ROM selected
2025-04-09 09:03:52,109 [INFO] CodeGenerator:1609 - *******************Project context A7S selected
2025-04-09 09:03:52,109 [INFO] CodeGenerator:1609 - *******************Project context A7S selected
2025-04-09 09:03:52,110 [INFO] CodeGenerator:1609 - *******************Project context A7NS selected
2025-04-09 09:03:52,110 [INFO] CodeGenerator:1609 - *******************Project context M4 selected
2025-04-09 09:03:52,164 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\MXTmpFiles\license.tmp_save
2025-04-09 09:03:52,221 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\MXTmpFiles\license.tmp
2025-04-09 09:03:52,244 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\gpio.tmp_save
2025-04-09 09:03:52,297 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\gpio.tmp
2025-04-09 09:03:52,300 [WARN] IPConfigManager:103 - WARNING: Missing Config File for ETZPC ip!!
2025-04-09 09:03:52,312 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 09:03:52,331 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 09:03:52,348 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 09:03:52,391 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_it.c_save
2025-04-09 09:03:52,481 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_it.c
2025-04-09 09:03:52,488 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_it.h_save
2025-04-09 09:03:52,547 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_it.h
2025-04-09 09:03:52,571 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 09:03:52,574 [WARN] IPConfigManager:103 - WARNING: Missing Config File for VREFBUF ip!!
2025-04-09 09:03:52,586 [WARN] IPConfigManager:103 - WARNING: Missing Config File for MDMA ip!!
2025-04-09 09:03:52,597 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_hal_msp.c_save
2025-04-09 09:03:52,682 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\stm32mp1xx_hal_msp.c
2025-04-09 09:03:52,688 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\system.tmp_save
2025-04-09 09:03:52,734 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\MXTmpFiles\system.tmp
2025-04-09 09:03:52,748 [INFO] CodeEngine:319 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_hal_conf.h_save
2025-04-09 09:03:52,795 [INFO] CodeEngine:343 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\stm32mp1xx_hal_conf.h
2025-04-09 09:03:52,817 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\main.h_save
2025-04-09 09:03:52,867 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Inc\main.h
2025-04-09 09:03:52,874 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\main.c_save
2025-04-09 09:03:52,946 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CM4\Core\Src\main.c
2025-04-09 09:03:52,983 [INFO] DTGenerator:243 -
>>> DTGen : IN
2025-04-09 09:03:53,087 [INFO] GenProcessManager:166 -
2025-04-09 09:03:53,088 [INFO] GenProcessManager:167 - Launching process: kernel-dtsBind
2025-04-09 09:03:53,088 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=kernel-dtsBind - Output=kernel
=======================
2025-04-09 09:03:53,088 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=kernel-dtsBind - Output=u-boot
=======================
2025-04-09 09:03:53,090 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=kernel-dtsBind - FW=LINUX - matchingCtxt=CortexA7NS
2025-04-09 09:03:53,113 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=kernel-dtsBind - FW=CUBE - matchingCtxt=CortexM4
2025-04-09 09:03:53,124 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\kernel\stm32mp157a-cortex-m4 7-4-mx.dts_save
2025-04-09 09:03:53,220 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\kernel\stm32mp157a-cortex-m4 7-4-mx.dts
2025-04-09 09:03:53,223 [INFO] GenProcessManager:166 -
2025-04-09 09:03:53,223 [INFO] GenProcessManager:167 - Launching process: ddrConfigGen
2025-04-09 09:03:53,223 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=ddrConfigGen - Output=tf-a
=======================
2025-04-09 09:03:53,224 [ERROR] DdrService:508 - [DDR SERVICE(MCU)] The IP object exists but the DDR configuration is not valid
2025-04-09 09:03:53,224 [WARN] GenProcessDdrConfigGen:81 - DDR config file not generated: ddrSrvc error=The DDR IP exists, but it is not properly configured. Can not access the DDR register list - outputFile=D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp15-mx.dtsi
2025-04-09 09:03:53,224 [INFO] GenProcessManager:166 -
2025-04-09 09:03:53,224 [INFO] GenProcessManager:167 - Launching process: uboot-dtsBind
2025-04-09 09:03:53,224 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=uboot-dtsBind - Output=u-boot
=======================
2025-04-09 09:03:53,224 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=uboot-dtsBind - FW=U-BOOT - matchingCtxt=
2025-04-09 09:03:53,232 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\u-boot\stm32mp157a-cortex-m4 7-4-mx-u-boot.dtsi_save
2025-04-09 09:03:53,312 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\u-boot\stm32mp157a-cortex-m4 7-4-mx-u-boot.dtsi
2025-04-09 09:03:53,314 [INFO] GenProcessManager:166 -
2025-04-09 09:03:53,314 [INFO] GenProcessManager:167 - Launching process: tfa-dtsBind
2025-04-09 09:03:53,315 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=tfa-dtsBind - Output=tf-a
=======================
2025-04-09 09:03:53,315 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=tfa-dtsBind - FW=TF-A - matchingCtxt=BootLoader
2025-04-09 09:03:53,323 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx.dts_save
2025-04-09 09:03:53,422 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx.dts
2025-04-09 09:03:53,425 [INFO] GenProcessManager:166 -
2025-04-09 09:03:53,425 [INFO] GenProcessManager:167 - Launching process: fwconfig-dtsBind
2025-04-09 09:03:53,425 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=fwconfig-dtsBind - Output=tf-a
=======================
2025-04-09 09:03:53,427 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx-fw-config.dts_save
2025-04-09 09:03:53,475 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\tf-a\stm32mp157a-cortex-m4 7-4-mx-fw-config.dts
2025-04-09 09:03:53,477 [INFO] GenProcessManager:166 -
2025-04-09 09:03:53,477 [INFO] GenProcessManager:167 - Launching process: optee-dtsBind
2025-04-09 09:03:53,477 [INFO] GenerationProcess:393 -
GenProcess for OUTPUT : processName=optee-dtsBind - Output=optee-os
=======================
2025-04-09 09:03:53,477 [INFO] GenProcessDtsBind:272 - >>> FW bind process - processName=optee-dtsBind - FW=OP-TEE - matchingCtxt=CortexA7S
2025-04-09 09:03:53,488 [INFO] CodeEngine:263 - oldGeneratedFile, D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\optee-os\stm32mp157a-cortex-m4 7-4-mx.dts_save
2025-04-09 09:03:53,583 [INFO] CodeEngine:287 - Generated code: D:\Git\Gitea\STM32\STM32MP157AAA3\Cortex-M4 7-4\CA7\DeviceTree\Cortex-M4 7-4\optee-os\stm32mp157a-cortex-m4 7-4-mx.dts
2025-04-09 09:03:53,585 [INFO] DTGenerator:344 -
>>> DTGen : OUT
2025-04-09 09:03:53,859 [INFO] ProjectBuilder:3324 - Time for Copy HAL[1] : 212mS.
2025-04-09 09:03:53,861 [INFO] ProjectBuilder:4912 - Project Generator version: 4.6.0-B36
2025-04-09 09:03:53,911 [INFO] ConfigFileManager:1590 - The Die is : DIE500
2025-04-09 09:03:55,225 [INFO] ProjectBuilder:5191 - Time for Generating toolchain IDE Files: 1364mS.
2025-04-09 09:03:55,226 [INFO] ProjectBuilder:3181 - Time for Copy CMSIS : 0mS.
2025-04-09 09:03:55,228 [INFO] ProjectBuilder:3181 - Time for Copy CMSIS : 0mS.
2025-04-09 09:32:41,550 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT]

View File

@ -14,3 +14,4 @@
*** SESSION 3月 31, 2025 09:15:27.209 -------------------------------------------
*** SESSION 4月 02, 2025 08:37:21.58 --------------------------------------------
*** SESSION 4月 08, 2025 22:45:12.539 -------------------------------------------
*** SESSION 4月 09, 2025 08:19:04.502 -------------------------------------------

View File

@ -1,4 +0,0 @@
2F62501ED4689FB349E356AB974DBE57=58DC80C130FF1F8D3F80A6490EE3F57C
635E684B79701B039C64EA45C3F84D30=58DC80C130FF1F8D3F80A6490EE3F57C
DC22A860405A8BF2F2C095E5B6529F12=1F098FDD630F96060A5BB9FD2B0116AC
eclipse.preferences.version=1

View File

@ -1,287 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include<stdio.h>
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
char rx_buf,tx_buf;
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
int __io_putchar(int ch)
{
HAL_UART_Transmit(&huart4,(uint8_t*)&ch,1,10);
return ch;
}
void uart4_idle_func(void)
{
int len = 0;
//判定 是否为空闲中断
if( __HAL_UART_GET_FLAG(&huart4, UART_FLAG_IDLE) == SET )
{
// 清除空闲中断标志,因为是自己定义的函数 系统不会清标
__HAL_UART_CLEAR_IDLEFLAG(&huart4);
// 计算接收数据的长
len = sizeof(rx_buf) - huart4.RxXferCount;
//第二个参数是 还剩下的空间
// 打印接收到时数据 数据处理
printf("uart rx len = %d, data: %s\r\n",len, rx_buf);
// 准备接收下一次数<E6ACA1>?
memset(rx_buf,0,len); // 清理接收容器
//重置接收指针 剩余容器大小
huart4.pRxBuffPtr = rx_buf;
huart4.RxXferCount = sizeof(rx_buf);
}
}
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
__HAL_UART_ENABLE_IT(&huart4,UART_IT_IDLE);
HAL_UART_Receive_IT(&huart4,rx_buf,sizeof(rx_buf));
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,261 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include<stdio.h>
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
int x = 0;
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_UART_Transmit(&huart4, (uint8_t*)"\rhello\n",7,10);
HAL_Delay(1000);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,280 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include<stddef.h>
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
void uart4_idle_func(void)
{
int len = 0;
//判定 是否为空闲中断
if( __HAL_UART_GET_FLAG(&huart4, UART_FLAG_IDLE) == SET )
{
// 清除空闲中断标志,因为是自己定义的函数 系统不会清标
__HAL_UART_CLEAR_IDLEFLAG(&huart4);
// 计算接收数据的长
len = sizeof(rx_buf)- huart4.RxXferCount;
//第二个参数是 还剩下的空间
// 打印接收到时数据 数据处理
printf("uart rx len = %d, data: %s\r\n",len, rx_buf);
// 准备接收下一次数<E6ACA1>?
memset(rx_buf,0,len); // 清理接收容器
//重置接收指针 剩余容器大小
huart4.pRxBuffPtr = rx_buf;
huart4.RxXferCount = sizeof(rx_buf);
}
}
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
__HAL_UART_ENABLE_IT(&huart4,UART_IT_IDLE);
HAL_UART_Receive_IT(&huart4,rx_buf,sizeof(rx_buf));
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,217 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32mp1xx_it.c
* @brief Interrupt Service Routines.
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stm32mp1xx_it.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN TD */
/* USER CODE END TD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/* External variables --------------------------------------------------------*/
/* USER CODE BEGIN EV */
/* USER CODE END EV */
/******************************************************************************/
/* Cortex-M4 Processor Interruption and Exception Handlers */
/******************************************************************************/
/**
* @brief This function handles Non maskable interrupt.
*/
void NMI_Handler(void)
{
/* USER CODE BEGIN NonMaskableInt_IRQn 0 */
/* USER CODE END NonMaskableInt_IRQn 0 */
/* USER CODE BEGIN NonMaskableInt_IRQn 1 */
while (1)
{
}
/* USER CODE END NonMaskableInt_IRQn 1 */
}
/**
* @brief This function handles Hard fault interrupt.
*/
void HardFault_Handler(void)
{
/* USER CODE BEGIN HardFault_IRQn 0 */
/* USER CODE END HardFault_IRQn 0 */
while (1)
{
/* USER CODE BEGIN W1_HardFault_IRQn 0 */
/* USER CODE END W1_HardFault_IRQn 0 */
}
}
/**
* @brief This function handles Memory management fault.
*/
void MemManage_Handler(void)
{
/* USER CODE BEGIN MemoryManagement_IRQn 0 */
/* USER CODE END MemoryManagement_IRQn 0 */
while (1)
{
/* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
/* USER CODE END W1_MemoryManagement_IRQn 0 */
}
}
/**
* @brief This function handles Pre-fetch fault, memory access fault.
*/
void BusFault_Handler(void)
{
/* USER CODE BEGIN BusFault_IRQn 0 */
/* USER CODE END BusFault_IRQn 0 */
while (1)
{
/* USER CODE BEGIN W1_BusFault_IRQn 0 */
/* USER CODE END W1_BusFault_IRQn 0 */
}
}
/**
* @brief This function handles Undefined instruction or illegal state.
*/
void UsageFault_Handler(void)
{
/* USER CODE BEGIN UsageFault_IRQn 0 */
/* USER CODE END UsageFault_IRQn 0 */
while (1)
{
/* USER CODE BEGIN W1_UsageFault_IRQn 0 */
/* USER CODE END W1_UsageFault_IRQn 0 */
}
}
/**
* @brief This function handles System service call via SWI instruction.
*/
void SVC_Handler(void)
{
/* USER CODE BEGIN SVCall_IRQn 0 */
/* USER CODE END SVCall_IRQn 0 */
/* USER CODE BEGIN SVCall_IRQn 1 */
/* USER CODE END SVCall_IRQn 1 */
}
/**
* @brief This function handles Debug monitor.
*/
void DebugMon_Handler(void)
{
/* USER CODE BEGIN DebugMonitor_IRQn 0 */
/* USER CODE END DebugMonitor_IRQn 0 */
/* USER CODE BEGIN DebugMonitor_IRQn 1 */
/* USER CODE END DebugMonitor_IRQn 1 */
}
/**
* @brief This function handles Pendable request for system service.
*/
void PendSV_Handler(void)
{
/* USER CODE BEGIN PendSV_IRQn 0 */
/* USER CODE END PendSV_IRQn 0 */
/* USER CODE BEGIN PendSV_IRQn 1 */
/* USER CODE END PendSV_IRQn 1 */
}
/**
* @brief This function handles System tick timer.
*/
void SysTick_Handler(void)
{
/* USER CODE BEGIN SysTick_IRQn 0 */
/* USER CODE END SysTick_IRQn 0 */
HAL_IncTick();
/* USER CODE BEGIN SysTick_IRQn 1 */
/* USER CODE END SysTick_IRQn 1 */
}
/******************************************************************************/
/* STM32MP1xx Peripheral Interrupt Handlers */
/* Add here the Interrupt Handlers for the used peripherals. */
/* For the available peripheral interrupt handler names, */
/* please refer to the startup file (startup_stm32mp1xx.s). */
/******************************************************************************/
/**
* @brief This function handles RCC wake-up interrupt.
*/
void RCC_WAKEUP_IRQHandler(void)
{
/* USER CODE BEGIN RCC_WAKEUP_IRQn 0 */
/* USER CODE END RCC_WAKEUP_IRQn 0 */
HAL_RCC_WAKEUP_IRQHandler();
/* USER CODE BEGIN RCC_WAKEUP_IRQn 1 */
/* USER CODE END RCC_WAKEUP_IRQn 1 */
}
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */

View File

@ -1,259 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,2 +0,0 @@
635E684B79701B039C64EA45C3F84D30=58DC80C130FF1F8D3F80A6490EE3F57C
eclipse.preferences.version=1

View File

@ -1,4 +0,0 @@
2F62501ED4689FB349E356AB974DBE57=58DC80C130FF1F8D3F80A6490EE3F57C
635E684B79701B039C64EA45C3F84D30=58DC80C130FF1F8D3F80A6490EE3F57C
DC22A860405A8BF2F2C095E5B6529F12=1F098FDD630F96060A5BB9FD2B0116AC
eclipse.preferences.version=1

View File

@ -1,3 +0,0 @@
635E684B79701B039C64EA45C3F84D30=58DC80C130FF1F8D3F80A6490EE3F57C
DC22A860405A8BF2F2C095E5B6529F12=1F098FDD630F96060A5BB9FD2B0116AC
eclipse.preferences.version=1

View File

@ -1,2 +0,0 @@
66BE74F758C12D739921AEA421D593D3=0
eclipse.preferences.version=1

View File

@ -1,280 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
void uart4_idle_func(void)
{
int len = 0;
//判定 是否为空闲中断
if( __HAL_UART_GET_FLAG(&huart4, UART_FLAG_IDLE) == SET )
{
// 清除空闲中断标志,因为是自己定义的函数 系统不会清标
__HAL_UART_CLEAR_IDLEFLAG(&huart4);
// 计算接收数据的长
len = sizeof(rx_buf)- huart4.RxXferCount;
//第二个参数是 还剩下的空间
// 打印接收到时数据 数据处理
printf("uart rx len = %d, data: %s\r\n",len, rx_buf);
// 准备接收下一次数<E6ACA1>?
memset(rx_buf,0,len); // 清理接收容器
//重置接收指针 剩余容器大小
huart4.pRxBuffPtr = rx_buf;
huart4.RxXferCount = sizeof(rx_buf);
}
}
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
__HAL_UART_ENABLE_IT(&huart4,UART_IT_IDLE);
HAL_UART_Receive_IT(&huart4,rx_buf,sizeof(rx_buf));
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,280 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
//#include<stddef.h>
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
int rx_buf,tx_buf;
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
void uart4_idle_func(void)
{
int len = 0;
//判定 是否为空闲中断
if( __HAL_UART_GET_FLAG(&huart4, UART_FLAG_IDLE) == SET )
{
// 清除空闲中断标志,因为是自己定义的函数 系统不会清标
__HAL_UART_CLEAR_IDLEFLAG(&huart4);
// 计算接收数据的长
len = sizeof(rx_buf) - huart4.RxXferCount;
//第二个参数是 还剩下的空间
// 打印接收到时数据 数据处理
printf("uart rx len = %d, data: %s\r\n",len, rx_buf);
// 准备接收下一次数<E6ACA1>?
memset(rx_buf,0,len); // 清理接收容器
//重置接收指针 剩余容器大小
huart4.pRxBuffPtr = rx_buf;
huart4.RxXferCount = sizeof(rx_buf);
}
}
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
__HAL_UART_ENABLE_IT(&huart4,UART_IT_IDLE);
HAL_UART_Receive_IT(&huart4,rx_buf,sizeof(rx_buf));
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,259 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,3 +0,0 @@
635E684B79701B039C64EA45C3F84D30=58DC80C130FF1F8D3F80A6490EE3F57C
DC22A860405A8BF2F2C095E5B6529F12=1F098FDD630F96060A5BB9FD2B0116AC
eclipse.preferences.version=1

View File

@ -1,260 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include<stdio.h>
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_UART_Transmit(&huart4, (uint8_t*)"\rhello\n",7,10);
HAL_Delay(1000);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,197 +0,0 @@
#MicroXplorer Configuration settings - do not modify
BootLoader.IPs=DDR,RCC,TAMP
BootROM.IPs=RCC,TAMP
CAD.formats=
CAD.pinconfig=
CAD.provider=
CortexA7NS.IPs=BSEC,DDR,DMA,ETZPC,GIC,GPIO,HSEM,PWR,RCC,RTC,TAMP
CortexA7S.IPs=BSEC,DDR,ETZPC,GIC\:I,HSEM,PWR,RCC,RNG1,RTC,TAMP
CortexM4.IPs=DMA,ETZPC,FREERTOS,GPIO,HSEM,NVIC\:I,PWR,RCC,SYS\:I
File.Version=6
GIC.DMA1_Stream0_IRQn=true\:false\:High level
GIC.DMA1_Stream1_IRQn=true\:false\:High level
GIC.DMA1_Stream2_IRQn=true\:false\:High level
GIC.DMA1_Stream3_IRQn=true\:false\:High level
GIC.DMA1_Stream4_IRQn=true\:false\:High level
GIC.DMA1_Stream5_IRQn=true\:false\:High level
GIC.DMA1_Stream6_IRQn=true\:false\:High level
GIC.DMA1_Stream7_IRQn=true\:false\:High level
GIC.MDMA_IRQn=true\:false\:High level
GIC.RCC_IRQn=true\:false\:High level
KeepUserPlacement=false
Mcu.CPN=STM32MP157AAA3
Mcu.Context0=BootROM
Mcu.Context1=BootLoader
Mcu.Context2=CortexA7S
Mcu.Context3=CortexA7NS
Mcu.Context4=CortexM4
Mcu.ContextNb=5
Mcu.Family=STM32MP1
Mcu.IP0=GIC
Mcu.IP1=NVIC
Mcu.IP2=RCC
Mcu.IPNb=3
Mcu.Name=STM32MP157AAAx
Mcu.Package=LFBGA448
Mcu.Pin0=VP_DMA_VS_DMA1_A7NS
Mcu.Pin1=VP_DMA_VS_DMA2_M4
Mcu.Pin2=VP_MDMA_VS_MDMA_A7NS_8
Mcu.PinsNb=3
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32MP157AAAx
MxCube.Version=6.14.0
MxDb.Version=DB.6.0.140
NVIC.BusFault_IRQn=true\:1\:0\:false\:false\:true\:false\:false\:false
NVIC.DebugMonitor_IRQn=true\:1\:0\:false\:false\:true\:false\:false\:false
NVIC.ForceEnableDMAVector=true
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.MemoryManagement_IRQn=true\:1\:0\:false\:false\:true\:false\:false\:false
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.PendSV_IRQn=true\:1\:0\:false\:false\:true\:false\:false\:false
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.RCC_WAKEUP_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
NVIC.SVCall_IRQn=true\:1\:0\:false\:false\:true\:false\:false\:false
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
NVIC.UsageFault_IRQn=true\:1\:0\:false\:false\:true\:false\:false\:false
PinOutPanel.CurrentBGAView=Top
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
ProjectManager.CompilerLinker=GCC
ProjectManager.CompilerOptimize=6
ProjectManager.ComputerToolchain=false
ProjectManager.CoupleFile=false
ProjectManager.CustomerFirmwarePackage=
ProjectManager.DefaultFWLocation=true
ProjectManager.DeletePrevious=true
ProjectManager.DeviceId=STM32MP157AAAx
ProjectManager.DeviceTreeLocation=
ProjectManager.DeviceTreeLocationCortexM=
ProjectManager.FirmwarePackage=STM32Cube FW_MP1 V1.7.0
ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x200
ProjectManager.KeepUserCode=true
ProjectManager.LastFirmware=true
ProjectManager.LibraryCopy=1
ProjectManager.MainLocation=Core/Src
ProjectManager.NoMain=false
ProjectManager.PreviousToolchain=
ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=Cortex-M4 7-2.ioc
ProjectManager.ProjectName=Cortex-M4 7-2
ProjectManager.ProjectStructure=
ProjectManager.RegisterCallBack=
ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=STM32CubeIDE
ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false
RCC.ADCFreq_Value=25000000
RCC.AHB1234Freq_Value=64000000
RCC.APB1Freq_Value=64000000
RCC.APB2Freq_Value=64000000
RCC.APB3Freq_Value=64000000
RCC.APB4Freq_Value=64000000
RCC.APB5DIVClockFreq_Value=64000000
RCC.AXICLKFreq_VALUE=64000000
RCC.AXIDIVFreq_Value=64000000
RCC.CECFreq_Value=32768
RCC.CKPERCLKFreq_VALUE=64000000
RCC.CSI_VALUE=4000000
RCC.CortexFreq_Value=64000000
RCC.DACCLKFreq_VALUE=32000
RCC.DDRCFreq_Value=25000000
RCC.DDRPERFMFreq_Value=25000000
RCC.DDRPHYFreq_Value=25000000
RCC.DFSDFAFreq_Value=25000000
RCC.DFSDMFreq_Value=64000000
RCC.DIVP1Freq_Value=50000000
RCC.DIVP2Freq_Value=25000000
RCC.DIVP3Freq_Value=25000000
RCC.DIVP4Freq_Value=25000000
RCC.DIVQ1Freq_Value=25000000
RCC.DIVQ2Freq_Value=25000000
RCC.DIVQ3Freq_Value=25000000
RCC.DIVQ4Freq_Value=25000000
RCC.DIVR1Freq_Value=25000000
RCC.DIVR2Freq_Value=25000000
RCC.DIVR3Freq_Value=25000000
RCC.DIVR4Freq_Value=25000000
RCC.DSIFreq_Value=60000000
RCC.DSIPixelFreq_Value=25000000
RCC.DSITXEscFreq_Value=15000000
RCC.DSI_VALUE=60000000
RCC.ETHFreq_Value=25000000
RCC.FDCANFreq_Value=24000000
RCC.FMCFreq_Value=64000000
RCC.FamilyName=M
RCC.HSE_VALUE=24000000
RCC.HSIDivClkFreq_Value=64000000
RCC.HSI_VALUE=64000000
RCC.Hclk5DIVFreq_Value=64000000
RCC.Hclk6DIVFreq_Value=64000000
RCC.I2C12Freq_Value=64000000
RCC.I2C35Freq_Value=64000000
RCC.I2C46Freq_Value=64000000
RCC.IPParameters=ADCFreq_Value,AHB1234Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,APB5DIVClockFreq_Value,AXICLKFreq_VALUE,AXIDIVFreq_Value,CECFreq_Value,CKPERCLKFreq_VALUE,CSI_VALUE,CortexFreq_Value,DACCLKFreq_VALUE,DDRCFreq_Value,DDRPERFMFreq_Value,DDRPHYFreq_Value,DFSDFAFreq_Value,DFSDMFreq_Value,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVP4Freq_Value,DIVQ1Freq_Value,DIVQ2Freq_Value,DIVQ3Freq_Value,DIVQ4Freq_Value,DIVR1Freq_Value,DIVR2Freq_Value,DIVR3Freq_Value,DIVR4Freq_Value,DSIFreq_Value,DSIPixelFreq_Value,DSITXEscFreq_Value,DSI_VALUE,ETHFreq_Value,FDCANFreq_Value,FMCFreq_Value,FamilyName,HSE_VALUE,HSIDivClkFreq_Value,HSI_VALUE,Hclk5DIVFreq_Value,Hclk6DIVFreq_Value,I2C12Freq_Value,I2C35Freq_Value,I2C46Freq_Value,LPTIM1Freq_Value,LPTIM23Freq_Value,LPTIM45Freq_Value,LSE_VALUE,LSI_VALUE,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,MCUCLKFreq_VALUE,MCUClockFreq_Value,MCUDIVCLKFreq_Value,MPUCLKFreq_VALUE,PLL4PDSIFreq_Value,PLLDSIFreq_Value,PLLDSIVCOFreq_Value,PUBLFreq_Value,QSPIFreq_Value,RNG1Freq_Value,RNG2Freq_Value,RTCFreq_Value,SAI1Freq_Value,SAI2Freq_Value,SAI3Freq_Value,SAI4Freq_Value,SDMMC12Freq_Value,SDMMC3Freq_Value,SPDIFRXFreq_Value,SPI1Freq_Value,SPI23Freq_Value,SPI45Freq_Value,SPI6Freq_Value,STGENFreq_Value,Tim1OutputFreq_Value,Tim2OutputFreq_Value,UART78Freq_Value,USART1Freq_Value,USART24Freq_Value,USART35Freq_Value,USART6Freq_Value,USBOHSFreq_Value,USBPHYFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCO4OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value,VCOInput4Freq_Value
RCC.LPTIM1Freq_Value=64000000
RCC.LPTIM23Freq_Value=64000000
RCC.LPTIM45Freq_Value=64000000
RCC.LSE_VALUE=32768
RCC.LSI_VALUE=32000
RCC.LTDCFreq_Value=25000000
RCC.MCO1PinFreq_Value=64000000
RCC.MCO2PinFreq_Value=64000000
RCC.MCUCLKFreq_VALUE=64000000
RCC.MCUClockFreq_Value=64000000
RCC.MCUDIVCLKFreq_Value=64000000
RCC.MPUCLKFreq_VALUE=64000000
RCC.PLL4PDSIFreq_Value=25000000
RCC.PLLDSIFreq_Value=480000000
RCC.PLLDSIVCOFreq_Value=960000000
RCC.PUBLFreq_Value=25000000
RCC.QSPIFreq_Value=64000000
RCC.RNG1Freq_Value=4000000
RCC.RNG2Freq_Value=4000000
RCC.RTCFreq_Value=32000
RCC.SAI1Freq_Value=25000000
RCC.SAI2Freq_Value=25000000
RCC.SAI3Freq_Value=25000000
RCC.SAI4Freq_Value=25000000
RCC.SDMMC12Freq_Value=64000000
RCC.SDMMC3Freq_Value=64000000
RCC.SPDIFRXFreq_Value=25000000
RCC.SPI1Freq_Value=25000000
RCC.SPI23Freq_Value=25000000
RCC.SPI45Freq_Value=64000000
RCC.SPI6Freq_Value=64000000
RCC.STGENFreq_Value=64000000
RCC.Tim1OutputFreq_Value=64000000
RCC.Tim2OutputFreq_Value=64000000
RCC.UART78Freq_Value=64000000
RCC.USART1Freq_Value=64000000
RCC.USART24Freq_Value=64000000
RCC.USART35Freq_Value=64000000
RCC.USART6Freq_Value=64000000
RCC.USBOHSFreq_Value=25000000
RCC.USBPHYFreq_Value=25000000
RCC.VCO1OutputFreq_Value=100000000
RCC.VCO2OutputFreq_Value=100000000
RCC.VCO3OutputFreq_Value=50000000
RCC.VCO4OutputFreq_Value=50000000
RCC.VCOInput1Freq_Value=2000000
RCC.VCOInput2Freq_Value=2000000
RCC.VCOInput3Freq_Value=2000000
RCC.VCOInput4Freq_Value=2000000
VP_DMA_VS_DMA1_A7NS.Mode=CortexA7NS
VP_DMA_VS_DMA1_A7NS.Signal=DMA_VS_DMA1_A7NS
VP_DMA_VS_DMA2_M4.Mode=CortexM4
VP_DMA_VS_DMA2_M4.Signal=DMA_VS_DMA2_M4
VP_MDMA_VS_MDMA_A7NS_8.Mode=8\:8
VP_MDMA_VS_MDMA_A7NS_8.Signal=MDMA_VS_MDMA_A7NS_8
board=custom
isbadioc=false

View File

@ -1,4 +0,0 @@
2F62501ED4689FB349E356AB974DBE57=58DC80C130FF1F8D3F80A6490EE3F57C
635E684B79701B039C64EA45C3F84D30=58DC80C130FF1F8D3F80A6490EE3F57C
DC22A860405A8BF2F2C095E5B6529F12=1F098FDD630F96060A5BB9FD2B0116AC
eclipse.preferences.version=1

View File

@ -1,2 +0,0 @@
66BE74F758C12D739921AEA421D593D3=0
eclipse.preferences.version=1

View File

@ -1,3 +0,0 @@
635E684B79701B039C64EA45C3F84D30=58DC80C130FF1F8D3F80A6490EE3F57C
DC22A860405A8BF2F2C095E5B6529F12=1F098FDD630F96060A5BB9FD2B0116AC
eclipse.preferences.version=1

View File

@ -1,217 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file stm32mp1xx_it.c
* @brief Interrupt Service Routines.
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stm32mp1xx_it.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN TD */
/* USER CODE END TD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/* External variables --------------------------------------------------------*/
/* USER CODE BEGIN EV */
/* USER CODE END EV */
/******************************************************************************/
/* Cortex-M4 Processor Interruption and Exception Handlers */
/******************************************************************************/
/**
* @brief This function handles Non maskable interrupt.
*/
void NMI_Handler(void)
{
/* USER CODE BEGIN NonMaskableInt_IRQn 0 */
/* USER CODE END NonMaskableInt_IRQn 0 */
/* USER CODE BEGIN NonMaskableInt_IRQn 1 */
while (1)
{
}
/* USER CODE END NonMaskableInt_IRQn 1 */
}
/**
* @brief This function handles Hard fault interrupt.
*/
void HardFault_Handler(void)
{
/* USER CODE BEGIN HardFault_IRQn 0 */
/* USER CODE END HardFault_IRQn 0 */
while (1)
{
/* USER CODE BEGIN W1_HardFault_IRQn 0 */
/* USER CODE END W1_HardFault_IRQn 0 */
}
}
/**
* @brief This function handles Memory management fault.
*/
void MemManage_Handler(void)
{
/* USER CODE BEGIN MemoryManagement_IRQn 0 */
/* USER CODE END MemoryManagement_IRQn 0 */
while (1)
{
/* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
/* USER CODE END W1_MemoryManagement_IRQn 0 */
}
}
/**
* @brief This function handles Pre-fetch fault, memory access fault.
*/
void BusFault_Handler(void)
{
/* USER CODE BEGIN BusFault_IRQn 0 */
/* USER CODE END BusFault_IRQn 0 */
while (1)
{
/* USER CODE BEGIN W1_BusFault_IRQn 0 */
/* USER CODE END W1_BusFault_IRQn 0 */
}
}
/**
* @brief This function handles Undefined instruction or illegal state.
*/
void UsageFault_Handler(void)
{
/* USER CODE BEGIN UsageFault_IRQn 0 */
/* USER CODE END UsageFault_IRQn 0 */
while (1)
{
/* USER CODE BEGIN W1_UsageFault_IRQn 0 */
/* USER CODE END W1_UsageFault_IRQn 0 */
}
}
/**
* @brief This function handles System service call via SWI instruction.
*/
void SVC_Handler(void)
{
/* USER CODE BEGIN SVCall_IRQn 0 */
/* USER CODE END SVCall_IRQn 0 */
/* USER CODE BEGIN SVCall_IRQn 1 */
/* USER CODE END SVCall_IRQn 1 */
}
/**
* @brief This function handles Debug monitor.
*/
void DebugMon_Handler(void)
{
/* USER CODE BEGIN DebugMonitor_IRQn 0 */
/* USER CODE END DebugMonitor_IRQn 0 */
/* USER CODE BEGIN DebugMonitor_IRQn 1 */
/* USER CODE END DebugMonitor_IRQn 1 */
}
/**
* @brief This function handles Pendable request for system service.
*/
void PendSV_Handler(void)
{
/* USER CODE BEGIN PendSV_IRQn 0 */
/* USER CODE END PendSV_IRQn 0 */
/* USER CODE BEGIN PendSV_IRQn 1 */
/* USER CODE END PendSV_IRQn 1 */
}
/**
* @brief This function handles System tick timer.
*/
void SysTick_Handler(void)
{
/* USER CODE BEGIN SysTick_IRQn 0 */
/* USER CODE END SysTick_IRQn 0 */
HAL_IncTick();
/* USER CODE BEGIN SysTick_IRQn 1 */
/* USER CODE END SysTick_IRQn 1 */
}
/******************************************************************************/
/* STM32MP1xx Peripheral Interrupt Handlers */
/* Add here the Interrupt Handlers for the used peripherals. */
/* For the available peripheral interrupt handler names, */
/* please refer to the startup file (startup_stm32mp1xx.s). */
/******************************************************************************/
/**
* @brief This function handles RCC wake-up interrupt.
*/
void RCC_WAKEUP_IRQHandler(void)
{
/* USER CODE BEGIN RCC_WAKEUP_IRQn 0 */
/* USER CODE END RCC_WAKEUP_IRQn 0 */
HAL_RCC_WAKEUP_IRQHandler();
/* USER CODE BEGIN RCC_WAKEUP_IRQn 1 */
/* USER CODE END RCC_WAKEUP_IRQn 1 */
}
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */

View File

@ -1,280 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
int rx_buf,tx_buf;
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
void uart4_idle_func(void)
{
int len = 0;
//判定 是否为空闲中断
if( __HAL_UART_GET_FLAG(&huart4, UART_FLAG_IDLE) == SET )
{
// 清除空闲中断标志,因为是自己定义的函数 系统不会清标
__HAL_UART_CLEAR_IDLEFLAG(&huart4);
// 计算接收数据的长
len = sizeof(rx_buf) - huart4.RxXferCount;
//第二个参数是 还剩下的空间
// 打印接收到时数据 数据处理
printf("uart rx len = %d, data: %s\r\n",len, rx_buf);
// 准备接收下一次数<E6ACA1>?
memset(rx_buf,0,len); // 清理接收容器
//重置接收指针 剩余容器大小
huart4.pRxBuffPtr = rx_buf;
huart4.RxXferCount = sizeof(rx_buf);
}
}
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
__HAL_UART_ENABLE_IT(&huart4,UART_IT_IDLE);
HAL_UART_Receive_IT(&huart4,rx_buf,sizeof(rx_buf));
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,185 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,287 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include<stdio.h>
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
int rx_buf,tx_buf;
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
int __io_putchar(int ch)
{
HAL_UART_Transmit(&huart4,(uint8_t*)&ch,1,10);
return ch;
}
void uart4_idle_func(void)
{
int len = 0;
//判定 是否为空闲中断
if( __HAL_UART_GET_FLAG(&huart4, UART_FLAG_IDLE) == SET )
{
// 清除空闲中断标志,因为是自己定义的函数 系统不会清标
__HAL_UART_CLEAR_IDLEFLAG(&huart4);
// 计算接收数据的长
len = sizeof(rx_buf) - huart4.RxXferCount;
//第二个参数是 还剩下的空间
// 打印接收到时数据 数据处理
printf("uart rx len = %d, data: %s\r\n",len, rx_buf);
// 准备接收下一次数<E6ACA1>?
memset(rx_buf,0,len); // 清理接收容器
//重置接收指针 剩余容器大小
huart4.pRxBuffPtr = rx_buf;
huart4.RxXferCount = sizeof(rx_buf);
}
}
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
__HAL_UART_ENABLE_IT(&huart4,UART_IT_IDLE);
HAL_UART_Receive_IT(&huart4,rx_buf,sizeof(rx_buf));
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,2 +0,0 @@
635E684B79701B039C64EA45C3F84D30=58DC80C130FF1F8D3F80A6490EE3F57C
eclipse.preferences.version=1

View File

@ -1,288 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include<stdio.h>
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
char rx_buf,tx_buf;
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
int __io_putchar(int ch)
{
HAL_UART_Transmit(&huart4,(uint8_t*)&ch,1,10);
return ch;
}
void uart4_idle_func(void)
{
int len = 0;
//判定 是否为空闲中断
if( __HAL_UART_GET_FLAG(&huart4, UART_FLAG_IDLE) == SET )
{
// 清除空闲中断标志,因为是自己定义的函数 系统不会清标
__HAL_UART_CLEAR_IDLEFLAG(&huart4);
// 计算接收数据的长
len = sizeof(rx_buf) - huart4.RxXferCount;
//第二个参数是 还剩下的空间
// 打印接收到时数据 数据处理
printf("uart rx len = %d, data: %s\r\n",len, rx_buf);
// 准备接收下一次数<E6ACA1>?
memset(rx_buf,0,len); // 清理接收容器
//重置接收指针 剩余容器大小
huart4.pRxBuffPtr = rx_buf;
huart4.RxXferCount = sizeof(rx_buf);
}
}
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
__HAL_UART_ENABLE_IT(&huart4,UART_IT_IDLE);
HAL_UART_Receive_IT(&huart4,rx_buf,sizeof(rx_buf));
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
uart4_idle_fun();
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,280 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include<stddef.h>
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
int rx_buf,tx_buf;
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
void uart4_idle_func(void)
{
int len = 0;
//判定 是否为空闲中断
if( __HAL_UART_GET_FLAG(&huart4, UART_FLAG_IDLE) == SET )
{
// 清除空闲中断标志,因为是自己定义的函数 系统不会清标
__HAL_UART_CLEAR_IDLEFLAG(&huart4);
// 计算接收数据的长
len = sizeof(rx_buf) - huart4.RxXferCount;
//第二个参数是 还剩下的空间
// 打印接收到时数据 数据处理
printf("uart rx len = %d, data: %s\r\n",len, rx_buf);
// 准备接收下一次数<E6ACA1>?
memset(rx_buf,0,len); // 清理接收容器
//重置接收指针 剩余容器大小
huart4.pRxBuffPtr = rx_buf;
huart4.RxXferCount = sizeof(rx_buf);
}
}
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
__HAL_UART_ENABLE_IT(&huart4,UART_IT_IDLE);
HAL_UART_Receive_IT(&huart4,rx_buf,sizeof(rx_buf));
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

View File

@ -1,2 +0,0 @@
635E684B79701B039C64EA45C3F84D30=58DC80C130FF1F8D3F80A6490EE3F57C
eclipse.preferences.version=1

View File

@ -1,288 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include<stdio.h>
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart4;
/* USER CODE BEGIN PV */
char rx_buf,tx_buf;
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_UART4_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
int __io_putchar(int ch)
{
HAL_UART_Transmit(&huart4,(uint8_t*)&ch,1,10);
return ch;
}
void uart4_idle_func(void)
{
int len = 0;
//判定 是否为空闲中断
if( __HAL_UART_GET_FLAG(&huart4, UART_FLAG_IDLE) == SET )
{
// 清除空闲中断标志,因为是自己定义的函数 系统不会清标
__HAL_UART_CLEAR_IDLEFLAG(&huart4);
// 计算接收数据的长
len = sizeof(rx_buf) - huart4.RxXferCount;
//第二个参数是 还剩下的空间
// 打印接收到时数据 数据处理
printf("uart rx len = %d, data: %s\r\n",len, rx_buf);
// 准备接收下一次数<E6ACA1>?
memset(rx_buf,0,len); // 清理接收容器
//重置接收指针 剩余容器大小
huart4.pRxBuffPtr = rx_buf;
huart4.RxXferCount = sizeof(rx_buf);
}
}
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
if(IS_ENGINEERING_BOOT_MODE())
{
/* Configure the system clock */
SystemClock_Config();
}
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
__HAL_UART_ENABLE_IT(&huart4,UART_IT_IDLE);
HAL_UART_Receive_IT(&huart4,rx_buf,sizeof(rx_buf));
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
uart4_idle_func();
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** RCC Clock Config
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4
|RCC_CLOCKTYPE_PCLK5;
RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_HSI;
RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1;
RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_HSI;
RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1;
RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV1;
RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV1;
RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief UART4 Initialization Function
* @param None
* @retval None
*/
static void MX_UART4_Init(void)
{
/* USER CODE BEGIN UART4_Init 0 */
/* USER CODE END UART4_Init 0 */
/* USER CODE BEGIN UART4_Init 1 */
/* USER CODE END UART4_Init 1 */
huart4.Instance = UART4;
huart4.Init.BaudRate = 115200;
huart4.Init.WordLength = UART_WORDLENGTH_8B;
huart4.Init.StopBits = UART_STOPBITS_1;
huart4.Init.Parity = UART_PARITY_NONE;
huart4.Init.Mode = UART_MODE_TX_RX;
huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart4.Init.OverSampling = UART_OVERSAMPLING_16;
huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart4) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN UART4_Init 2 */
/* USER CODE END UART4_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */

Some files were not shown because too many files have changed in this diff Show More