master
ThinkPad-T460P 2021-03-11 19:09:05 +08:00
parent e018861597
commit eb930609aa
31 changed files with 307 additions and 118 deletions

View File

@ -4,7 +4,13 @@
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.502298629">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.502298629" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings>
<externalSetting/>
<externalSetting>
<entry flags="RESOLVED" kind="includePath" name="Middlewares/Lab-Project-FreeRTOS-POSIX/include/private"/>
<entry flags="RESOLVED" kind="includePath" name="Middlewares/Lab-Project-FreeRTOS-POSIX/include/FreeRTOS_POSIX"/>
<entry flags="RESOLVED" kind="includePath" name="Middlewares/Lab-Project-FreeRTOS-POSIX/include/FreeRTOS_POSIX/sys"/>
<entry flags="RESOLVED" kind="includePath" name="Middlewares/Lab-Project-FreeRTOS-POSIX/FreeRTOS-Plus-POSIX/include"/>
<entry flags="RESOLVED" kind="includePath" name="Middlewares/Lab-Project-FreeRTOS-POSIX/FreeRTOS-Plus-POSIX/include/portable"/>
</externalSetting>
</externalSettings>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
@ -25,7 +31,7 @@
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.433736509" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.276377927" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1980681105" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1465740073" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.3 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32F107VCTx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Middlewares/Third_Party/FreeRTOS/Source/include | ../USB_DEVICE/Target | ../Drivers/CMSIS/Device/ST/STM32F1xx/Include | ../Drivers/CMSIS/Include | ../Core/Inc | ../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc | ../USB_DEVICE/App | ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy | ../Drivers/STM32F1xx_HAL_Driver/Inc | ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3 || || || USE_HAL_DRIVER | STM32F107xC || || Drivers | CMSIS | Core/Startup | Middlewares | Core | USB_DEVICE || || || ${workspace_loc:/${ProjName}/STM32F107VCTX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || " valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1465740073" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.4 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32F107VCTx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Middlewares/Third_Party/FreeRTOS/Source/include | ../USB_DEVICE/Target | ../Drivers/CMSIS/Device/ST/STM32F1xx/Include | ../Drivers/CMSIS/Include | ../Core/Inc | ../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc | ../USB_DEVICE/App | ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy | ../Drivers/STM32F1xx_HAL_Driver/Inc | ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3 || || || USE_HAL_DRIVER | STM32F107xC || || Drivers | CMSIS | Core/Startup | Middlewares | Core | USB_DEVICE || || || ${workspace_loc:/${ProjName}/STM32F107VCTX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat.1573745116" name="Use float with printf from newlib-nano (-u _printf_float)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoscanffloat.142703396" name="Use float with scanf from newlib-nano (-u _scanf_float)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoscanffloat" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.runtimelibrary_c.1187387752" name="Runtime library" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.runtimelibrary_c" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.runtimelibrary_c.value.standard_c" valueType="enumerated"/>
@ -36,15 +42,17 @@
<builder buildPath="${workspace_loc:/NaviKit_stm32}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.901379162" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="unlimited" stopOnErr="false" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.451303658" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.599548003" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.121590855" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" valueType="includePath"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.1434790555" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" valueType="definedSymbols"/>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.259361276" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
</tool>
<tool command="gcc" commandLinePattern="${COMMAND} ${INPUTS} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT}" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.770357739" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.883307296" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.1182522958" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.o0" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1676188920" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="STM32F107xC"/>
<listOptionValue builtIn="false" value="DEBUG"/>
<listOptionValue builtIn="false" value="STM32F107xC"/>
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.186388616" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="../App/Inc"/>
@ -57,8 +65,8 @@
<listOptionValue builtIn="false" value="../Middlewares/EasyLogger/easylogger/inc"/>
<listOptionValue builtIn="false" value="../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc"/>
<listOptionValue builtIn="false" value="../Middlewares/ST/STM32_USB_Device_Library/Core/Inc"/>
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/include"/>
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2"/>
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/include"/>
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3"/>
<listOptionValue builtIn="false" value="../USB_DEVICE/App"/>
<listOptionValue builtIn="false" value="../USB_DEVICE/Target"/>
@ -92,10 +100,10 @@
<fileInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.502298629.1450340378" name="elog_cfg.h" rcbsApplicability="disable" resourcePath="Middlewares/EasyLogger/easylogger/inc/elog_cfg.h" toolsToInvoke=""/>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="App"/>
<entry excluding="Lab-Project-FreeRTOS-POSIX|EasyLogger/easylogger/plugins|EasyLogger/docs" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Middlewares"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="CMSIS"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
<entry excluding="Third_Party/FreeRTOS-Plus/Source/Utilities/logging|EasyLogger/easylogger/plugins|EasyLogger/docs" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Middlewares"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="USB_DEVICE"/>
</sourceEntries>
</configuration>
@ -104,7 +112,9 @@
</cconfiguration>
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1260902692">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1260902692" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<externalSettings>
<externalSetting/>
</externalSettings>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
@ -124,22 +134,24 @@
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1398882809" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.1532730982" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1861067852" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1239010509" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.3 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32F107VCTx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Middlewares/Third_Party/FreeRTOS/Source/include | ../USB_DEVICE/Target | ..//CMSIS/Driver/Include | ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3 | ../Drivers/CMSIS/Device/ST/STM32F1xx/Include | ../Drivers/CMSIS/Include | ../Core/Inc | ../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc | ../USB_DEVICE/App | ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy | ../Drivers/STM32F1xx_HAL_Driver/Inc | ../Middlewares/ST/STM32_USB_Device_Library/Class/HID/Inc || || || USE_HAL_DRIVER | STM32F107xC || || Drivers | CMSIS | Core/Startup | Middlewares | Core | USB_DEVICE || || || ${workspace_loc:/${ProjName}/STM32F107VCTX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || " valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1239010509" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.4 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32F107VCTx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Middlewares/Third_Party/FreeRTOS/Source/include | ../USB_DEVICE/Target | ..//CMSIS/Driver/Include | ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3 | ../Drivers/CMSIS/Device/ST/STM32F1xx/Include | ../Drivers/CMSIS/Include | ../Core/Inc | ../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc | ../USB_DEVICE/App | ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy | ../Drivers/STM32F1xx_HAL_Driver/Inc | ../Middlewares/ST/STM32_USB_Device_Library/Class/HID/Inc || || || USE_HAL_DRIVER | STM32F107xC || || Drivers | CMSIS | Core/Startup | Middlewares | Core | USB_DEVICE || || || ${workspace_loc:/${ProjName}/STM32F107VCTX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary.1121264663" name="Convert to binary file (-O binary)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.convertbinary" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex.1737555266" name="Convert to Intel Hex file (-O ihex)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat.1638170040" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat" value="true" valueType="boolean"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat.1638170040" name="Use float with printf from newlib-nano (-u _printf_float)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.238068216" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
<builder buildPath="${workspace_loc:/NaviKit_stm32}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.95113451" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1535045086" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.767286012" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.1444171247" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" valueType="includePath"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.1191563716" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" valueType="definedSymbols"/>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.611490005" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.632904416" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1856652564" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.2079025018" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.o0" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1412817126" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="STM32F107xC"/>
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.968919675" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="../App/Inc"/>
@ -152,11 +164,13 @@
<listOptionValue builtIn="false" value="../Middlewares/EasyLogger/easylogger/inc"/>
<listOptionValue builtIn="false" value="../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc"/>
<listOptionValue builtIn="false" value="../Middlewares/ST/STM32_USB_Device_Library/Core/Inc"/>
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/include"/>
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2"/>
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/include"/>
<listOptionValue builtIn="false" value="../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3"/>
<listOptionValue builtIn="false" value="../USB_DEVICE/App"/>
<listOptionValue builtIn="false" value="../USB_DEVICE/Target"/>
<listOptionValue builtIn="false" value="..//CMSIS/Driver/Include"/>
<listOptionValue builtIn="false" value="../Middlewares/ST/STM32_USB_Device_Library/Class/HID/Inc"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.77383630" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
</tool>
@ -185,10 +199,11 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="App"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="App"/>
<entry excluding="Lab-Project-FreeRTOS-POSIX|EasyLogger/easylogger/plugins" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Middlewares"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="CMSIS"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
<entry excluding="EasyLogger/easylogger/plugins" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Middlewares"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="USB_DEVICE"/>
</sourceEntries>
</configuration>

3
.gitmodules vendored
View File

@ -1,3 +1,6 @@
[submodule "Middlewares/EasyLogger"]
path = Middlewares/EasyLogger
url = https://github.com/autolaborcenter/EasyLogger.git
[submodule "Middlewares/Lab-Project-FreeRTOS-POSIX"]
path = Middlewares/Lab-Project-FreeRTOS-POSIX
url = https://github.com/autolaborcenter/Lab-Project-FreeRTOS-POSIX.git

View File

@ -9,46 +9,46 @@ CDefines=USE_HAL_DRIVER;STM32F107xC;USE_HAL_DRIVER;USE_HAL_DRIVER;
[PreviousGenFiles]
AdvancedFolderStructure=true
HeaderFileListSize=15
HeaderFiles#0=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Inc/gpio.h
HeaderFiles#1=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Inc/FreeRTOSConfig.h
HeaderFiles#2=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Inc/adc.h
HeaderFiles#3=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Inc/dma.h
HeaderFiles#4=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Inc/i2c.h
HeaderFiles#5=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Inc/iwdg.h
HeaderFiles#6=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Inc/rtc.h
HeaderFiles#7=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Inc/usart.h
HeaderFiles#8=E:/source/STM32CubeIDE/NaviKit_stm32/USB_DEVICE/App/usb_device.h
HeaderFiles#9=E:/source/STM32CubeIDE/NaviKit_stm32/USB_DEVICE/Target/usbd_conf.h
HeaderFiles#10=E:/source/STM32CubeIDE/NaviKit_stm32/USB_DEVICE/App/usbd_desc.h
HeaderFiles#11=E:/source/STM32CubeIDE/NaviKit_stm32/USB_DEVICE/App/usbd_cdc_if.h
HeaderFiles#12=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Inc/stm32f1xx_it.h
HeaderFiles#13=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Inc/stm32f1xx_hal_conf.h
HeaderFiles#14=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Inc/main.h
HeaderFiles#0=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Inc/gpio.h
HeaderFiles#1=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Inc/FreeRTOSConfig.h
HeaderFiles#2=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Inc/adc.h
HeaderFiles#3=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Inc/dma.h
HeaderFiles#4=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Inc/i2c.h
HeaderFiles#5=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Inc/iwdg.h
HeaderFiles#6=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Inc/rtc.h
HeaderFiles#7=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Inc/usart.h
HeaderFiles#8=E:/source/STM32CubeIDE/NaviKit_EC_stm32/USB_DEVICE/App/usb_device.h
HeaderFiles#9=E:/source/STM32CubeIDE/NaviKit_EC_stm32/USB_DEVICE/Target/usbd_conf.h
HeaderFiles#10=E:/source/STM32CubeIDE/NaviKit_EC_stm32/USB_DEVICE/App/usbd_desc.h
HeaderFiles#11=E:/source/STM32CubeIDE/NaviKit_EC_stm32/USB_DEVICE/App/usbd_cdc_if.h
HeaderFiles#12=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Inc/stm32f1xx_it.h
HeaderFiles#13=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Inc/stm32f1xx_hal_conf.h
HeaderFiles#14=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Inc/main.h
HeaderFolderListSize=3
HeaderPath#0=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Inc
HeaderPath#1=E:/source/STM32CubeIDE/NaviKit_stm32/USB_DEVICE/App
HeaderPath#2=E:/source/STM32CubeIDE/NaviKit_stm32/USB_DEVICE/Target
HeaderPath#0=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Inc
HeaderPath#1=E:/source/STM32CubeIDE/NaviKit_EC_stm32/USB_DEVICE/App
HeaderPath#2=E:/source/STM32CubeIDE/NaviKit_EC_stm32/USB_DEVICE/Target
HeaderFiles=;
SourceFileListSize=16
SourceFiles#0=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src/gpio.c
SourceFiles#1=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src/freertos.c
SourceFiles#2=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src/adc.c
SourceFiles#3=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src/dma.c
SourceFiles#4=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src/i2c.c
SourceFiles#5=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src/iwdg.c
SourceFiles#6=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src/rtc.c
SourceFiles#7=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src/usart.c
SourceFiles#8=E:/source/STM32CubeIDE/NaviKit_stm32/USB_DEVICE/App/usb_device.c
SourceFiles#9=E:/source/STM32CubeIDE/NaviKit_stm32/USB_DEVICE/Target/usbd_conf.c
SourceFiles#10=E:/source/STM32CubeIDE/NaviKit_stm32/USB_DEVICE/App/usbd_desc.c
SourceFiles#11=E:/source/STM32CubeIDE/NaviKit_stm32/USB_DEVICE/App/usbd_cdc_if.c
SourceFiles#12=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src/stm32f1xx_it.c
SourceFiles#13=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src/stm32f1xx_hal_msp.c
SourceFiles#14=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src/stm32f1xx_hal_timebase_tim.c
SourceFiles#15=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src/main.c
SourceFiles#0=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src/gpio.c
SourceFiles#1=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src/freertos.c
SourceFiles#2=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src/adc.c
SourceFiles#3=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src/dma.c
SourceFiles#4=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src/i2c.c
SourceFiles#5=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src/iwdg.c
SourceFiles#6=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src/rtc.c
SourceFiles#7=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src/usart.c
SourceFiles#8=E:/source/STM32CubeIDE/NaviKit_EC_stm32/USB_DEVICE/App/usb_device.c
SourceFiles#9=E:/source/STM32CubeIDE/NaviKit_EC_stm32/USB_DEVICE/Target/usbd_conf.c
SourceFiles#10=E:/source/STM32CubeIDE/NaviKit_EC_stm32/USB_DEVICE/App/usbd_desc.c
SourceFiles#11=E:/source/STM32CubeIDE/NaviKit_EC_stm32/USB_DEVICE/App/usbd_cdc_if.c
SourceFiles#12=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src/stm32f1xx_it.c
SourceFiles#13=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src/stm32f1xx_hal_msp.c
SourceFiles#14=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src/stm32f1xx_hal_timebase_tim.c
SourceFiles#15=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src/main.c
SourceFolderListSize=3
SourcePath#0=E:/source/STM32CubeIDE/NaviKit_stm32/Core/Src
SourcePath#1=E:/source/STM32CubeIDE/NaviKit_stm32/USB_DEVICE/App
SourcePath#2=E:/source/STM32CubeIDE/NaviKit_stm32/USB_DEVICE/Target
SourcePath#0=E:/source/STM32CubeIDE/NaviKit_EC_stm32/Core/Src
SourcePath#1=E:/source/STM32CubeIDE/NaviKit_EC_stm32/USB_DEVICE/App
SourcePath#2=E:/source/STM32CubeIDE/NaviKit_EC_stm32/USB_DEVICE/Target
SourceFiles=;

View File

@ -1,4 +1,4 @@
2F62501ED4689FB349E356AB974DBE57=7721402F3CE8DC8D3A6A8AE537EFAC0B
8DF89ED150041C4CBC7CB9A9CAA90856=7721402F3CE8DC8D3A6A8AE537EFAC0B
2F62501ED4689FB349E356AB974DBE57=8E4D1FDC05ED3D447D65E8B3A57F2283
8DF89ED150041C4CBC7CB9A9CAA90856=8E4D1FDC05ED3D447D65E8B3A57F2283
DC22A860405A8BF2F2C095E5B6529F12=02D9A7110C849E46466CD5CF8816F30D
eclipse.preferences.version=1

View File

@ -11,8 +11,8 @@
#include "cmsis_os2.h"
/* Definitions for ButtonDetect */
osThreadId_t ButtonDetectHandle;
const osThreadAttr_t ButtonDetect_attributes;
osThreadId_t ButtonDetectTaskHandle;
const osThreadAttr_t ButtonDetectTask_attributes;
//Timer
osTimerId_t PwrBtnLongPressTimerHandle;
@ -28,7 +28,7 @@ osTimerId_t CustBtnShortPressTimerHandle;
const osTimerAttr_t CustBtnShortPressTimer_attributes;
void StartButtonDetect(void *argument);
void StartButtonDetectTask(void *argument);
//callback
void PwrBtnLongPressTimerCallback(void *argument);

View File

@ -3,6 +3,10 @@
#include "cmsis_os2.h"
osMutexId_t ElogUartMutexHandle;
const osMutexAttr_t ElogUartMutex_attributes;
osMutexId_t ElogOutputMutexHandle;
const osMutexAttr_t ElogOutputMutex_attributes;
osThreadId_t ElogInitTaskHandle;

12
App/Inc/th_iwdg.h Normal file
View File

@ -0,0 +1,12 @@
#ifndef __TH_IWDG_H__
#define __TH_IWDG_H__
#include "cmsis_os2.h"
osThreadId_t IWDGTaskHandle;
const osThreadAttr_t IWDGTask_attributes;
void StartIWDGTask(void *argument);
#endif

View File

@ -12,9 +12,9 @@
#include "navikit.h"
//Thread
const osThreadAttr_t ButtonDetect_attributes = {
.name = "ButtonDetect",
.priority = (osPriority_t) osPriorityLow,
const osThreadAttr_t ButtonDetectTask_attributes = {
.name = "ButtonDetectTask",
.priority = (osPriority_t) osPriorityBelowNormal,
.stack_size = 128 * 4
};
@ -41,7 +41,7 @@ const osTimerAttr_t CustBtnShortPressTimer_attributes = {
* @retval None
*/
/* USER CODE END Header_StartButtonDetect */
void StartButtonDetect(void *argument)
void StartButtonDetectTask(void *argument)
{
/* USER CODE BEGIN StartButtonDetect */
/* Infinite loop */

View File

@ -16,7 +16,7 @@
/* Definitions for CoulombRead */
const osThreadAttr_t CoulombRead_attributes = {
.name = "CoulombRead",
.priority = (osPriority_t) osPriorityLow,
.priority = (osPriority_t) osPriorityBelowNormal,
.stack_size = 128 * 4
};

View File

@ -1,3 +1,10 @@
/*
* @Description:
* @Date: 2021-03-09 18:19:26
* @LastEditors: CK.Zh
* @LastEditTime: 2021-03-10 15:07:01
* @FilePath: \NaviKit_EC_stm32\App\Src\th_demo.c
*/
#define LOG_TAG "TH-Demo"
#include <th_demo.h>
@ -6,20 +13,20 @@
const osThreadAttr_t DemoTask1_attributes = {
.name = "DemoTask1",
.priority = (osPriority_t) osPriorityNormal,
.stack_size = 128 * 4
.priority = (osPriority_t) osPriorityLow2,
.stack_size = 128 * 8
};
const osThreadAttr_t DemoTask2_attributes = {
.name = "DemoTask2",
.priority = (osPriority_t) osPriorityBelowNormal,
.stack_size = 128 * 4
.priority = (osPriority_t) osPriorityLow1,
.stack_size = 128 * 8
};
void StartDemoTask1(void *argument){
uint8_t i=0;
log_v("Start Demo Task1");
for(;;){
log_v("demo task 1 [%d].",i++);
osDelay(1000);
osDelay(100);
}
}
void StartDemoTask2(void *argument){
@ -27,6 +34,6 @@ void StartDemoTask2(void *argument){
log_v("Start Demo Task2");
for(;;){
log_v("demo task 2 [%d].",i++);
osDelay(1000);
osDelay(100);
}
}

View File

@ -2,7 +2,7 @@
* @Description:
* @Date: 2021-03-09 11:30:52
* @LastEditors: CK.Zh
* @LastEditTime: 2021-03-10 10:59:15
* @LastEditTime: 2021-03-10 14:46:32
* @FilePath: \NaviKit_EC_stm32\App\Src\th_elog.c
*/
@ -11,20 +11,23 @@
#include <th_elog.h>
#include "main.h"
const osMutexAttr_t ElogUartMutex_attributes = {
.name = "ElogUartMutex"
};
const osMutexAttr_t ElogOutputMutex_attributes = {
.name = "ElogOutputMutex"
};
const osThreadAttr_t ElogInitTask_attributes = {
.name = "ElogInitTask",
.priority = (osPriority_t) osPriorityBelowNormal,
.priority = (osPriority_t) osPriorityNormal,
.stack_size = 128 * 4
};
const osThreadAttr_t ElogFlushTask_attributes = {
.name = "ElogFlushTask",
.priority = (osPriority_t) osPriorityLow,
.stack_size = 128 * 4
.stack_size = 128 * 8
};
void StartElogInitTask(void *argument){
@ -36,10 +39,11 @@ void StartElogInitTask(void *argument){
void StartElogFlushTask(void *argument){
uint8_t i=0;
log_v("Start Elog Flush Task");
for(;;){
elog_flush();
osDelay(5);
osDelay(1);
}
}
@ -67,6 +71,9 @@ void my_elog_init(){
/* 详细:输出除了方法名之外的所有内容 */
elog_set_fmt(ELOG_LVL_VERBOSE, ELOG_FMT_SETTING);
// enable text color (dynamic)
elog_set_text_color_enabled(true);
/* start EasyLogger */
elog_start();
}

28
App/Src/th_iwdg.c Normal file
View File

@ -0,0 +1,28 @@
/*
* @Description:
* @Date: 2021-03-09 18:19:26
* @LastEditors: CK.Zh
* @LastEditTime: 2021-03-10 15:07:01
* @FilePath: \NaviKit_EC_stm32\App\Src\th_demo.c
*/
#define LOG_TAG "TH-IWDG"
#include <th_iwdg.h>
#include "main.h"
#include "iwdg.h"
const osThreadAttr_t IWDGTask_attributes = {
.name = "IWDGTask",
.priority = (osPriority_t) osPriorityHigh,
.stack_size = 128 * 4
};
void StartIWDGTask(void *argument){
log_v("Start IWDG Task");
for(;;){
HAL_IWDG_Refresh(&hiwdg);
osDelay(1000);
}
}

View File

@ -13,8 +13,8 @@
const osThreadAttr_t LedBlinkTask_attributes = {
.name = "LedBlinkTask",
.priority = (osPriority_t) osPriorityLow,
.stack_size = 128 * 4
.priority = (osPriority_t) osPriorityBelowNormal,
.stack_size = 128 * 8
};
/* USER CODE BEGIN Header_StartLedBlinkTask */

View File

@ -14,7 +14,7 @@
const osThreadAttr_t PowerMonitTask_attributes = {
.name = "PowerMonitTask",
.priority = (osPriority_t) osPriorityLow,
.priority = (osPriority_t) osPriorityBelowNormal,
.stack_size = 128 * 4
};

View File

@ -61,6 +61,8 @@ void EXTI0_IRQHandler(void);
void EXTI3_IRQHandler(void);
void EXTI4_IRQHandler(void);
void DMA1_Channel1_IRQHandler(void);
void DMA1_Channel4_IRQHandler(void);
void DMA1_Channel5_IRQHandler(void);
void ADC1_2_IRQHandler(void);
void EXTI9_5_IRQHandler(void);
void TIM1_UP_IRQHandler(void);
@ -69,6 +71,8 @@ void I2C1_ER_IRQHandler(void);
void USART1_IRQHandler(void);
void RTC_Alarm_IRQHandler(void);
void UART4_IRQHandler(void);
void DMA2_Channel3_IRQHandler(void);
void DMA2_Channel5_IRQHandler(void);
void OTG_FS_IRQHandler(void);
/* USER CODE BEGIN EFP */

View File

@ -29,8 +29,6 @@ extern "C" {
/* USER CODE BEGIN Includes */
#include <stdio.h>
#include <stdarg.h>
/* USER CODE END Includes */
extern UART_HandleTypeDef huart4;
@ -45,7 +43,6 @@ void MX_USART1_UART_Init(void);
/* USER CODE BEGIN Prototypes */
void UartPrint(char * format,...);
/* USER CODE END Prototypes */
#ifdef __cplusplus

View File

@ -33,9 +33,17 @@ DMA_HandleTypeDef hdma_adc1;
/* ADC1 init function */
void MX_ADC1_Init(void)
{
/* USER CODE BEGIN ADC1_Init 0 */
/* USER CODE END ADC1_Init 0 */
ADC_AnalogWDGConfTypeDef AnalogWDGConfig = {0};
ADC_ChannelConfTypeDef sConfig = {0};
/* USER CODE BEGIN ADC1_Init 1 */
/* USER CODE END ADC1_Init 1 */
/** Common config
*/
hadc1.Instance = ADC1;
@ -117,6 +125,9 @@ void MX_ADC1_Init(void)
{
Error_Handler();
}
/* USER CODE BEGIN ADC1_Init 2 */
/* USER CODE END ADC1_Init 2 */
}

View File

@ -38,6 +38,7 @@
#include <th_coulomb.h>
#include <th_power.h>
#include <th_button.h>
#include <th_iwdg.h>
/* USER CODE END Includes */
@ -70,7 +71,7 @@ const osTimerAttr_t IdleStateHoldTimer_attributes = {
osThreadId_t defaultTaskHandle;
const osThreadAttr_t defaultTask_attributes = {
.name = "defaultTask",
.stack_size = 128 * 4,
.stack_size = 128 * 8,
.priority = (osPriority_t) osPriorityNormal,
};
@ -81,6 +82,7 @@ void IdleStateHoldTimerCallback(void *argument);
bool isWakeUpFromReset() { return __HAL_PWR_GET_FLAG(PWR_FLAG_WU);}
//__HAL_RCC_GET_FLAG(); //判断复位源
/* USER CODE END FunctionPrototypes */
@ -167,6 +169,7 @@ void MX_FREERTOS_Init(void) {
/* USER CODE BEGIN Init */
ElogOutputMutexHandle = osMutexNew(&ElogOutputMutex_attributes);
// ElogUartMutexHandle = osMutexNew(&ElogUartMutex_attributes);
my_elog_init();
NaviKit_var_init();
/* USER CODE END Init */
@ -202,22 +205,23 @@ void MX_FREERTOS_Init(void) {
/* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */
//IWDG--------------------------------------------
IWDGTaskHandle = osThreadNew(StartIWDGTask, NULL, &IWDGTask_attributes);
//Power--------------------------------------------
// PowerMonitTaskHandle = osThreadNew(StartPowerMonitTask, NULL, &PowerMonitTask_attributes);
//Button--------------------------------------------
// ButtonDetectHandle = osThreadNew(StartButtonDetect, NULL, &ButtonDetect_attributes);
ButtonDetectTaskHandle = osThreadNew(StartButtonDetectTask, NULL, &ButtonDetectTask_attributes);
//LED--------------------------------------------
// LedBlinkTaskHandle = osThreadNew(StartLedBlinkTask, NULL, &LedBlinkTask_attributes);
LedBlinkTaskHandle = osThreadNew(StartLedBlinkTask, NULL, &LedBlinkTask_attributes);
//CDC--------------------------------------------
// cdcMonitorTaskHandle = osThreadNew(StartCdcMonitorTask, NULL, &cdcMonitorTask_attributes);
cdcMonitorTaskHandle = osThreadNew(StartCdcMonitorTask, NULL, &cdcMonitorTask_attributes);
//Coulomb--------------------------------------------
@ -230,10 +234,9 @@ void MX_FREERTOS_Init(void) {
ElogFlushTaskHandle = osThreadNew(StartElogFlushTask, NULL, &ElogFlushTask_attributes);
#endif
//Demo--------------------------------------------
// DemoTask1Handle = osThreadNew(StartDemoTask1, NULL, &DemoTask1_attributes);
// DemoTask2Handle = osThreadNew(StartDemoTask2, NULL, &DemoTask2_attributes);
DemoTask1Handle = osThreadNew(StartDemoTask1, NULL, &DemoTask1_attributes);
DemoTask2Handle = osThreadNew(StartDemoTask2, NULL, &DemoTask2_attributes);
/* USER CODE END RTOS_THREADS */
@ -290,17 +293,17 @@ osVersion_t osVersion;
// TaskBeep(50,1);
}
log_i("----------------------------------------------");
log_i("Copyright (c) Powered by www.autolabor.com.cn");
#ifdef DEBUG
log_i("EC Firmware: %s[DEBUG], build: %s, %s",APP_VERSION,__DATE__ ,__TIME__);
#else
log_i("EC Firmware: %s[RELEASE], build: %s, %s",APP_VERSION,__DATE__ ,__TIME__);
#endif
log_i("HAL Version: 0x%X ", HAL_GetHalVersion());
log_i("Revision ID: 0x%X ", HAL_GetREVID());
log_i("Device ID: 0x%X ", HAL_GetDEVID());
log_i("Chip UID: 0x%X%X%X ", HAL_GetUIDw0(),HAL_GetUIDw1(),HAL_GetUIDw2());
log_i("----------------------------------------------");
log_i("Copyright (c) Powered by www.autolabor.com.cn");
#ifdef DEBUG
log_i("EC Firmware: %s[DEBUG], build: %s, %s",APP_VERSION,__DATE__ ,__TIME__);
#else
log_i("EC Firmware: %s[RELEASE], build: %s, %s",APP_VERSION,__DATE__ ,__TIME__);
#endif
log_i("HAL Version: 0x%X ", HAL_GetHalVersion());
log_i("Revision ID: 0x%X ", HAL_GetREVID());
log_i("Device ID: 0x%X ", HAL_GetDEVID());
log_i("Chip UID: 0x%X%X%X ", HAL_GetUIDw0(),HAL_GetUIDw1(),HAL_GetUIDw2());
if(osOK == osKernelGetInfo(&osVersion,id_buf,id_size)){
log_i("OS Kernel Version: %u ", osVersion.kernel);
@ -311,12 +314,10 @@ osVersion_t osVersion;
log_i("Log Library Version: V%s",ELOG_SW_VERSION);
log_i("Core initial successfully");
log_i("----------------------------------------------");
/* Infinite loop */
for(;;)
{
// HAL_IWDG_Refresh(&hiwdg);
osDelay(20);
if(NaviKit.sys.sta != NaviKit.sys.next_sta){
switch(NaviKit.sys.next_sta){
@ -367,7 +368,7 @@ osVersion_t osVersion;
// }
if(!osTimerIsRunning(IdleStateHoldTimerHandle)){
osTimerStart(IdleStateHoldTimerHandle,5000);
// osTimerStart(IdleStateHoldTimerHandle,5000);
}
}

View File

@ -51,6 +51,13 @@ I2C_HandleTypeDef hi2c1;
void MX_I2C1_Init(void)
{
/* USER CODE BEGIN I2C1_Init 0 */
/* USER CODE END I2C1_Init 0 */
/* USER CODE BEGIN I2C1_Init 1 */
/* USER CODE END I2C1_Init 1 */
hi2c1.Instance = I2C1;
hi2c1.Init.ClockSpeed = 100000;
hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2;
@ -64,6 +71,9 @@ void MX_I2C1_Init(void)
{
Error_Handler();
}
/* USER CODE BEGIN I2C1_Init 2 */
/* USER CODE END I2C1_Init 2 */
}

View File

@ -30,6 +30,13 @@ IWDG_HandleTypeDef hiwdg;
void MX_IWDG_Init(void)
{
/* USER CODE BEGIN IWDG_Init 0 */
/* USER CODE END IWDG_Init 0 */
/* USER CODE BEGIN IWDG_Init 1 */
/* USER CODE END IWDG_Init 1 */
hiwdg.Instance = IWDG;
hiwdg.Init.Prescaler = IWDG_PRESCALER_16;
hiwdg.Init.Reload = 0xfff;
@ -37,6 +44,9 @@ void MX_IWDG_Init(void)
{
Error_Handler();
}
/* USER CODE BEGIN IWDG_Init 2 */
/* USER CODE END IWDG_Init 2 */
}

View File

@ -96,17 +96,27 @@ int main(void)
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_DMA_Init();
// MX_I2C1_Init();
// MX_IWDG_Init();
// MX_UART4_Init();
MX_I2C1_Init();
MX_IWDG_Init();
MX_UART4_Init();
MX_ADC1_Init();
MX_USART1_UART_Init();
// MX_RTC_Init();
MX_RTC_Init();
/* Initialize interrupts */
MX_NVIC_Init();
/* USER CODE BEGIN 2 */
//print log before kernel start
// uint8_t log_head[]="Autolabor EC Booting...\r\n";
// HAL_UART_Transmit_DMA(&huart1, log_head, sizeof(log_head));
if( hiwdg.Instance->SR & IWDG_KEY_ENABLE){
uint8_t log_head[]="iwdg enable\r\n";
HAL_UART_Transmit_DMA(&huart1, log_head, sizeof(log_head));
}else{
uint8_t log_head[]="iwdg disable\r\n";
HAL_UART_Transmit_DMA(&huart1, log_head, sizeof(log_head));
}
/* USER CODE END 2 */
/* Init scheduler */
@ -235,6 +245,18 @@ static void MX_NVIC_Init(void)
/* EXTI4_IRQn interrupt configuration */
HAL_NVIC_SetPriority(EXTI4_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(EXTI4_IRQn);
/* DMA1_Channel4_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
/* DMA1_Channel5_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
/* DMA2_Channel3_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA2_Channel3_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA2_Channel3_IRQn);
/* DMA2_Channel5_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA2_Channel5_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA2_Channel5_IRQn);
}
/* USER CODE BEGIN 4 */

View File

@ -102,6 +102,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
void enter_standby_state(){
log_i("EC enter to STANDBY Mode to save power, see you!");
osDelay(10);
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1);//Enable PA0 wakeup function
__HAL_RCC_RTC_DISABLE();
HAL_PWR_EnterSTANDBYMode();

View File

@ -30,6 +30,13 @@ RTC_HandleTypeDef hrtc;
void MX_RTC_Init(void)
{
/* USER CODE BEGIN RTC_Init 0 */
/* USER CODE END RTC_Init 0 */
/* USER CODE BEGIN RTC_Init 1 */
/* USER CODE END RTC_Init 1 */
/** Initialize RTC Only
*/
hrtc.Instance = RTC;
@ -39,6 +46,9 @@ void MX_RTC_Init(void)
{
Error_Handler();
}
/* USER CODE BEGIN RTC_Init 2 */
/* USER CODE END RTC_Init 2 */
}

@ -0,0 +1 @@
Subproject commit 0c6cec978cd8163c8640c7c157cccba457dedabc

View File

@ -70,4 +70,5 @@
</listAttribute>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;&#13;&#10;"/>
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
<stringAttribute key="saved_expressions&lt;seperator&gt;Unknown" value="e810000,0xe810000"/>
</launchConfiguration>

View File

@ -36,6 +36,7 @@
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_check_serial_number" value="false"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_txt_serial_number" value=""/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.watchdog_config" value="none"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlinkrestart_configurations" value="{&quot;fItems&quot;:[{&quot;fDisplayName&quot;:&quot;Reset&quot;,&quot;fIsSuppressible&quot;:false,&quot;fResetAttribute&quot;:&quot;Reset&quot;,&quot;fResetStrategies&quot;:[{&quot;fDisplayName&quot;:&quot;Reset&quot;,&quot;fLaunchAttribute&quot;:&quot;monitor reset&quot;,&quot;fGdbCommands&quot;:[&quot;monitor reset&quot;],&quot;fCmdOptions&quot;:[]},{&quot;fDisplayName&quot;:&quot;None&quot;,&quot;fLaunchAttribute&quot;:&quot;no_reset&quot;,&quot;fGdbCommands&quot;:[],&quot;fCmdOptions&quot;:[]}],&quot;fGdbCommandGroup&quot;:{&quot;name&quot;:&quot;Additional commands&quot;,&quot;commands&quot;:[]}}]}"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.swv.swv_wait_for_sync" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="false"/>
@ -67,5 +68,6 @@
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;&#13;&#10;"/>
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
</launchConfiguration>

View File

@ -64,7 +64,47 @@ Dma.ADC1.0.PeriphInc=DMA_PINC_DISABLE
Dma.ADC1.0.Priority=DMA_PRIORITY_LOW
Dma.ADC1.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
Dma.Request0=ADC1
Dma.RequestsNb=1
Dma.Request1=USART1_TX
Dma.Request2=USART1_RX
Dma.Request3=UART4_RX
Dma.Request4=UART4_TX
Dma.RequestsNb=5
Dma.UART4_RX.3.Direction=DMA_PERIPH_TO_MEMORY
Dma.UART4_RX.3.Instance=DMA2_Channel3
Dma.UART4_RX.3.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART4_RX.3.MemInc=DMA_MINC_ENABLE
Dma.UART4_RX.3.Mode=DMA_NORMAL
Dma.UART4_RX.3.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART4_RX.3.PeriphInc=DMA_PINC_DISABLE
Dma.UART4_RX.3.Priority=DMA_PRIORITY_LOW
Dma.UART4_RX.3.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
Dma.UART4_TX.4.Direction=DMA_MEMORY_TO_PERIPH
Dma.UART4_TX.4.Instance=DMA2_Channel5
Dma.UART4_TX.4.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.UART4_TX.4.MemInc=DMA_MINC_ENABLE
Dma.UART4_TX.4.Mode=DMA_NORMAL
Dma.UART4_TX.4.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.UART4_TX.4.PeriphInc=DMA_PINC_DISABLE
Dma.UART4_TX.4.Priority=DMA_PRIORITY_LOW
Dma.UART4_TX.4.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
Dma.USART1_RX.2.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART1_RX.2.Instance=DMA1_Channel5
Dma.USART1_RX.2.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART1_RX.2.MemInc=DMA_MINC_ENABLE
Dma.USART1_RX.2.Mode=DMA_NORMAL
Dma.USART1_RX.2.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART1_RX.2.PeriphInc=DMA_PINC_DISABLE
Dma.USART1_RX.2.Priority=DMA_PRIORITY_LOW
Dma.USART1_RX.2.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
Dma.USART1_TX.1.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART1_TX.1.Instance=DMA1_Channel4
Dma.USART1_TX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART1_TX.1.MemInc=DMA_MINC_ENABLE
Dma.USART1_TX.1.Mode=DMA_NORMAL
Dma.USART1_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART1_TX.1.PeriphInc=DMA_PINC_DISABLE
Dma.USART1_TX.1.Priority=DMA_PRIORITY_LOW
Dma.USART1_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
FREERTOS.FootprintOK=true
FREERTOS.HEAP_NUMBER=4
FREERTOS.INCLUDE_pcTaskGetTaskName=1
@ -193,6 +233,10 @@ MxDb.Version=DB.6.0.20
NVIC.ADC1_2_IRQn=true\:5\:0\:false\:true\:true\:8\:true\:true\:true
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.DMA1_Channel1_IRQn=true\:5\:0\:false\:true\:true\:9\:true\:false\:true
NVIC.DMA1_Channel4_IRQn=true\:5\:0\:false\:true\:true\:17\:true\:false\:true
NVIC.DMA1_Channel5_IRQn=true\:5\:0\:false\:true\:true\:18\:true\:false\:true
NVIC.DMA2_Channel3_IRQn=true\:5\:0\:false\:true\:true\:19\:true\:false\:true
NVIC.DMA2_Channel5_IRQn=true\:5\:0\:false\:true\:true\:20\:true\:false\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:true\:false\:true\:false\:false\:false
NVIC.EXTI0_IRQn=true\:5\:0\:false\:true\:true\:11\:true\:true\:true
NVIC.EXTI3_IRQn=true\:5\:0\:false\:true\:true\:12\:true\:true\:true
@ -652,4 +696,4 @@ VP_SYS_VS_tim1.Signal=SYS_VS_tim1
VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS.Mode=CDC_FS
VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS.Signal=USB_DEVICE_VS_USB_DEVICE_CDC_FS
board=custom
isbadioc=true
isbadioc=false

View File

@ -3,7 +3,7 @@
* @Author: CK.Zh
* @Date: 2020-02-20 11:39:38
* @LastEditors: CK.Zh
* @LastEditTime: 2021-03-10 11:40:42
* @LastEditTime: 2021-03-10 13:48:33
-->
# NaviKit_stm32
PM1导航套件中电源控制板源码STM32F107VCT6开发环境STM32CubeIDE
@ -32,12 +32,17 @@
函数`void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd)`
代码段`HAL_PCD_SuspendCallback(hpcd); ` 务必屏蔽,否则导致枚举失败,提示获取设备描述符失败。
> EC日志输出口波特率为56000bps
# 维护指南
* 为提高可移植性、可维护性、可阅读性,开发(应用层)时尽量使用`CMSIS_OS2`的抽象接口特殊情况时再考虑使用RTOS的原生接口
* 线程任务实例及属性、句柄的声明及定义,独立存放在`App`文件夹
* `freertos.c`中的任务实体只保留默认任务, 其他线程任务实例、属性、句柄的声明及定义,独立存放在`App`文件夹
* 线程、定时器、事件标志、互斥锁、信号量、消息队列等功能的初始化统一在`freertos.c`文件中进行初始化(内核启动前的预装载)
* `freertos.c`中的任务实体只保留默认任务即可
# 日志接口
* 串口输出口波特率为56000bps
* 日志输出支持`CSI`颜色模式
# 勘误
硬件的v1.0以前版本中SYS_RESET脚和MOD_SLEEP到单片机的实际连接与网络标号是相反的问题发生在TXB0108PWR芯片附近故代码中在GPIO处进行了相反的设置。

View File

@ -55,8 +55,8 @@ ENTRY(Reset_Handler)
/* Highest address of the user mode stack */
_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */
_Min_Heap_Size = 0x400 ; /* required amount of heap */
_Min_Stack_Size = 0x800 ; /* required amount of stack */
_Min_Heap_Size = 0x1f00 ; /* required amount of heap */
_Min_Stack_Size = 0x1f00 ; /* required amount of stack */
/* Memories definition */
MEMORY

View File

@ -301,6 +301,7 @@ USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev)
hpcd_USB_OTG_FS.Instance = USB_OTG_FS;
hpcd_USB_OTG_FS.Init.dev_endpoints = 4;
hpcd_USB_OTG_FS.Init.speed = PCD_SPEED_FULL;
hpcd_USB_OTG_FS.Init.phy_itface = PCD_PHY_EMBEDDED;
hpcd_USB_OTG_FS.Init.Sof_enable = DISABLE;
hpcd_USB_OTG_FS.Init.low_power_enable = DISABLE;
hpcd_USB_OTG_FS.Init.vbus_sensing_enable = DISABLE;

View File

@ -1,10 +1,3 @@
/*
* @Description:
* @Date: 2020-02-20 11:58:24
* @LastEditors: CK.Zh
* @LastEditTime: 2021-03-09 18:32:44
* @FilePath: \NaviKit_EC_stm32\USB_DEVICE\Target\usbd_conf.h
*/
/* USER CODE BEGIN Header */
/**
******************************************************************************
@ -76,7 +69,7 @@
/*---------- -----------*/
#define USBD_MAX_STR_DESC_SIZ 512
/*---------- -----------*/
#define USBD_DEBUG_LEVEL 0
#define USBD_DEBUG_LEVEL 3
/*---------- -----------*/
#define USBD_SELF_POWERED 1
/*---------- -----------*/