CHENJIE-PC\QiXiang_CHENJIE 3 years ago
commit
8839e17d0e
100 changed files with 48378 additions and 0 deletions
  1. 795 0
      .cproject
  2. 26 0
      .project
  3. 2 0
      .settings/com.freescale.s32ds.cross.sdk.support.prefs
  4. 0 0
      .settings/com.nxp.s32ds.cle.ide.sdk.attached.sdks.data.prefs
  5. 9 0
      .settings/com.nxp.s32ds.cle.runtime.component.prefs
  6. 47 0
      .settings/language.settings.xml
  7. 3 0
      .settings/org.eclipse.cdt.codan.core.prefs
  8. 33 0
      .settings/org.eclipse.cdt.core.prefs
  9. 47 0
      Debug_FLASH/FreeRTOS/Source/croutine.args
  10. 67 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.000i.cgraph
  11. 0 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.000i.ipa-clones
  12. 0 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.000i.type-inheritance
  13. 15 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.016i.visibility
  14. 0 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.017i.build_ssa_passes
  15. 0 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.022i.opt_local_passes
  16. 6 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.048i.remove_symbols
  17. 0 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.060i.targetclone
  18. 0 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.064i.free-fnsummary1
  19. 16 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.068i.whole-program
  20. 1 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.069i.profile_estimate
  21. 37 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.070i.icf
  22. 2 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.071i.devirt
  23. 26 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.072i.cp
  24. 2 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.075i.fnsummary
  25. 16 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.076i.inline
  26. 18 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.077i.pure-const
  27. 0 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.078i.free-fnsummary2
  28. 7 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.079i.static-var
  29. 0 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.080i.single-use
  30. 0 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.081i.comdats
  31. 0 0
      Debug_FLASH/FreeRTOS/Source/croutine.c.082i.materialize-all-clones
  32. 30 0
      Debug_FLASH/FreeRTOS/Source/croutine.d
  33. BIN
      Debug_FLASH/FreeRTOS/Source/croutine.o
  34. 0 0
      Debug_FLASH/FreeRTOS/Source/croutine.su
  35. 1507 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.000i.cgraph
  36. 32 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.000i.ipa-clones
  37. 0 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.000i.type-inheritance
  38. 1344 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.016i.visibility
  39. 1066 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.017i.build_ssa_passes
  40. 1223 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.022i.opt_local_passes
  41. 1488 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.048i.remove_symbols
  42. 1228 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.060i.targetclone
  43. 1228 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.064i.free-fnsummary1
  44. 1506 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.068i.whole-program
  45. 1237 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.069i.profile_estimate
  46. 1296 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.070i.icf
  47. 1492 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.071i.devirt
  48. 1641 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.072i.cp
  49. 2164 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.075i.fnsummary
  50. 2366 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.076i.inline
  51. 2602 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.077i.pure-const
  52. 1236 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.078i.free-fnsummary2
  53. 1845 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.079i.static-var
  54. 1236 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.080i.single-use
  55. 1236 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.081i.comdats
  56. 1236 0
      Debug_FLASH/FreeRTOS/Source/event_groups.c.082i.materialize-all-clones
  57. 38 0
      Debug_FLASH/FreeRTOS/Source/event_groups.d
  58. BIN
      Debug_FLASH/FreeRTOS/Source/event_groups.o
  59. 13 0
      Debug_FLASH/FreeRTOS/Source/event_groups.su
  60. 328 0
      Debug_FLASH/FreeRTOS/Source/list.c.000i.cgraph
  61. 0 0
      Debug_FLASH/FreeRTOS/Source/list.c.000i.ipa-clones
  62. 0 0
      Debug_FLASH/FreeRTOS/Source/list.c.000i.type-inheritance
  63. 233 0
      Debug_FLASH/FreeRTOS/Source/list.c.016i.visibility
  64. 173 0
      Debug_FLASH/FreeRTOS/Source/list.c.017i.build_ssa_passes
  65. 205 0
      Debug_FLASH/FreeRTOS/Source/list.c.022i.opt_local_passes
  66. 240 0
      Debug_FLASH/FreeRTOS/Source/list.c.048i.remove_symbols
  67. 189 0
      Debug_FLASH/FreeRTOS/Source/list.c.060i.targetclone
  68. 189 0
      Debug_FLASH/FreeRTOS/Source/list.c.064i.free-fnsummary1
  69. 250 0
      Debug_FLASH/FreeRTOS/Source/list.c.068i.whole-program
  70. 190 0
      Debug_FLASH/FreeRTOS/Source/list.c.069i.profile_estimate
  71. 236 0
      Debug_FLASH/FreeRTOS/Source/list.c.070i.icf
  72. 236 0
      Debug_FLASH/FreeRTOS/Source/list.c.071i.devirt
  73. 330 0
      Debug_FLASH/FreeRTOS/Source/list.c.072i.cp
  74. 380 0
      Debug_FLASH/FreeRTOS/Source/list.c.075i.fnsummary
  75. 414 0
      Debug_FLASH/FreeRTOS/Source/list.c.076i.inline
  76. 536 0
      Debug_FLASH/FreeRTOS/Source/list.c.077i.pure-const
  77. 189 0
      Debug_FLASH/FreeRTOS/Source/list.c.078i.free-fnsummary2
  78. 336 0
      Debug_FLASH/FreeRTOS/Source/list.c.079i.static-var
  79. 189 0
      Debug_FLASH/FreeRTOS/Source/list.c.080i.single-use
  80. 189 0
      Debug_FLASH/FreeRTOS/Source/list.c.081i.comdats
  81. 189 0
      Debug_FLASH/FreeRTOS/Source/list.c.082i.materialize-all-clones
  82. 25 0
      Debug_FLASH/FreeRTOS/Source/list.d
  83. BIN
      Debug_FLASH/FreeRTOS/Source/list.o
  84. 5 0
      Debug_FLASH/FreeRTOS/Source/list.su
  85. 47 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.args
  86. 1049 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.000i.cgraph
  87. 21 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.000i.ipa-clones
  88. 0 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.000i.type-inheritance
  89. 809 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.016i.visibility
  90. 619 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.017i.build_ssa_passes
  91. 703 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.022i.opt_local_passes
  92. 942 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.048i.remove_symbols
  93. 770 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.060i.targetclone
  94. 770 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.064i.free-fnsummary1
  95. 955 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.068i.whole-program
  96. 774 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.069i.profile_estimate
  97. 832 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.070i.icf
  98. 941 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.071i.devirt
  99. 1048 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.072i.cp
  100. 1382 0
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.075i.fnsummary

+ 795 - 0
.cproject

@@ -0,0 +1,795 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+	<storageModule moduleId="org.eclipse.cdt.core.settings">
+		<cconfiguration id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730">
+			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730" moduleId="org.eclipse.cdt.core.settings" name="Debug_FLASH">
+				<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"/>
+					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="com.freescale.s32ds.cdt.core.errorParsers.S32DSGNULinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+				</extensions>
+			</storageModule>
+			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+				<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="com.nxp.s32ds.cle.arm.mbs.arm32.bare.buildArtefact.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=com.nxp.s32ds.cle.arm.mbs.arm32.bare.buildArtefact.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730" name="Debug_FLASH" parent="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug">
+					<folderInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730." name="/" resourcePath="">
+						<toolChain id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.toolchain.debug.1688486903" name="NXP GCC 9.2 for Arm 32-bit Bare-Metal" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.toolchain.debug">
+							<option defaultValue="true" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.addtools.printsize.437875081" name="Print size" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.addtools.printsize" valueType="boolean"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.compiler.path.809726741" name="Path" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.compiler.path" value="${S32DS_K1_ARM32_GNU_9_2_TOOLCHAIN_DIR}" valueType="string"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries.853632361" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu.1406617346" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset.1567292882" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset.thumb" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness.1488349558" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness.little" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi.1491297387" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi.hard" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit.1080801459" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1254187428" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
+							<builder buildPath="${workspace_loc:/S32K144_Project_CAN_UART_DIO}/Debug_FLASH" id="com.freescale.s32ds.cross.gnu.builder.1599748491" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="FSL Make Builder" superClass="com.freescale.s32ds.cross.gnu.builder"/>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.1023612980" name="Standard S32DS C Compiler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler">
+								<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.122111347" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.c.optimization.level.size" valueType="enumerated"/>
+								<option defaultValue="gnu.c.debugging.level.max" id="gnu.c.compiler.option.debugging.level.568900740" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.functionsections.1444192837" name="Function sections (-ffunction-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.functionsections" useByScannerDiscovery="true" value="false" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.datasections.50234450" name="Data sections (-fdata-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.datasections" useByScannerDiscovery="true" value="false" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.debugging.format.1069063215" name="Debug format" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.debugging.format" useByScannerDiscovery="true"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.libraries.1917980944" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.libraries" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.sysroot.1398166941" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.sysroot" useByScannerDiscovery="false" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.compiler.option.include.paths.312935963" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false" value="../FreeRTOS/Source/include"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/include}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/portable/GCC/ARM_CM4F}&quot;"/>
+									<listOptionValue builtIn="false" value="../RTD/include"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/include}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/portable/GCC/ARM_CM4F}&quot;"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/generate/include"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/RTD/include"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/board&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.mcpu.1483807474" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.mcpu" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.compiler.option.preprocessor.def.symbols.1283774113" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CPU_S32K144HFT0VLLT"/>
+									<listOptionValue builtIn="false" value="I_CACHE_ENABLE"/>
+									<listOptionValue builtIn="false" value="ENABLE_FPU"/>
+									<listOptionValue builtIn="false" value="GCC"/>
+									<listOptionValue builtIn="false" value="S32K1XX"/>
+									<listOptionValue builtIn="false" value="S32K144"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.instructionset.1705029345" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.instructionset" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.option.dialect.std.85927203" name="Language standard" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.option.dialect.std.c99" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.endianness.616101616" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.endianness" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="gnu.c.compiler.option.debugging.other.166075993" name="Other debugging flags" superClass="gnu.c.compiler.option.debugging.other" useByScannerDiscovery="false" value="-ggdb3" valueType="string"/>
+								<option id="gnu.c.compiler.option.warnings.pedantic.1760242867" name="Pedantic (-pedantic)" superClass="gnu.c.compiler.option.warnings.pedantic" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+								<option id="gnu.c.compiler.option.warnings.extrawarn.840568166" name="Extra warnings (-Wextra)" superClass="gnu.c.compiler.option.warnings.extrawarn" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.unused.897736145" name="Warn on various unused elements (-Wunused)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.unused" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.unsignedbitfields.1898278491" name="'bitfield' is unsigned (-funsigned-bitfields)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.unsignedbitfields" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.abi.596616712" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.abi" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.unit.1861777202" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.unit" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.nocommon.419525040" name="No common uninitialized (-fno-common)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.nocommon" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="gnu.c.compiler.option.optimization.flags.1657282788" name="Other optimization flags" superClass="gnu.c.compiler.option.optimization.flags" useByScannerDiscovery="false" value="-funsigned-char -fstack-usage -fdump-ipa-all -fomit-frame-pointer" valueType="string"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.other.1371421999" name="Other warning flags" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.other" useByScannerDiscovery="true" value="-Wstrict-prototypes -Wsign-compare -Werror=implicit-function-declaration -Wundef -Wdouble-promotion" valueType="string"/>
+								<option id="gnu.c.compiler.option.misc.other.1580474791" name="Other flags" superClass="gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-c -fno-short-enums" valueType="string"/>
+								<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1228791192" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.compiler.858682083" name="Standard S32DS C++ Compiler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.compiler">
+								<option id="gnu.cpp.compiler.option.optimization.level.1827850802" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+								<option defaultValue="gnu.cpp.compiler.debugging.level.max" id="gnu.cpp.compiler.option.debugging.level.1824642190" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" valueType="enumerated"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.functionsections.1566676528" name="Function sections (-ffunction-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.functionsections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.datasections.1833939580" name="Data sections (-fdata-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.datasections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.debugging.format.800889425" name="Debug format" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.debugging.format" useByScannerDiscovery="true"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.libraries.131098459" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.libraries" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.sysroot.967310538" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.sysroot" useByScannerDiscovery="false" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.include.paths.1816437811" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.mcpu.1618730001" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.mcpu" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.287103957" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CPU_S32K144HFT0VLLT"/>
+									<listOptionValue builtIn="false" value="S32K144"/>
+									<listOptionValue builtIn="false" value="S32K1XX"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.instructionset.1448216152" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.instructionset" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.endianness.2109238880" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.endianness" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.abi.310903243" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.abi" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit.1561310026" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.linker.1618945888" name="Standard S32DS C Linker" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.linker">
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.linker.option.gcsections.1262581264" name="Remove unused sections (-Xlinker --gc-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.option.gcsections" value="false" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries.1331744268" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.sysroot.1763442072" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu.1348903460" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.freescale.s32ds.cross.gnu.tool.c.linker.option.scriptfile.1980505951" name="Script files (-T)" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.option.scriptfile" valueType="stringList">
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/Project_Settings/Linker_Files/linker_flash_s32k144.ld&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset.646587435" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness.839537644" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi.2002662514" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit.119043842" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<option id="gnu.c.link.option.ldflags.1165336679" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="--entry=Reset_Handler -ggdb3" valueType="string"/>
+								<option id="gnu.c.link.option.nostart.1481496412" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" value="true" valueType="boolean"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.link.option.libs.2008063083" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
+									<listOptionValue builtIn="false" value="c"/>
+									<listOptionValue builtIn="false" value="m"/>
+									<listOptionValue builtIn="false" value="gcc"/>
+								</option>
+								<inputType id="com.freescale.s32ds.cross.gnu.tool.c.linker.inputType.scriptfile.773949091" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.inputType.scriptfile"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.linker.5534073" name="Standard S32DS C++ Linker" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.linker">
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.linker.option.gcsections.1237754563" name="Remove unused sections (-Xlinker --gc-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.linker.option.gcsections" value="true" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.libraries.525090552" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.sysroot.1643480412" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.mcpu.1758723187" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.instructionset.1325005895" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.endianness.1754323031" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.abi.363426762" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.unit.1717963649" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.archiver.675178240" name="Standard S32DS Archiver" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.archiver"/>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.1331032504" name="Standard S32DS Assembler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler">
+								<option id="com.freescale.s32ds.cross.gnu.tool.assembler.usepreprocessor.143934934" name="Use preprocessor" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.usepreprocessor" value="true" valueType="boolean"/>
+								<option defaultValue="gnu.c.debugging.level.max" id="com.freescale.s32ds.cross.gnu.tool.assembler.option.debugging.level.1977347775" name="Debug Level" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.option.debugging.level" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries.1953338141" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.sysroot.1712297462" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.both.asm.option.include.paths.317203149" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
+									<listOptionValue builtIn="false" value="../FreeRTOS/Source/include"/>
+									<listOptionValue builtIn="false" value="../RTD/include"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices/S32K144/startup}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/drivers/inc}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/board}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/include}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/portable/GCC/ARM_CM4F}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/generate/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/RTD/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/board&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu.854164039" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset.951622983" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness.1195916412" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi.557807965" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit.923103058" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.2085436898" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+								<inputType id="com.freescale.s32ds.cross.gnu.tool.assembler.inputType.asmfile.146802684" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.inputType.asmfile"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.createflash.1311079720" name="Standard S32DS Create Flash Image" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.createflash"/>
+							<tool id="com.freescale.s32ds.cross.gnu.tool.createlisting.1272976181" name="Standard S32DS Create Listing" superClass="com.freescale.s32ds.cross.gnu.tool.createlisting">
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.source.796588645" name="Display source (--source|-S)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.source" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.allheaders.140517277" name="Display all headers (--all-headers|-x)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.allheaders" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.demangle.1878494739" name="Demangle names (--demangle|-C)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.demangle" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.linenumbers.67841146" name="Display line numbers (--line-numbers|-l)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.linenumbers" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.wide.354162889" name="Wide lines (--wide|-w)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.wide" value="true" valueType="boolean"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.printsize.397612479" name="Standard S32DS Print Size" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.printsize">
+								<option id="com.freescale.s32ds.cross.gnu.option.printsize.format.1798650691" name="Size format" superClass="com.freescale.s32ds.cross.gnu.option.printsize.format"/>
+							</tool>
+							<tool id="com.freescale.s32ds.cross.gnu.c.preprocessor.1723341826" name="Standard S32DS C Preprocessor" superClass="com.freescale.s32ds.cross.gnu.c.preprocessor"/>
+							<tool id="com.freescale.s32ds.cross.gnu.cpp.preprocessor.1464533459" name="Standard S32DS C++ Preprocessor" superClass="com.freescale.s32ds.cross.gnu.cpp.preprocessor"/>
+							<tool id="com.freescale.s32ds.cross.gnu.disassembler.965136956" name="Standard S32DS Disassembler" superClass="com.freescale.s32ds.cross.gnu.disassembler"/>
+						</toolChain>
+					</folderInfo>
+					<fileInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730.Project_Settings/Debugger" name="Debugger" rcbsApplicability="disable" resourcePath="Project_Settings/Debugger" toolsToInvoke=""/>
+					<fileInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730.Project_Settings/Linker_Files" name="Linker_Files" rcbsApplicability="disable" resourcePath="Project_Settings/Linker_Files" toolsToInvoke=""/>
+					<sourceEntries>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="FreeRTOS"/>
+						<entry excluding="Linker_Files|Debugger" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Project_Settings"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="RTD"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="board"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="generate"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+					</sourceEntries>
+				</configuration>
+			</storageModule>
+			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+		</cconfiguration>
+		<cconfiguration id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861">
+			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861" moduleId="org.eclipse.cdt.core.settings" name="Release_FLASH">
+				<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"/>
+					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="com.freescale.s32ds.cdt.core.errorParsers.S32DSGNULinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+				</extensions>
+			</storageModule>
+			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+				<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="com.nxp.s32ds.cle.arm.mbs.arm32.bare.buildArtefact.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=com.nxp.s32ds.cle.arm.mbs.arm32.bare.buildArtefact.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861" name="Release_FLASH" parent="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release">
+					<folderInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861." name="/" resourcePath="">
+						<toolChain id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.toolchain.release.1695733962" name="NXP GCC 9.2 for Arm 32-bit Bare-Metal" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.toolchain.release">
+							<option defaultValue="true" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.addtools.printsize.600997363" name="Print size" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.addtools.printsize" valueType="boolean"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.compiler.path.1836850865" name="Path" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.compiler.path" value="${S32DS_K1_ARM32_GNU_9_2_TOOLCHAIN_DIR}" valueType="string"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries.338053604" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu.252964585" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset.31957914" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset.thumb" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness.589526245" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness.little" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi.602385785" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi.hard" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit.390541893" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1534494904" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
+							<builder buildPath="${workspace_loc:/S32K144_Project_CAN_UART_DIO}/Release_FLASH" id="com.freescale.s32ds.cross.gnu.builder.885925258" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="FSL Make Builder" superClass="com.freescale.s32ds.cross.gnu.builder"/>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.822734232" name="Standard S32DS C Compiler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler">
+								<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1229082892" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.c.optimization.level.size" valueType="enumerated"/>
+								<option defaultValue="gnu.c.debugging.level.none" id="gnu.c.compiler.option.debugging.level.1837022800" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" valueType="enumerated"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.functionsections.1217161771" name="Function sections (-ffunction-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.functionsections" useByScannerDiscovery="true" value="false" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.datasections.1792432129" name="Data sections (-fdata-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.datasections" useByScannerDiscovery="true" value="false" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.debugging.format.1405091033" name="Debug format" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.debugging.format" useByScannerDiscovery="true"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.libraries.1808697879" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.libraries" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.sysroot.907863289" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.sysroot" useByScannerDiscovery="false" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.compiler.option.include.paths.1300134826" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false" value="../FreeRTOS/Source/include"/>
+									<listOptionValue builtIn="false" value="../RTD/include"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices/S32K144/startup}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/drivers/inc}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/board}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/include}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/portable/GCC/ARM_CM4F}&quot;"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/generate/include"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/RTD/include"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/board&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.mcpu.1996304377" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.mcpu" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.compiler.option.preprocessor.def.symbols.97193505" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CPU_S32K144HFT0VLLT"/>
+									<listOptionValue builtIn="false" value="I_CACHE_ENABLE"/>
+									<listOptionValue builtIn="false" value="ENABLE_FPU"/>
+									<listOptionValue builtIn="false" value="GCC"/>
+									<listOptionValue builtIn="false" value="S32K1XX"/>
+									<listOptionValue builtIn="false" value="S32K144"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.instructionset.252010503" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.instructionset" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.option.dialect.std.2013685258" name="Language standard" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.option.dialect.std.c99" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.endianness.675343447" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.endianness" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="gnu.c.compiler.option.debugging.other.957907243" name="Other debugging flags" superClass="gnu.c.compiler.option.debugging.other" useByScannerDiscovery="false" value="-ggdb3" valueType="string"/>
+								<option id="gnu.c.compiler.option.warnings.pedantic.219451910" name="Pedantic (-pedantic)" superClass="gnu.c.compiler.option.warnings.pedantic" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+								<option id="gnu.c.compiler.option.warnings.extrawarn.1689592578" name="Extra warnings (-Wextra)" superClass="gnu.c.compiler.option.warnings.extrawarn" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.unused.1266287703" name="Warn on various unused elements (-Wunused)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.unused" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.unsignedbitfields.881954383" name="'bitfield' is unsigned (-funsigned-bitfields)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.unsignedbitfields" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.abi.1438198084" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.abi" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.unit.820971857" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.unit" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.nocommon.2095869827" name="No common uninitialized (-fno-common)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.nocommon" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="gnu.c.compiler.option.optimization.flags.1397781088" name="Other optimization flags" superClass="gnu.c.compiler.option.optimization.flags" useByScannerDiscovery="false" value="-funsigned-char -fstack-usage -fdump-ipa-all -fomit-frame-pointer" valueType="string"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.other.1207213483" name="Other warning flags" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.other" useByScannerDiscovery="true" value="-Wstrict-prototypes -Wsign-compare -Werror=implicit-function-declaration -Wundef -Wdouble-promotion" valueType="string"/>
+								<option id="gnu.c.compiler.option.misc.other.830217735" name="Other flags" superClass="gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-c -fno-short-enums" valueType="string"/>
+								<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1755280477" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.compiler.1693601445" name="Standard S32DS C++ Compiler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.compiler">
+								<option id="gnu.cpp.compiler.option.optimization.level.490339588" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+								<option defaultValue="gnu.cpp.compiler.debugging.level.none" id="gnu.cpp.compiler.option.debugging.level.792434375" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" valueType="enumerated"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.functionsections.1272669497" name="Function sections (-ffunction-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.functionsections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.datasections.957955587" name="Data sections (-fdata-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.datasections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.debugging.format.371164309" name="Debug format" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.debugging.format" useByScannerDiscovery="true"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.libraries.94075320" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.libraries" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.sysroot.2110528674" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.sysroot" useByScannerDiscovery="false" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.include.paths.2063434102" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.mcpu.77422567" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.mcpu" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.981234202" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CPU_S32K144HFT0VLLT"/>
+									<listOptionValue builtIn="false" value="S32K144"/>
+									<listOptionValue builtIn="false" value="S32K1XX"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.instructionset.455055243" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.instructionset" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.endianness.713811849" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.endianness" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.abi.1652443923" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.abi" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit.1787994793" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.linker.2048260454" name="Standard S32DS C Linker" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.linker">
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.linker.option.gcsections.1747105269" name="Remove unused sections (-Xlinker --gc-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.option.gcsections" value="false" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries.1892351261" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.sysroot.376807501" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu.287950736" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.freescale.s32ds.cross.gnu.tool.c.linker.option.scriptfile.632535555" name="Script files (-T)" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.option.scriptfile" valueType="stringList">
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/Project_Settings/Linker_Files/linker_flash_s32k144.ld&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset.40337600" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness.1603115591" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi.1935101069" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit.1827210082" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<option id="gnu.c.link.option.ldflags.720133138" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="--entry=Reset_Handler -ggdb3" valueType="string"/>
+								<option id="gnu.c.link.option.nostart.1139956632" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" value="true" valueType="boolean"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.link.option.libs.1755311307" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
+									<listOptionValue builtIn="false" value="c"/>
+									<listOptionValue builtIn="false" value="m"/>
+									<listOptionValue builtIn="false" value="gcc"/>
+								</option>
+								<inputType id="com.freescale.s32ds.cross.gnu.tool.c.linker.inputType.scriptfile.47046081" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.inputType.scriptfile"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.linker.1595958063" name="Standard S32DS C++ Linker" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.linker">
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.linker.option.gcsections.1679195465" name="Remove unused sections (-Xlinker --gc-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.linker.option.gcsections" value="true" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.libraries.1063126730" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.sysroot.1202016173" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.mcpu.578311917" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.instructionset.1359252745" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.endianness.1056373906" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.abi.2063801865" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.unit.118381752" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.archiver.170312955" name="Standard S32DS Archiver" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.archiver"/>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.1142240610" name="Standard S32DS Assembler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler">
+								<option id="com.freescale.s32ds.cross.gnu.tool.assembler.usepreprocessor.1387123333" name="Use preprocessor" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.usepreprocessor" value="true" valueType="boolean"/>
+								<option defaultValue="gnu.c.debugging.level.none" id="com.freescale.s32ds.cross.gnu.tool.assembler.option.debugging.level.443856208" name="Debug Level" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.option.debugging.level" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries.2118923236" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.sysroot.2054520629" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.both.asm.option.include.paths.1227374451" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
+									<listOptionValue builtIn="false" value="../FreeRTOS/Source/include"/>
+									<listOptionValue builtIn="false" value="../RTD/include"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices/S32K144/startup}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/drivers/inc}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/board}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/include}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/portable/GCC/ARM_CM4F}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/generate/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/RTD/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/board&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu.1137545906" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset.779310411" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness.836596516" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi.1995371768" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit.676265675" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.138159999" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+								<inputType id="com.freescale.s32ds.cross.gnu.tool.assembler.inputType.asmfile.999572627" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.inputType.asmfile"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.createflash.1369903811" name="Standard S32DS Create Flash Image" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.createflash"/>
+							<tool id="com.freescale.s32ds.cross.gnu.tool.createlisting.471001513" name="Standard S32DS Create Listing" superClass="com.freescale.s32ds.cross.gnu.tool.createlisting">
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.source.1906181990" name="Display source (--source|-S)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.source" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.allheaders.929192885" name="Display all headers (--all-headers|-x)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.allheaders" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.demangle.1357075817" name="Demangle names (--demangle|-C)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.demangle" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.linenumbers.1527939067" name="Display line numbers (--line-numbers|-l)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.linenumbers" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.wide.960965338" name="Wide lines (--wide|-w)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.wide" value="true" valueType="boolean"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.printsize.53715564" name="Standard S32DS Print Size" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.printsize">
+								<option id="com.freescale.s32ds.cross.gnu.option.printsize.format.78193899" name="Size format" superClass="com.freescale.s32ds.cross.gnu.option.printsize.format"/>
+							</tool>
+							<tool id="com.freescale.s32ds.cross.gnu.c.preprocessor.389256019" name="Standard S32DS C Preprocessor" superClass="com.freescale.s32ds.cross.gnu.c.preprocessor"/>
+							<tool id="com.freescale.s32ds.cross.gnu.cpp.preprocessor.1598190055" name="Standard S32DS C++ Preprocessor" superClass="com.freescale.s32ds.cross.gnu.cpp.preprocessor"/>
+							<tool id="com.freescale.s32ds.cross.gnu.disassembler.1825014411" name="Standard S32DS Disassembler" superClass="com.freescale.s32ds.cross.gnu.disassembler"/>
+						</toolChain>
+					</folderInfo>
+					<fileInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861.Project_Settings/Debugger" name="Debugger" rcbsApplicability="disable" resourcePath="Project_Settings/Debugger" toolsToInvoke=""/>
+					<fileInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861.Project_Settings/Linker_Files" name="Linker_Files" rcbsApplicability="disable" resourcePath="Project_Settings/Linker_Files" toolsToInvoke=""/>
+					<sourceEntries>
+						<entry excluding="Linker_Files|Debugger" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Project_Settings"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="RTD"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="board"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="generate"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+					</sourceEntries>
+				</configuration>
+			</storageModule>
+			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+		</cconfiguration>
+		<cconfiguration id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015">
+			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015" moduleId="org.eclipse.cdt.core.settings" name="Debug_RAM">
+				<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"/>
+					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="com.freescale.s32ds.cdt.core.errorParsers.S32DSGNULinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+				</extensions>
+			</storageModule>
+			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+				<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="com.nxp.s32ds.cle.arm.mbs.arm32.bare.buildArtefact.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=com.nxp.s32ds.cle.arm.mbs.arm32.bare.buildArtefact.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015" name="Debug_RAM" parent="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram">
+					<folderInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015." name="/" resourcePath="">
+						<toolChain id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.toolchain.debug.ram.1530775263" name="NXP GCC 9.2 for Arm 32-bit Bare-Metal" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.toolchain.debug.ram">
+							<option defaultValue="true" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.addtools.printsize.610023839" name="Print size" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.addtools.printsize" valueType="boolean"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.compiler.path.673473452" name="Path" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.compiler.path" value="${S32DS_K1_ARM32_GNU_9_2_TOOLCHAIN_DIR}" valueType="string"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries.690561868" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu.930524450" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset.625550485" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset.thumb" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness.1937756565" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness.little" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi.1793565967" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi.hard" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit.352331803" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.2021840106" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
+							<builder buildPath="${workspace_loc:/S32K144_Project_CAN_UART_DIO}/Debug_RAM" id="com.freescale.s32ds.cross.gnu.builder.1284195160" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="FSL Make Builder" superClass="com.freescale.s32ds.cross.gnu.builder"/>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.1514174576" name="Standard S32DS C Compiler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler">
+								<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1407202816" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.c.optimization.level.size" valueType="enumerated"/>
+								<option defaultValue="gnu.c.debugging.level.max" id="gnu.c.compiler.option.debugging.level.1858409692" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.functionsections.36418669" name="Function sections (-ffunction-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.functionsections" useByScannerDiscovery="true" value="false" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.datasections.299420583" name="Data sections (-fdata-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.datasections" useByScannerDiscovery="true" value="false" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.debugging.format.1305376937" name="Debug format" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.debugging.format" useByScannerDiscovery="true"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.libraries.1198737843" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.libraries" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.sysroot.1696192791" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.sysroot" useByScannerDiscovery="false" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.compiler.option.include.paths.939718815" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false" value="../FreeRTOS/Source/include"/>
+									<listOptionValue builtIn="false" value="../RTD/include"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices/S32K144/startup}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/drivers/inc}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/board}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/include}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/portable/GCC/ARM_CM4F}&quot;"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/generate/include"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/RTD/include"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/board&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.mcpu.1610340725" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.mcpu" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.compiler.option.preprocessor.def.symbols.318386758" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CPU_S32K144HFT0VLLT"/>
+									<listOptionValue builtIn="false" value="I_CACHE_ENABLE"/>
+									<listOptionValue builtIn="false" value="ENABLE_FPU"/>
+									<listOptionValue builtIn="false" value="GCC"/>
+									<listOptionValue builtIn="false" value="S32K1XX"/>
+									<listOptionValue builtIn="false" value="S32K144"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.instructionset.2060731051" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.instructionset" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.option.dialect.std.2012861353" name="Language standard" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.option.dialect.std.c99" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.endianness.674969453" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.endianness" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="gnu.c.compiler.option.debugging.other.273428905" name="Other debugging flags" superClass="gnu.c.compiler.option.debugging.other" useByScannerDiscovery="false" value="-ggdb3" valueType="string"/>
+								<option id="gnu.c.compiler.option.warnings.pedantic.188029498" name="Pedantic (-pedantic)" superClass="gnu.c.compiler.option.warnings.pedantic" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+								<option id="gnu.c.compiler.option.warnings.extrawarn.1677010571" name="Extra warnings (-Wextra)" superClass="gnu.c.compiler.option.warnings.extrawarn" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.unused.1743433469" name="Warn on various unused elements (-Wunused)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.unused" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.unsignedbitfields.2140975486" name="'bitfield' is unsigned (-funsigned-bitfields)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.unsignedbitfields" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.abi.1037040129" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.abi" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.unit.165818444" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.unit" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.nocommon.361514590" name="No common uninitialized (-fno-common)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.nocommon" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="gnu.c.compiler.option.optimization.flags.780999533" name="Other optimization flags" superClass="gnu.c.compiler.option.optimization.flags" useByScannerDiscovery="false" value="-funsigned-char -fstack-usage -fdump-ipa-all -fomit-frame-pointer" valueType="string"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.other.1989744484" name="Other warning flags" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.other" useByScannerDiscovery="true" value="-Wstrict-prototypes -Wsign-compare -Werror=implicit-function-declaration -Wundef -Wdouble-promotion" valueType="string"/>
+								<option id="gnu.c.compiler.option.misc.other.591699681" name="Other flags" superClass="gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-c -fno-short-enums" valueType="string"/>
+								<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1766391064" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.compiler.1626695909" name="Standard S32DS C++ Compiler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.compiler">
+								<option id="gnu.cpp.compiler.option.optimization.level.1317355888" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+								<option defaultValue="gnu.cpp.compiler.debugging.level.max" id="gnu.cpp.compiler.option.debugging.level.1557234617" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" valueType="enumerated"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.functionsections.1935701373" name="Function sections (-ffunction-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.functionsections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.datasections.1493194236" name="Data sections (-fdata-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.datasections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.debugging.format.728813821" name="Debug format" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.debugging.format" useByScannerDiscovery="true"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.libraries.1946124119" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.libraries" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.sysroot.1458070467" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.sysroot" useByScannerDiscovery="false" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.include.paths.1991929572" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.mcpu.1040635943" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.mcpu" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.576744280" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CPU_S32K144HFT0VLLT"/>
+									<listOptionValue builtIn="false" value="S32K144"/>
+									<listOptionValue builtIn="false" value="S32K1XX"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.instructionset.322259436" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.instructionset" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.endianness.20576445" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.endianness" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.abi.782231447" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.abi" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit.604681272" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.linker.861697199" name="Standard S32DS C Linker" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.linker">
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.linker.option.gcsections.212039410" name="Remove unused sections (-Xlinker --gc-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.option.gcsections" value="false" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries.287660612" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.sysroot.1956467943" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu.1378122817" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.freescale.s32ds.cross.gnu.tool.c.linker.option.scriptfile.913399523" name="Script files (-T)" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.option.scriptfile" valueType="stringList">
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/Project_Settings/Linker_Files/linker_ram_s32k144.ld&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset.12571572" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness.215259662" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi.1817598175" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit.2064523011" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<option id="gnu.c.link.option.ldflags.984029516" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="--entry=Reset_Handler -ggdb3" valueType="string"/>
+								<option id="gnu.c.link.option.nostart.671446845" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" value="true" valueType="boolean"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.link.option.libs.1272940143" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
+									<listOptionValue builtIn="false" value="c"/>
+									<listOptionValue builtIn="false" value="m"/>
+									<listOptionValue builtIn="false" value="gcc"/>
+								</option>
+								<inputType id="com.freescale.s32ds.cross.gnu.tool.c.linker.inputType.scriptfile.2091161868" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.inputType.scriptfile"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.linker.2010309372" name="Standard S32DS C++ Linker" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.linker">
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.linker.option.gcsections.183653855" name="Remove unused sections (-Xlinker --gc-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.linker.option.gcsections" value="true" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.libraries.251643188" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.sysroot.1964001282" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.mcpu.915567961" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.instructionset.864554918" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.endianness.1934599345" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.abi.1992802452" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.unit.1813254353" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.archiver.1957051794" name="Standard S32DS Archiver" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.archiver"/>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.1799030943" name="Standard S32DS Assembler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler">
+								<option id="com.freescale.s32ds.cross.gnu.tool.assembler.usepreprocessor.196301285" name="Use preprocessor" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.usepreprocessor" value="true" valueType="boolean"/>
+								<option defaultValue="gnu.c.debugging.level.max" id="com.freescale.s32ds.cross.gnu.tool.assembler.option.debugging.level.1342618184" name="Debug Level" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.option.debugging.level" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries.701524069" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.sysroot.1075050906" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.both.asm.option.include.paths.1276885162" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
+									<listOptionValue builtIn="false" value="../FreeRTOS/Source/include"/>
+									<listOptionValue builtIn="false" value="../RTD/include"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices/S32K144/startup}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/drivers/inc}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/board}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/include}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/portable/GCC/ARM_CM4F}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/generate/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/RTD/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/board&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu.58138981" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset.295932925" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness.1733561758" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi.586300996" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit.2075205408" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.764599032" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+								<inputType id="com.freescale.s32ds.cross.gnu.tool.assembler.inputType.asmfile.2138247163" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.inputType.asmfile"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.createflash.766738476" name="Standard S32DS Create Flash Image" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.createflash"/>
+							<tool id="com.freescale.s32ds.cross.gnu.tool.createlisting.716380214" name="Standard S32DS Create Listing" superClass="com.freescale.s32ds.cross.gnu.tool.createlisting">
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.source.1662052494" name="Display source (--source|-S)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.source" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.allheaders.448193700" name="Display all headers (--all-headers|-x)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.allheaders" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.demangle.1923263551" name="Demangle names (--demangle|-C)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.demangle" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.linenumbers.43696273" name="Display line numbers (--line-numbers|-l)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.linenumbers" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.wide.1797477289" name="Wide lines (--wide|-w)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.wide" value="true" valueType="boolean"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.printsize.1564785239" name="Standard S32DS Print Size" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.printsize">
+								<option id="com.freescale.s32ds.cross.gnu.option.printsize.format.1138699401" name="Size format" superClass="com.freescale.s32ds.cross.gnu.option.printsize.format"/>
+							</tool>
+							<tool id="com.freescale.s32ds.cross.gnu.c.preprocessor.1537147355" name="Standard S32DS C Preprocessor" superClass="com.freescale.s32ds.cross.gnu.c.preprocessor"/>
+							<tool id="com.freescale.s32ds.cross.gnu.cpp.preprocessor.1635415301" name="Standard S32DS C++ Preprocessor" superClass="com.freescale.s32ds.cross.gnu.cpp.preprocessor"/>
+							<tool id="com.freescale.s32ds.cross.gnu.disassembler.428869101" name="Standard S32DS Disassembler" superClass="com.freescale.s32ds.cross.gnu.disassembler"/>
+						</toolChain>
+					</folderInfo>
+					<fileInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015.Project_Settings/Debugger" name="Debugger" rcbsApplicability="disable" resourcePath="Project_Settings/Debugger" toolsToInvoke=""/>
+					<fileInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015.Project_Settings/Linker_Files" name="Linker_Files" rcbsApplicability="disable" resourcePath="Project_Settings/Linker_Files" toolsToInvoke=""/>
+					<sourceEntries>
+						<entry excluding="Linker_Files|Debugger" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Project_Settings"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="RTD"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="board"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="generate"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+					</sourceEntries>
+				</configuration>
+			</storageModule>
+			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+		</cconfiguration>
+		<cconfiguration id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562">
+			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562" moduleId="org.eclipse.cdt.core.settings" name="Release_RAM">
+				<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"/>
+					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="com.freescale.s32ds.cdt.core.errorParsers.S32DSGNULinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+				</extensions>
+			</storageModule>
+			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+				<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="com.nxp.s32ds.cle.arm.mbs.arm32.bare.buildArtefact.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=com.nxp.s32ds.cle.arm.mbs.arm32.bare.buildArtefact.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562" name="Release_RAM" parent="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram">
+					<folderInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562." name="/" resourcePath="">
+						<toolChain id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.toolchain.release.ram.1068949631" name="NXP GCC 9.2 for Arm 32-bit Bare-Metal" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.toolchain.release.ram">
+							<option defaultValue="true" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.addtools.printsize.830505939" name="Print size" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.addtools.printsize" valueType="boolean"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.compiler.path.821783733" name="Path" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.compiler.path" value="${S32DS_K1_ARM32_GNU_9_2_TOOLCHAIN_DIR}" valueType="string"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries.1584829289" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu.597520702" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset.1359708277" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset.thumb" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness.705454893" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness.little" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi.402381651" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi.hard" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit.1626339997" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1021367353" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
+							<builder buildPath="${workspace_loc:/S32K144_Project_CAN_UART_DIO}/Release_RAM" id="com.freescale.s32ds.cross.gnu.builder.2068677013" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="FSL Make Builder" superClass="com.freescale.s32ds.cross.gnu.builder"/>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.288765769" name="Standard S32DS C Compiler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler">
+								<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.145349373" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.c.optimization.level.size" valueType="enumerated"/>
+								<option defaultValue="gnu.c.debugging.level.none" id="gnu.c.compiler.option.debugging.level.2143132482" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" valueType="enumerated"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.functionsections.170990374" name="Function sections (-ffunction-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.functionsections" useByScannerDiscovery="true" value="false" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.datasections.1205778" name="Data sections (-fdata-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.datasections" useByScannerDiscovery="true" value="false" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.debugging.format.1325102289" name="Debug format" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.debugging.format" useByScannerDiscovery="true"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.libraries.1962502793" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.libraries" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.sysroot.2025764676" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.sysroot" useByScannerDiscovery="false" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.compiler.option.include.paths.1164603968" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false" value="../FreeRTOS/Source/include"/>
+									<listOptionValue builtIn="false" value="../RTD/include"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices/S32K144/startup}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/drivers/inc}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/board}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/include}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/portable/GCC/ARM_CM4F}&quot;"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/generate/include"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/RTD/include"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/board&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.mcpu.1689597854" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.mcpu" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.compiler.option.preprocessor.def.symbols.1688891096" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CPU_S32K144HFT0VLLT"/>
+									<listOptionValue builtIn="false" value="I_CACHE_ENABLE"/>
+									<listOptionValue builtIn="false" value="ENABLE_FPU"/>
+									<listOptionValue builtIn="false" value="GCC"/>
+									<listOptionValue builtIn="false" value="S32K1XX"/>
+									<listOptionValue builtIn="false" value="S32K144"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.instructionset.181412130" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.instructionset" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.option.dialect.std.921385138" name="Language standard" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.option.dialect.std.c99" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.endianness.1028880777" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.endianness" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="gnu.c.compiler.option.debugging.other.1493735500" name="Other debugging flags" superClass="gnu.c.compiler.option.debugging.other" useByScannerDiscovery="false" value="-ggdb3" valueType="string"/>
+								<option id="gnu.c.compiler.option.warnings.pedantic.1585158563" name="Pedantic (-pedantic)" superClass="gnu.c.compiler.option.warnings.pedantic" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+								<option id="gnu.c.compiler.option.warnings.extrawarn.1427170880" name="Extra warnings (-Wextra)" superClass="gnu.c.compiler.option.warnings.extrawarn" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.unused.881183368" name="Warn on various unused elements (-Wunused)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.unused" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.unsignedbitfields.1064234919" name="'bitfield' is unsigned (-funsigned-bitfields)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.unsignedbitfields" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.abi.589770150" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.abi" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.unit.1934088726" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.unit" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.compiler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.nocommon.1373496777" name="No common uninitialized (-fno-common)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.nocommon" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="gnu.c.compiler.option.optimization.flags.19135028" name="Other optimization flags" superClass="gnu.c.compiler.option.optimization.flags" useByScannerDiscovery="false" value="-funsigned-char -fstack-usage -fdump-ipa-all -fomit-frame-pointer" valueType="string"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.other.1389139050" name="Other warning flags" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.warnings.other" useByScannerDiscovery="true" value="-Wstrict-prototypes -Wsign-compare -Werror=implicit-function-declaration -Wundef -Wdouble-promotion" valueType="string"/>
+								<option id="gnu.c.compiler.option.misc.other.1318330877" name="Other flags" superClass="gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-c -fno-short-enums" valueType="string"/>
+								<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.88454571" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.compiler.1464708552" name="Standard S32DS C++ Compiler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.compiler">
+								<option id="gnu.cpp.compiler.option.optimization.level.1091560208" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+								<option defaultValue="gnu.cpp.compiler.debugging.level.none" id="gnu.cpp.compiler.option.debugging.level.1401170668" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" valueType="enumerated"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.functionsections.531743508" name="Function sections (-ffunction-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.functionsections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.datasections.1634586869" name="Data sections (-fdata-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.optimization.datasections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.debugging.format.1082218484" name="Debug format" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.compiler.option.debugging.format" useByScannerDiscovery="true"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.libraries.2047076019" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.libraries" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.sysroot.503538449" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.sysroot" useByScannerDiscovery="false" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.include.paths.1519760059" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.mcpu.924683181" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.mcpu" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.48974299" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CPU_S32K144HFT0VLLT"/>
+									<listOptionValue builtIn="false" value="S32K144"/>
+									<listOptionValue builtIn="false" value="S32K1XX"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.instructionset.439410716" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.instructionset" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.endianness.1038909026" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.endianness" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.abi.1594929430" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.abi" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit.1409249406" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.linker.1888935483" name="Standard S32DS C Linker" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.linker">
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.linker.option.gcsections.378749033" name="Remove unused sections (-Xlinker --gc-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.option.gcsections" value="false" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries.1522997950" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.sysroot.311204058" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu.2057113220" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.freescale.s32ds.cross.gnu.tool.c.linker.option.scriptfile.1438268619" name="Script files (-T)" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.option.scriptfile" valueType="stringList">
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/Project_Settings/Linker_Files/linker_ram_s32k144.ld&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset.492749133" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness.1381265455" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi.1306886654" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit.1872675513" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<option id="gnu.c.link.option.ldflags.1465113489" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="--entry=Reset_Handler -ggdb3" valueType="string"/>
+								<option id="gnu.c.link.option.nostart.472918944" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" value="true" valueType="boolean"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.link.option.libs.582945414" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
+									<listOptionValue builtIn="false" value="c"/>
+									<listOptionValue builtIn="false" value="m"/>
+									<listOptionValue builtIn="false" value="gcc"/>
+								</option>
+								<inputType id="com.freescale.s32ds.cross.gnu.tool.c.linker.inputType.scriptfile.990089589" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.inputType.scriptfile"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.linker.1038235725" name="Standard S32DS C++ Linker" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.cpp.linker">
+								<option id="com.freescale.s32ds.cross.gnu.tool.cpp.linker.option.gcsections.1107072973" name="Remove unused sections (-Xlinker --gc-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.cpp.linker.option.gcsections" value="true" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.libraries.1278907824" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.sysroot.1558948701" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.mcpu.1636774019" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.instructionset.1854162835" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.endianness.1479651545" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.abi.350213669" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.unit.807678720" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.linker.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.archiver.22559833" name="Standard S32DS Archiver" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.archiver"/>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.2005288882" name="Standard S32DS Assembler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler">
+								<option id="com.freescale.s32ds.cross.gnu.tool.assembler.usepreprocessor.1586147198" name="Use preprocessor" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.usepreprocessor" value="true" valueType="boolean"/>
+								<option defaultValue="gnu.c.debugging.level.none" id="com.freescale.s32ds.cross.gnu.tool.assembler.option.debugging.level.1333448696" name="Debug Level" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.option.debugging.level" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries.1171563005" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.sysroot.98269329" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.both.asm.option.include.paths.1684433341" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
+									<listOptionValue builtIn="false" value="../FreeRTOS/Source/include"/>
+									<listOptionValue builtIn="false" value="../RTD/include"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/devices/S32K144/startup}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/drivers/inc}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/board}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/include}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/portable/GCC/ARM_CM4F}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/generate/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/RTD/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/board&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
+								</option>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu.1475255154" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset.1597130187" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness.886051212" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi.577879776" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit.1511854468" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.486018890" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+								<inputType id="com.freescale.s32ds.cross.gnu.tool.assembler.inputType.asmfile.238970416" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.inputType.asmfile"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.createflash.1694238405" name="Standard S32DS Create Flash Image" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.createflash"/>
+							<tool id="com.freescale.s32ds.cross.gnu.tool.createlisting.924480880" name="Standard S32DS Create Listing" superClass="com.freescale.s32ds.cross.gnu.tool.createlisting">
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.source.1625094483" name="Display source (--source|-S)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.source" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.allheaders.1155912945" name="Display all headers (--all-headers|-x)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.allheaders" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.demangle.978910288" name="Demangle names (--demangle|-C)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.demangle" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.linenumbers.1355111827" name="Display line numbers (--line-numbers|-l)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.linenumbers" value="true" valueType="boolean"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.wide.845094833" name="Wide lines (--wide|-w)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.wide" value="true" valueType="boolean"/>
+							</tool>
+							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.printsize.2055814899" name="Standard S32DS Print Size" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.printsize">
+								<option id="com.freescale.s32ds.cross.gnu.option.printsize.format.2100390000" name="Size format" superClass="com.freescale.s32ds.cross.gnu.option.printsize.format"/>
+							</tool>
+							<tool id="com.freescale.s32ds.cross.gnu.c.preprocessor.1596621356" name="Standard S32DS C Preprocessor" superClass="com.freescale.s32ds.cross.gnu.c.preprocessor"/>
+							<tool id="com.freescale.s32ds.cross.gnu.cpp.preprocessor.933932849" name="Standard S32DS C++ Preprocessor" superClass="com.freescale.s32ds.cross.gnu.cpp.preprocessor"/>
+							<tool id="com.freescale.s32ds.cross.gnu.disassembler.138175801" name="Standard S32DS Disassembler" superClass="com.freescale.s32ds.cross.gnu.disassembler"/>
+						</toolChain>
+					</folderInfo>
+					<fileInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562.Project_Settings/Debugger" name="Debugger" rcbsApplicability="disable" resourcePath="Project_Settings/Debugger" toolsToInvoke=""/>
+					<fileInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562.Project_Settings/Linker_Files" name="Linker_Files" rcbsApplicability="disable" resourcePath="Project_Settings/Linker_Files" toolsToInvoke=""/>
+					<sourceEntries>
+						<entry excluding="Linker_Files|Debugger" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Project_Settings"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="RTD"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="board"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="generate"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+					</sourceEntries>
+				</configuration>
+			</storageModule>
+			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+		</cconfiguration>
+	</storageModule>
+	<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+		<project id="S32K144_Project_CAN_UART_DIO.com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.2133541896" name="Arm32 Executable" projectType="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe"/>
+	</storageModule>
+	<storageModule moduleId="scannerConfiguration">
+		<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+		<scannerConfigBuildInfo instanceId="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015;com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015.;com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.1514174576;cdt.managedbuild.tool.gnu.c.compiler.input.1766391064">
+			<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+		</scannerConfigBuildInfo>
+		<scannerConfigBuildInfo instanceId="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861;com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861.;com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.822734232;cdt.managedbuild.tool.gnu.c.compiler.input.1755280477">
+			<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+		</scannerConfigBuildInfo>
+		<scannerConfigBuildInfo instanceId="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730;com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730.;com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.1023612980;cdt.managedbuild.tool.gnu.c.compiler.input.1228791192">
+			<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+		</scannerConfigBuildInfo>
+		<scannerConfigBuildInfo instanceId="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562;com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562.;com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.288765769;cdt.managedbuild.tool.gnu.c.compiler.input.88454571">
+			<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+		</scannerConfigBuildInfo>
+	</storageModule>
+	<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+	<storageModule moduleId="org.eclipse.embsys" parent_project="true" register_architecture="" register_board="---  none ---" register_chip="" register_core="" register_vendor=""/>
+	<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
+	<storageModule moduleId="com.nxp.s32ds.cle.uct.core">
+		<COND_TOOLCHAIN_ADD_REMOVE_COMPONENTS_OPTION>true</COND_TOOLCHAIN_ADD_REMOVE_COMPONENTS_OPTION>
+		<COND_TOOLCHAIN_COPY_SOURCES>true</COND_TOOLCHAIN_COPY_SOURCES>
+		<sdkComponents>platform.driver.rte_can;platform.driver.det;platform.driver.rte_dio;platform.driver.rte_mcl;platform.driver.rte_mcu;platform.driver.rte_os;platform.driver.rte_port;platform.driver.rte_uart;platform.driver.Can;platform.driver.CanIf;platform.driver.dio;platform.driver.ecum;platform.driver.mcl;platform.driver.mcu;platform.driver.os;platform.driver.Platform;platform.driver.port;platform.driver.uart;platform.driver.clock;platform.driver.osif;platform.os.freertos</sdkComponents>
+	</storageModule>
+	<storageModule moduleId="refreshScope"/>
+</cproject>

+ 26 - 0
.project

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>S32K144_Project_CAN_UART_DIO</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+			<triggers>clean,full,incremental,</triggers>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+			<triggers>full,incremental,</triggers>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.cdt.core.cnature</nature>
+		<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+		<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+	</natures>
+</projectDescription>

+ 2 - 0
.settings/com.freescale.s32ds.cross.sdk.support.prefs

@@ -0,0 +1,2 @@
+com.freescale.s32ds.cross.sdk.support.attachedSDKs=PlatformSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH|Debug_FLASH|Release_FLASH|Debug_RAM|Release_RAM
+eclipse.preferences.version=1

File diff suppressed because it is too large
+ 0 - 0
.settings/com.nxp.s32ds.cle.ide.sdk.attached.sdks.data.prefs


+ 9 - 0
.settings/com.nxp.s32ds.cle.runtime.component.prefs

@@ -0,0 +1,9 @@
+com.nxp.s32ds.cle.runtime.component.registry.archetype.id=application
+com.nxp.s32ds.cle.runtime.component.registry.archetype.platform.id=
+com.nxp.s32ds.cle.runtime.hardware.registry.core.id=CortexM4F
+com.nxp.s32ds.cle.runtime.hardware.registry.device.id=S32K144
+com.nxp.s32ds.cle.runtime.hardware.registry.device.revision.id=
+com.nxp.s32ds.cle.runtime.hardware.registry.deviceCore.id=S32K144_M4F
+com.nxp.s32ds.cle.runtime.hardware.registry.family.id=S32K1
+com.nxp.s32ds.cle.runtime.lang.registry.lang.id=c
+eclipse.preferences.version=1

+ 47 - 0
.settings/language.settings.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project>
+	<configuration id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730" name="Debug_FLASH">
+		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
+			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
+			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
+			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
+			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="212590015543043685" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+				<language-scope id="org.eclipse.cdt.core.gcc"/>
+				<language-scope id="org.eclipse.cdt.core.g++"/>
+			</provider>
+		</extension>
+	</configuration>
+	<configuration id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861" name="Release_FLASH">
+		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
+			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
+			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
+			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
+			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="212590015543043685" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+				<language-scope id="org.eclipse.cdt.core.gcc"/>
+				<language-scope id="org.eclipse.cdt.core.g++"/>
+			</provider>
+		</extension>
+	</configuration>
+	<configuration id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015" name="Debug_RAM">
+		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
+			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
+			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
+			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
+			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="212590015543043685" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+				<language-scope id="org.eclipse.cdt.core.gcc"/>
+				<language-scope id="org.eclipse.cdt.core.g++"/>
+			</provider>
+		</extension>
+	</configuration>
+	<configuration id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562" name="Release_RAM">
+		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
+			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
+			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
+			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
+			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="212590015543043685" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+				<language-scope id="org.eclipse.cdt.core.gcc"/>
+				<language-scope id="org.eclipse.cdt.core.g++"/>
+			</provider>
+		</extension>
+	</configuration>
+</project>

+ 3 - 0
.settings/org.eclipse.cdt.codan.core.prefs

@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+inEditor=false
+onBuild=false

+ 33 - 0
.settings/org.eclipse.cdt.core.prefs

@@ -0,0 +1,33 @@
+eclipse.preferences.version=1
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730/PATH/delimiter=;
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730/PATH/operation=prepend
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730/PATH/value=
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730/S32DS_ARM32_NEWLIB_DIR/delimiter=;
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730/S32DS_ARM32_NEWLIB_DIR/operation=replace
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730/S32DS_ARM32_NEWLIB_DIR/value=${S32DS_K1_ARM32_GNU_9_2_TOOLCHAIN_DIR}/arm-none-eabi/newlib
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730/append=true
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730/appendContributed=true
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015/PATH/delimiter=;
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015/PATH/operation=prepend
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015/PATH/value=
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015/S32DS_ARM32_NEWLIB_DIR/delimiter=;
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015/S32DS_ARM32_NEWLIB_DIR/operation=replace
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015/S32DS_ARM32_NEWLIB_DIR/value=${S32DS_K1_ARM32_GNU_9_2_TOOLCHAIN_DIR}/arm-none-eabi/newlib
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015/append=true
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.ram.646167015/appendContributed=true
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861/PATH/delimiter=;
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861/PATH/operation=prepend
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861/PATH/value=
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861/S32DS_ARM32_NEWLIB_DIR/delimiter=;
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861/S32DS_ARM32_NEWLIB_DIR/operation=replace
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861/S32DS_ARM32_NEWLIB_DIR/value=${S32DS_K1_ARM32_GNU_9_2_TOOLCHAIN_DIR}/arm-none-eabi/newlib
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861/append=true
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.341098861/appendContributed=true
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562/PATH/delimiter=;
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562/PATH/operation=prepend
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562/PATH/value=
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562/S32DS_ARM32_NEWLIB_DIR/delimiter=;
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562/S32DS_ARM32_NEWLIB_DIR/operation=replace
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562/S32DS_ARM32_NEWLIB_DIR/value=${S32DS_K1_ARM32_GNU_9_2_TOOLCHAIN_DIR}/arm-none-eabi/newlib
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562/append=true
+environment/project/com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.release.ram.1360029562/appendContributed=true

+ 47 - 0
Debug_FLASH/FreeRTOS/Source/croutine.args

@@ -0,0 +1,47 @@
+-std=c99
+-DCPU_S32K144HFT0VLLT
+-DI_CACHE_ENABLE
+-DENABLE_FPU
+-DGCC
+-DS32K1XX
+-DS32K144
+-I../FreeRTOS/Source/include
+-I"D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/include"
+-I"D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F"
+-I../RTD/include
+-I"D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/include"
+-I"D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F"
+-ID:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/generate/include
+-ID:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/RTD/include
+-I"D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/board"
+-I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header"
+-I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include"
+-I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include"
+-I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include"
+-Os
+-funsigned-char
+-fstack-usage
+-fdump-ipa-all
+-fomit-frame-pointer
+-ggdb3
+-pedantic
+-Wall
+-Wextra
+-c
+-fno-short-enums
+-funsigned-bitfields
+-fno-common
+-Wunused
+-Wstrict-prototypes
+-Wsign-compare
+-Werror=implicit-function-declaration
+-Wundef
+-Wdouble-promotion
+-mcpu=cortex-m4
+-mthumb
+-mlittle-endian
+-mfloat-abi=hard
+-mfpu=fpv4-sp-d16
+-specs=nano.specs
+-specs=nosys.specs
+--sysroot="C:/NXP/S32DS.3.4/S32DS/build_tools/gcc_v9.2/gcc-9.2-arm32-eabi/arm-none-eabi/newlib"

+ 67 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.000i.cgraph

@@ -0,0 +1,67 @@
+
+
+Initial Symbol table:
+
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06b51c40
+  Type: function definition
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06b519a0
+  Type: function definition
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b51620
+  Type: function definition
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+xPortIsInsideInterrupt/0 (xPortIsInsideInterrupt) @06b51380
+  Type: function definition
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+
+Removing unused symbols: vPortSetBASEPRI ulPortRaiseBASEPRI vPortRaiseBASEPRI xPortIsInsideInterrupt
+
+Reclaimed Symbol table:
+
+
+
+Initial Symbol table:
+
+
+Removing unused symbols:
+
+Reclaimed Symbol table:
+
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Optimized Symbol table:
+
+Materializing clones
+Materialization Call site updates done.
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Trivially needed variables:
+Removing variables:
+
+Final Symbol table:
+

+ 0 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.000i.ipa-clones


+ 0 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.000i.type-inheritance


+ 15 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.016i.visibility

@@ -0,0 +1,15 @@
+
+Marking local functions:
+
+
+Marking externally visible functions:
+
+
+Marking externally visible variables:
+
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+

+ 0 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.017i.build_ssa_passes


+ 0 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.022i.opt_local_passes


+ 6 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.048i.remove_symbols

@@ -0,0 +1,6 @@
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+

+ 0 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.060i.targetclone


+ 0 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.064i.free-fnsummary1


+ 16 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.068i.whole-program

@@ -0,0 +1,16 @@
+
+Marking local functions:
+
+
+Marking externally visible functions:
+
+
+Marking externally visible variables:
+
+Clearing variable flags:
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+

+ 1 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.069i.profile_estimate

@@ -0,0 +1 @@
+Histogram:

+ 37 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.070i.icf

@@ -0,0 +1,37 @@
+Dump after hash based groups
+Congruence classes: 0 (unique hash values: 0), with total: 0 items
+Class size histogram [num of members]: number of classe number of classess
+
+
+Dump after WPA based types groups
+Congruence classes: 0 (unique hash values: 0), with total: 0 items
+Class size histogram [num of members]: number of classe number of classess
+
+
+Worklist has been filled with: 0
+Address reference subdivision created: 0 new classes.
+Dump after callgraph-based congruence reduction
+Congruence classes: 0 (unique hash values: 0), with total: 0 items
+Class size histogram [num of members]: number of classe number of classess
+
+
+Init called for 0 items (0.00%).
+Dump after full equality comparison of groups
+Congruence classes: 0 (unique hash values: 0), with total: 0 items
+Class size histogram [num of members]: number of classe number of classess
+
+
+Worklist has been filled with: 0
+Address reference subdivision created: 0 new classes.
+Congruence classes: 0 (unique hash values: 0), with total: 0 items
+Class size histogram [num of members]: number of classe number of classess
+
+
+
+Item count: 0
+Congruent classes before: 0, after: 0
+Average class size before: 0.00, after: 0.00
+Average non-singular class size: 0.00, count: 0
+Equal symbols: 0
+Fraction of visited symbols: 0.00%
+

+ 2 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.071i.devirt

@@ -0,0 +1,2 @@
+Symbol table:
+

+ 26 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.072i.cp

@@ -0,0 +1,26 @@
+
+IPA constant propagation start:
+
+IPA structures before propagation:
+
+Jump functions:
+
+ Propagating constants:
+
+
+overall_size: 0, max_new_size: 11001
+
+IPA lattices after all propagation:
+
+Lattices:
+
+IPA decision stage:
+
+
+IPA constant propagation end
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+

+ 2 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.075i.fnsummary

@@ -0,0 +1,2 @@
+Symbol table:
+

+ 16 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.076i.inline

@@ -0,0 +1,16 @@
+
+Flattening functions:
+Overall time estimate: 0.000000 weighted by profile: 0.000000
+
+Deciding on inlining of small functions.  Starting with size 0.
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+
+Deciding on functions to be inlined into all callers and removing useless speculations:
+Overall time estimate: 0.000000 weighted by profile: 0.000000
+
+Why inlining failed?
+Symbol table:
+

+ 18 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.077i.pure-const

@@ -0,0 +1,18 @@
+callgraph:
+
+
+
+ ordered call graph: reduced for nothrow
+
+
+
+MALLOC LATTICE Initial:
+
+
+MALLOC LATTICE after propagation:
+callgraph:
+
+
+
+ ordered call graph: reduced
+

+ 0 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.078i.free-fnsummary2


+ 7 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.079i.static-var

@@ -0,0 +1,7 @@
+callgraph:
+
+Clearing variable flags:
+
+
+ ordered call graph: reduced
+

+ 0 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.080i.single-use


+ 0 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.081i.comdats


+ 0 - 0
Debug_FLASH/FreeRTOS/Source/croutine.c.082i.materialize-all-clones


+ 30 - 0
Debug_FLASH/FreeRTOS/Source/croutine.d

@@ -0,0 +1,30 @@
+FreeRTOS/Source/croutine.o: ../FreeRTOS/Source/croutine.c \
+ ../FreeRTOS/Source/include/FreeRTOS.h \
+ ../FreeRTOS/Source/include/FreeRTOSConfig.h \
+ ../FreeRTOS/Source/include/projdefs.h \
+ ../FreeRTOS/Source/include/portable.h \
+ ../FreeRTOS/Source/include/deprecated_definitions.h \
+ D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
+ ../FreeRTOS/Source/include/mpu_wrappers.h \
+ ../FreeRTOS/Source/include/task.h ../FreeRTOS/Source/include/list.h \
+ ../FreeRTOS/Source/include/croutine.h
+
+../FreeRTOS/Source/include/FreeRTOS.h:
+
+../FreeRTOS/Source/include/FreeRTOSConfig.h:
+
+../FreeRTOS/Source/include/projdefs.h:
+
+../FreeRTOS/Source/include/portable.h:
+
+../FreeRTOS/Source/include/deprecated_definitions.h:
+
+D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
+
+../FreeRTOS/Source/include/mpu_wrappers.h:
+
+../FreeRTOS/Source/include/task.h:
+
+../FreeRTOS/Source/include/list.h:
+
+../FreeRTOS/Source/include/croutine.h:

BIN
Debug_FLASH/FreeRTOS/Source/croutine.o


+ 0 - 0
Debug_FLASH/FreeRTOS/Source/croutine.su


+ 1507 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.000i.cgraph

@@ -0,0 +1,1507 @@
+Trivially needed symbols: vEventGroupSetNumber uxEventGroupGetNumber xEventGroupSetBitsFromISR vEventGroupClearBitsCallback vEventGroupSetBitsCallback vEventGroupDelete xEventGroupSetBits xEventGroupGetBitsFromISR xEventGroupClearBitsFromISR xEventGroupClearBits xEventGroupWaitBits xEventGroupSync xEventGroupCreate
+
+
+Initial Symbol table:
+
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 xEventGroupClearBitsFromISR/8 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @01733ea0
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06c88000
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06c7ba80
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility:
+  Aux: @06c36ee0
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupWaitBits/6 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: public
+  Address is taken.
+  Aux: @06c7b460
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: public
+  Address is taken.
+  Aux: @06c7bc40
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06c7b9a0
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 vPortFree/29 vTaskRemoveFromUnorderedEventList/28 vPortRaiseBASEPRI/1 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06c7b700
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 xEventGroupSync/5 
+  Calls: xTaskResumeAll/23 vTaskRemoveFromUnorderedEventList/28 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06c7b380
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 ulPortRaiseBASEPRI/2 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06c36c40
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06c362a0
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 
+  Calls: vPortExitCritical/26 vPortEnterCritical/25 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06c36ee0
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 prvTestWaitCondition/14 vPortEnterCritical/25 uxTaskResetEventItemValue/24 xTaskResumeAll/23 vTaskPlaceOnUnorderedEventList/22 prvTestWaitCondition/14 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/20 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06c36b60
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 vPortEnterCritical/25 uxTaskResetEventItemValue/24 xTaskResumeAll/23 vTaskPlaceOnUnorderedEventList/22 xEventGroupSetBits/10 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/20 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06c36620
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 pvPortMalloc/18 
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06bc0460
+  Type: function definition analyzed
+  Visibility:
+  Aux: @06c7b380
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xEventGroupGetBitsFromISR/9 
+  Calls: 
+ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06bc01c0
+  Type: function definition analyzed
+  Visibility:
+  Aux: @06bc0460
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xEventGroupGetBitsFromISR/9 
+  Calls: 
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06bbbe00
+  Type: function definition analyzed
+  Visibility:
+  Aux: @06c36b60
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vEventGroupDelete/11 vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupSetBits/10 xEventGroupClearBits/7 xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupSync/5 xEventGroupSync/5 xEventGroupSync/5 
+  Calls: 
+xPortIsInsideInterrupt/0 (xPortIsInsideInterrupt) @06bbbb60
+  Type: function definition
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+
+Removing unused symbols: xPortIsInsideInterrupt
+
+Reclaimed Symbol table:
+
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 xEventGroupClearBitsFromISR/8 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: public
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupWaitBits/6 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: public
+  Address is taken.
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: public
+  Address is taken.
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 vPortFree/29 vTaskRemoveFromUnorderedEventList/28 vPortRaiseBASEPRI/1 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 xEventGroupSync/5 
+  Calls: xTaskResumeAll/23 vTaskRemoveFromUnorderedEventList/28 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 ulPortRaiseBASEPRI/2 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: public
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 
+  Calls: vPortExitCritical/26 vPortEnterCritical/25 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 prvTestWaitCondition/14 vPortEnterCritical/25 uxTaskResetEventItemValue/24 xTaskResumeAll/23 vTaskPlaceOnUnorderedEventList/22 prvTestWaitCondition/14 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/20 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 vPortEnterCritical/25 uxTaskResetEventItemValue/24 xTaskResumeAll/23 vTaskPlaceOnUnorderedEventList/22 xEventGroupSetBits/10 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/20 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 pvPortMalloc/18 
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06bc0460
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xEventGroupGetBitsFromISR/9 
+  Calls: 
+ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06bc01c0
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xEventGroupGetBitsFromISR/9 
+  Calls: 
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06bbbe00
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vEventGroupDelete/11 vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupSetBits/10 xEventGroupClearBits/7 xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupSync/5 xEventGroupSync/5 xEventGroupSync/5 
+  Calls: 
+
+
+Initial Symbol table:
+
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 xEventGroupClearBitsFromISR/8 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: public
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupWaitBits/6 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: public
+  Address is taken.
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: public
+  Address is taken.
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 vPortFree/29 vTaskRemoveFromUnorderedEventList/28 vPortRaiseBASEPRI/1 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 xEventGroupSync/5 
+  Calls: xTaskResumeAll/23 vTaskRemoveFromUnorderedEventList/28 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 ulPortRaiseBASEPRI/2 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: public
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 
+  Calls: vPortExitCritical/26 vPortEnterCritical/25 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 prvTestWaitCondition/14 vPortEnterCritical/25 uxTaskResetEventItemValue/24 xTaskResumeAll/23 vTaskPlaceOnUnorderedEventList/22 prvTestWaitCondition/14 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/20 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 vPortEnterCritical/25 uxTaskResetEventItemValue/24 xTaskResumeAll/23 vTaskPlaceOnUnorderedEventList/22 xEventGroupSetBits/10 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/20 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 pvPortMalloc/18 
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06bc0460
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xEventGroupGetBitsFromISR/9 
+  Calls: 
+ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06bc01c0
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xEventGroupGetBitsFromISR/9 
+  Calls: 
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06bbbe00
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vEventGroupDelete/11 vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupSetBits/10 xEventGroupClearBits/7 xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupSync/5 xEventGroupSync/5 xEventGroupSync/5 
+  Calls: 
+
+Removing unused symbols:
+
+Reclaimed Symbol table:
+
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 xEventGroupClearBitsFromISR/8 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: public
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupWaitBits/6 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: public
+  Address is taken.
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: public
+  Address is taken.
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 vPortFree/29 vTaskRemoveFromUnorderedEventList/28 vPortRaiseBASEPRI/1 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 xEventGroupSync/5 
+  Calls: xTaskResumeAll/23 vTaskRemoveFromUnorderedEventList/28 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 ulPortRaiseBASEPRI/2 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: public
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 
+  Calls: vPortExitCritical/26 vPortEnterCritical/25 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 prvTestWaitCondition/14 vPortEnterCritical/25 uxTaskResetEventItemValue/24 xTaskResumeAll/23 vTaskPlaceOnUnorderedEventList/22 prvTestWaitCondition/14 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/20 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 vPortEnterCritical/25 uxTaskResetEventItemValue/24 xTaskResumeAll/23 vTaskPlaceOnUnorderedEventList/22 xEventGroupSetBits/10 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/20 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 pvPortMalloc/18 
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06bc0460
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xEventGroupGetBitsFromISR/9 
+  Calls: 
+ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06bc01c0
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xEventGroupGetBitsFromISR/9 
+  Calls: 
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06bbbe00
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vEventGroupDelete/11 vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupSetBits/10 xEventGroupClearBits/7 xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupSync/5 xEventGroupSync/5 xEventGroupSync/5 
+  Calls: 
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Optimized Symbol table:
+
+prvTestWaitCondition/44 (prvTestWaitCondition) @06bc0460
+  Type: function definition analyzed
+  Visibility:
+  next sharing asm name: 14
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
+  Clone of prvTestWaitCondition/14
+  Availability: local
+  Function flags: count:23563 (estimated locally) body local nonfreeing_fn optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (179716 (estimated locally),0.78 per call) 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  previous sharing asm name: 44
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
+  Availability: local
+  Function flags: count:3888 (estimated locally) body local nonfreeing_fn optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+Materializing clones
+Materialization Call site updates done.
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Time profile order in expand_all_functions:xEventGroupCreate:0
+Time profile order in expand_all_functions:xEventGroupWaitBits:0
+Time profile order in expand_all_functions:xEventGroupClearBits:0
+Time profile order in expand_all_functions:vEventGroupClearBitsCallback:0
+Time profile order in expand_all_functions:xEventGroupClearBitsFromISR:0
+Time profile order in expand_all_functions:xEventGroupGetBitsFromISR:0
+Time profile order in expand_all_functions:xEventGroupSetBits:0
+Time profile order in expand_all_functions:xEventGroupSync:0
+Time profile order in expand_all_functions:vEventGroupSetBitsCallback:0
+Time profile order in expand_all_functions:vEventGroupDelete:0
+Time profile order in expand_all_functions:xEventGroupSetBitsFromISR:0
+Time profile order in expand_all_functions:uxEventGroupGetNumber:0
+Time profile order in expand_all_functions:vEventGroupSetNumber:0
+Trivially needed variables:
+Removing variables:
+
+Final Symbol table:
+
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  Address is taken.
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  Address is taken.
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) optimize_size
+  Called by: 
+  Calls: 

+ 32 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.000i.ipa-clones

@@ -0,0 +1,32 @@
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupClearBits;7;../FreeRTOS/Source/event_groups.c;473;13;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupClearBits;7;../FreeRTOS/Source/event_groups.c;473;13;inlining to
+Callgraph clone;xEventGroupClearBits;7;../FreeRTOS/Source/event_groups.c;473;13;xEventGroupClearBits.part.0;36;../FreeRTOS/Source/event_groups.c;473;13;part
+Callgraph clone;vPortSetBASEPRI;3;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;230;34;xEventGroupGetBitsFromISR;9;../FreeRTOS/Source/event_groups.c;517;13;inlining to
+Callgraph clone;ulPortRaiseBASEPRI;2;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;210;38;xEventGroupGetBitsFromISR;9;../FreeRTOS/Source/event_groups.c;517;13;inlining to
+Callgraph removal;vPortSetBASEPRI;3;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;230;34
+Callgraph removal;ulPortRaiseBASEPRI;2;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;210;38
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupSetBits;10;../FreeRTOS/Source/event_groups.c;533;13;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupSetBits;10;../FreeRTOS/Source/event_groups.c;533;13;inlining to
+Callgraph removal;vPortRaiseBASEPRI;38;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph removal;vPortRaiseBASEPRI;37;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph clone;xEventGroupSetBits;10;../FreeRTOS/Source/event_groups.c;533;13;xEventGroupSetBits.part.0;39;../FreeRTOS/Source/event_groups.c;533;13;part
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupSync;5;../FreeRTOS/Source/event_groups.c;194;13;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupSync;5;../FreeRTOS/Source/event_groups.c;194;13;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupSync;5;../FreeRTOS/Source/event_groups.c;194;13;inlining to
+Callgraph removal;vPortRaiseBASEPRI;40;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vEventGroupDelete;11;../FreeRTOS/Source/event_groups.c;628;6;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vEventGroupDelete;11;../FreeRTOS/Source/event_groups.c;628;6;inlining to
+Callgraph removal;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph removal;vPortRaiseBASEPRI;43;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph clone;xEventGroupClearBits.part.0;36;../FreeRTOS/Source/event_groups.c;473;13;xEventGroupClearBits;7;../FreeRTOS/Source/event_groups.c;473;13;inlining to
+Callgraph clone;prvTestWaitCondition;14;../FreeRTOS/Source/event_groups.c;690;19;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
+Callgraph clone;prvTestWaitCondition;14;../FreeRTOS/Source/event_groups.c;690;19;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
+Callgraph clone;xEventGroupSetBits.part.0;39;../FreeRTOS/Source/event_groups.c;533;13;xEventGroupSetBits;10;../FreeRTOS/Source/event_groups.c;533;13;inlining to
+Callgraph removal;prvTestWaitCondition;44;../FreeRTOS/Source/event_groups.c;690;19
+Callgraph removal;prvTestWaitCondition;14;../FreeRTOS/Source/event_groups.c;690;19
+Callgraph removal;xEventGroupClearBits.part.0;36;../FreeRTOS/Source/event_groups.c;473;13
+Callgraph removal;xEventGroupSetBits.part.0;39;../FreeRTOS/Source/event_groups.c;533;13

+ 0 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.000i.type-inheritance


+ 1344 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.016i.visibility

@@ -0,0 +1,1344 @@
+
+Marking local functions: prvTestWaitCondition vPortSetBASEPRI ulPortRaiseBASEPRI vPortRaiseBASEPRI
+
+
+Marking externally visible functions: vEventGroupSetNumber uxEventGroupGetNumber xEventGroupSetBitsFromISR vEventGroupClearBitsCallback vEventGroupSetBitsCallback vEventGroupDelete xEventGroupSetBits xEventGroupGetBitsFromISR xEventGroupClearBitsFromISR xEventGroupClearBits xEventGroupWaitBits xEventGroupSync xEventGroupCreate
+
+
+Marking externally visible variables:
+
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 xEventGroupClearBitsFromISR/8 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupSync/5 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: body local optimize_size
+  Called by: xEventGroupWaitBits/6 xEventGroupWaitBits/6 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 vPortFree/29 vTaskRemoveFromUnorderedEventList/28 vPortRaiseBASEPRI/1 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 xEventGroupSync/5 
+  Calls: xTaskResumeAll/23 vTaskRemoveFromUnorderedEventList/28 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 ulPortRaiseBASEPRI/2 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 
+  Calls: vPortExitCritical/26 vPortEnterCritical/25 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 prvTestWaitCondition/14 vPortEnterCritical/25 uxTaskResetEventItemValue/24 xTaskResumeAll/23 vTaskPlaceOnUnorderedEventList/22 prvTestWaitCondition/14 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/20 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 vPortEnterCritical/25 uxTaskResetEventItemValue/24 xTaskResumeAll/23 vTaskPlaceOnUnorderedEventList/22 xEventGroupSetBits/10 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/20 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 pvPortMalloc/18 
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06bc0460
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: body local optimize_size
+  Called by: xEventGroupGetBitsFromISR/9 
+  Calls: 
+ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: body local optimize_size
+  Called by: xEventGroupGetBitsFromISR/9 
+  Calls: 
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06bbbe00
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: body local optimize_size
+  Called by: vEventGroupDelete/11 vEventGroupDelete/11 xEventGroupSetBits/10 xEventGroupSetBits/10 xEventGroupClearBits/7 xEventGroupClearBits/7 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupWaitBits/6 xEventGroupSync/5 xEventGroupSync/5 xEventGroupSync/5 
+  Calls: 
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup].uxEventGroupNumber = uxEventGroupNumber;
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  const struct EventGroup_t * pxEventBits;
+  UBaseType_t xReturn;
+  UBaseType_t D.6566;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  if (xEventGroup == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  xReturn = 0;
+  goto <bb 5>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  xReturn = pxEventBits->uxEventGroupNumber;
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  D.6566 = xReturn;
+  return D.6566;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+  BaseType_t D.6561;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken);
+  # DEBUG BEGIN_STMT
+  D.6561 = xReturn;
+  return D.6561;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  BaseType_t D.6523;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet = 0;
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits == 0)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits & uxBitsToWaitFor;
+  if (_1 != 0)
+    goto <bb 4>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet = 1;
+  goto <bb 7>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits & uxBitsToWaitFor;
+  if (uxBitsToWaitFor == _2)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet = 1;
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  D.6523 = xWaitConditionMet;
+  return D.6523;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup, ulBitsToClear);
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup, ulBitsToSet);
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  const struct List_t * pxTasksWaitingForBits;
+  struct EventGroup_t * pxEventBits;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  if (xEventGroup == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  pxTasksWaitingForBits = &pxEventBits->xTasksWaitingForBits;
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  _1 = pxTasksWaitingForBits->xListEnd.pxNext;
+  _2 = &pxTasksWaitingForBits->xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [INV]
+  else
+    goto <bb 9>; [INV]
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 8>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxTasksWaitingForBits->xListEnd.pxNext;
+  vTaskRemoveFromUnorderedEventList (_3, 33554432);
+
+  <bb 10> :
+  # DEBUG BEGIN_STMT
+  _4 = pxTasksWaitingForBits->uxNumberOfItems;
+  if (_4 != 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 11>; [INV]
+
+  <bb 11> :
+  # DEBUG BEGIN_STMT
+  vPortFree (pxEventBits);
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  BaseType_t xMatchFound;
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxControlBits;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxBitsToClear;
+  const struct List_t * pxList;
+  const struct ListItem_t * pxListEnd;
+  struct ListItem_t * pxNext;
+  struct ListItem_t * pxListItem;
+  EventBits_t D.6555;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxBitsToClear = 0;
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  xMatchFound = 0;
+  # DEBUG BEGIN_STMT
+  if (xEventGroup == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxList = &pxEventBits->xTasksWaitingForBits;
+  # DEBUG BEGIN_STMT
+  pxListEnd = &pxList->xListEnd;
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem = pxList->xListEnd.pxNext;
+  # DEBUG BEGIN_STMT
+  _2 = pxEventBits->uxEventBits;
+  _3 = uxBitsToSet | _2;
+  pxEventBits->uxEventBits = _3;
+  # DEBUG BEGIN_STMT
+  goto <bb 19>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  pxNext = pxListItem->pxNext;
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor = pxListItem->xItemValue;
+  # DEBUG BEGIN_STMT
+  xMatchFound = 0;
+  # DEBUG BEGIN_STMT
+  uxControlBits = uxBitsWaitedFor & 4278190080;
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor = uxBitsWaitedFor & 16777215;
+  # DEBUG BEGIN_STMT
+  _4 = uxControlBits & 67108864;
+  if (_4 == 0)
+    goto <bb 10>; [INV]
+  else
+    goto <bb 12>; [INV]
+
+  <bb 10> :
+  # DEBUG BEGIN_STMT
+  _5 = pxEventBits->uxEventBits;
+  _6 = uxBitsWaitedFor & _5;
+  if (_6 != 0)
+    goto <bb 11>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 11> :
+  # DEBUG BEGIN_STMT
+  xMatchFound = 1;
+  goto <bb 14>; [INV]
+
+  <bb 12> :
+  # DEBUG BEGIN_STMT
+  _7 = pxEventBits->uxEventBits;
+  _8 = uxBitsWaitedFor & _7;
+  if (uxBitsWaitedFor == _8)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 13> :
+  # DEBUG BEGIN_STMT
+  xMatchFound = 1;
+
+  <bb 14> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xMatchFound != 0)
+    goto <bb 15>; [INV]
+  else
+    goto <bb 18>; [INV]
+
+  <bb 15> :
+  # DEBUG BEGIN_STMT
+  _9 = uxControlBits & 16777216;
+  if (_9 != 0)
+    goto <bb 16>; [INV]
+  else
+    goto <bb 17>; [INV]
+
+  <bb 16> :
+  # DEBUG BEGIN_STMT
+  uxBitsToClear = uxBitsToClear | uxBitsWaitedFor;
+
+  <bb 17> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _10 = pxEventBits->uxEventBits;
+  _11 = _10 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem, _11);
+
+  <bb 18> :
+  # DEBUG BEGIN_STMT
+  pxListItem = pxNext;
+
+  <bb 19> :
+  # DEBUG BEGIN_STMT
+  if (pxListItem != pxListEnd)
+    goto <bb 9>; [INV]
+  else
+    goto <bb 20>; [INV]
+
+  <bb 20> :
+  # DEBUG BEGIN_STMT
+  _12 = pxEventBits->uxEventBits;
+  _13 = ~uxBitsToClear;
+  _14 = _12 & _13;
+  pxEventBits->uxEventBits = _14;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  D.6555 = pxEventBits->uxEventBits;
+  return D.6555;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  EventBits_t uxReturn;
+  const struct EventGroup_t * const pxEventBits;
+  UBaseType_t uxSavedInterruptStatus;
+  EventBits_t D.6533;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
+  # DEBUG BEGIN_STMT
+  uxReturn = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  vPortSetBASEPRI (uxSavedInterruptStatus);
+  # DEBUG BEGIN_STMT
+  D.6533 = uxReturn;
+  return D.6533;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+  BaseType_t D.6531;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup, uxBitsToClear, 0B);
+  # DEBUG BEGIN_STMT
+  D.6531 = xReturn;
+  return D.6531;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t uxReturn;
+  struct EventGroup_t * pxEventBits;
+  EventBits_t D.6529;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  _2 = pxEventBits->uxEventBits;
+  _3 = ~uxBitsToClear;
+  _4 = _2 & _3;
+  pxEventBits->uxEventBits = _4;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  D.6529 = uxReturn;
+  return D.6529;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xTimeoutOccurred;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  struct EventGroup_t * pxEventBits;
+  EventBits_t D.6512;
+  int iftmp.1;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  uxControlBits = 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred = 0;
+  # DEBUG BEGIN_STMT
+  if (xEventGroup == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor == 0)
+    goto <bb 9>; [INV]
+  else
+    goto <bb 11>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 10> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 12>; [INV]
+
+  <bb 12> :
+  if (xTicksToWait == 0)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 13> :
+  iftmp.1 = 1;
+  goto <bb 15>; [INV]
+
+  <bb 14> :
+  iftmp.1 = 0;
+
+  <bb 15> :
+  if (iftmp.1 == 0)
+    goto <bb 16>; [INV]
+  else
+    goto <bb 18>; [INV]
+
+  <bb 16> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 17> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 17>; [INV]
+
+  <bb 18> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet = prvTestWaitCondition (uxCurrentEventBits, uxBitsToWaitFor, xWaitForAllBits);
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet != 0)
+    goto <bb 19>; [INV]
+  else
+    goto <bb 21>; [INV]
+
+  <bb 19> :
+  # DEBUG BEGIN_STMT
+  uxReturn = uxCurrentEventBits;
+  # DEBUG BEGIN_STMT
+  xTicksToWait = 0;
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit != 0)
+    goto <bb 20>; [INV]
+  else
+    goto <bb 28>; [INV]
+
+  <bb 20> :
+  # DEBUG BEGIN_STMT
+  _3 = pxEventBits->uxEventBits;
+  _4 = ~uxBitsToWaitFor;
+  _5 = _3 & _4;
+  pxEventBits->uxEventBits = _5;
+  goto <bb 28>; [INV]
+
+  <bb 21> :
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait == 0)
+    goto <bb 22>; [INV]
+  else
+    goto <bb 23>; [INV]
+
+  <bb 22> :
+  # DEBUG BEGIN_STMT
+  uxReturn = uxCurrentEventBits;
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred = 1;
+  goto <bb 28>; [INV]
+
+  <bb 23> :
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit != 0)
+    goto <bb 24>; [INV]
+  else
+    goto <bb 25>; [INV]
+
+  <bb 24> :
+  # DEBUG BEGIN_STMT
+  uxControlBits = uxControlBits | 16777216;
+
+  <bb 25> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits != 0)
+    goto <bb 26>; [INV]
+  else
+    goto <bb 27>; [INV]
+
+  <bb 26> :
+  # DEBUG BEGIN_STMT
+  uxControlBits = uxControlBits | 67108864;
+
+  <bb 27> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _6 = &pxEventBits->xTasksWaitingForBits;
+  _7 = uxBitsToWaitFor | uxControlBits;
+  vTaskPlaceOnUnorderedEventList (_6, _7, xTicksToWait);
+  # DEBUG BEGIN_STMT
+  uxReturn = 0;
+
+  <bb 28> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded = xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait != 0)
+    goto <bb 29>; [INV]
+  else
+    goto <bb 37>; [INV]
+
+  <bb 29> :
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded == 0)
+    goto <bb 30>; [INV]
+  else
+    goto <bb 31>; [INV]
+
+  <bb 30> :
+  # DEBUG BEGIN_STMT
+  _8 = 3758157060B;
+  *_8 = 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 31> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn = uxTaskResetEventItemValue ();
+  # DEBUG BEGIN_STMT
+  _9 = uxReturn & 33554432;
+  if (_9 == 0)
+    goto <bb 32>; [INV]
+  else
+    goto <bb 36>; [INV]
+
+  <bb 32> :
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  _10 = prvTestWaitCondition (uxReturn, uxBitsToWaitFor, xWaitForAllBits);
+  if (_10 != 0)
+    goto <bb 33>; [INV]
+  else
+    goto <bb 35>; [INV]
+
+  <bb 33> :
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit != 0)
+    goto <bb 34>; [INV]
+  else
+    goto <bb 35>; [INV]
+
+  <bb 34> :
+  # DEBUG BEGIN_STMT
+  _11 = pxEventBits->uxEventBits;
+  _12 = ~uxBitsToWaitFor;
+  _13 = _11 & _12;
+  pxEventBits->uxEventBits = _13;
+
+  <bb 35> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred = 1;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 36> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn = uxReturn & 16777215;
+
+  <bb 37> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  D.6512 = uxReturn;
+  return D.6512;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  BaseType_t xTimeoutOccurred;
+  BaseType_t xAlreadyYielded;
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  EventBits_t D.6468;
+  int iftmp.0;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred = 0;
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor == 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 10>; [INV]
+  else
+    goto <bb 9>; [INV]
+
+  <bb 9> :
+  if (xTicksToWait == 0)
+    goto <bb 10>; [INV]
+  else
+    goto <bb 11>; [INV]
+
+  <bb 10> :
+  iftmp.0 = 1;
+  goto <bb 12>; [INV]
+
+  <bb 11> :
+  iftmp.0 = 0;
+
+  <bb 12> :
+  if (iftmp.0 == 0)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 15>; [INV]
+
+  <bb 13> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 14> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 14>; [INV]
+
+  <bb 15> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup, uxBitsToSet);
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue | uxBitsToSet;
+  _4 = uxBitsToWaitFor & _3;
+  if (uxBitsToWaitFor == _4)
+    goto <bb 16>; [INV]
+  else
+    goto <bb 17>; [INV]
+
+  <bb 16> :
+  # DEBUG BEGIN_STMT
+  uxReturn = uxOriginalBitValue | uxBitsToSet;
+  # DEBUG BEGIN_STMT
+  _5 = pxEventBits->uxEventBits;
+  _6 = ~uxBitsToWaitFor;
+  _7 = _5 & _6;
+  pxEventBits->uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  xTicksToWait = 0;
+  goto <bb 20>; [INV]
+
+  <bb 17> :
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait != 0)
+    goto <bb 18>; [INV]
+  else
+    goto <bb 19>; [INV]
+
+  <bb 18> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &pxEventBits->xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait);
+  # DEBUG BEGIN_STMT
+  uxReturn = 0;
+  goto <bb 20>; [INV]
+
+  <bb 19> :
+  # DEBUG BEGIN_STMT
+  uxReturn = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred = 1;
+
+  <bb 20> :
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded = xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait != 0)
+    goto <bb 21>; [INV]
+  else
+    goto <bb 28>; [INV]
+
+  <bb 21> :
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded == 0)
+    goto <bb 22>; [INV]
+  else
+    goto <bb 23>; [INV]
+
+  <bb 22> :
+  # DEBUG BEGIN_STMT
+  _10 = 3758157060B;
+  *_10 = 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 23> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn = uxTaskResetEventItemValue ();
+  # DEBUG BEGIN_STMT
+  _11 = uxReturn & 33554432;
+  if (_11 == 0)
+    goto <bb 24>; [INV]
+  else
+    goto <bb 27>; [INV]
+
+  <bb 24> :
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  _12 = uxReturn & uxBitsToWaitFor;
+  if (uxBitsToWaitFor == _12)
+    goto <bb 25>; [INV]
+  else
+    goto <bb 26>; [INV]
+
+  <bb 25> :
+  # DEBUG BEGIN_STMT
+  _13 = pxEventBits->uxEventBits;
+  _14 = ~uxBitsToWaitFor;
+  _15 = _13 & _14;
+  pxEventBits->uxEventBits = _15;
+
+  <bb 26> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred = 1;
+
+  <bb 27> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn = uxReturn & 16777215;
+
+  <bb 28> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  D.6468 = uxReturn;
+  return D.6468;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct EventGroupDef_t * D.6438;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits = pvPortMalloc (28);
+  # DEBUG BEGIN_STMT
+  if (pxEventBits != 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  pxEventBits->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  D.6438 = pxEventBits;
+  return D.6438;
+
+}
+
+
+__attribute__((always_inline))
+vPortSetBASEPRI (uint32_t ulNewMaskValue)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue : "memory");
+  return;
+
+}
+
+
+__attribute__((always_inline))
+ulPortRaiseBASEPRI ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulOriginalBASEPRI;
+  uint32_t D.6535;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI, "=r" ulNewBASEPRI : "i" 16 : "memory");
+  # DEBUG BEGIN_STMT
+  D.6535 = ulOriginalBASEPRI;
+  return D.6535;
+
+}
+
+
+__attribute__((always_inline))
+vPortRaiseBASEPRI ()
+{
+  uint32_t ulNewBASEPRI;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI : "i" 16 : "memory");
+  return;
+
+}
+
+

+ 1066 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.017i.build_ssa_passes

@@ -0,0 +1,1066 @@
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup].uxEventGroupNumber = uxEventGroupNumber;
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  const struct EventGroup_t * pxEventBits;
+  UBaseType_t xReturn;
+  UBaseType_t D.6566;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  if (xEventGroup == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  xReturn = 0;
+  goto <bb 5>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  xReturn = pxEventBits->uxEventGroupNumber;
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  D.6566 = xReturn;
+  return D.6566;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+  BaseType_t D.6561;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken);
+  # DEBUG BEGIN_STMT
+  D.6561 = xReturn;
+  return D.6561;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  BaseType_t D.6523;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet = 0;
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits == 0)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits & uxBitsToWaitFor;
+  if (_1 != 0)
+    goto <bb 4>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet = 1;
+  goto <bb 7>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits & uxBitsToWaitFor;
+  if (uxBitsToWaitFor == _2)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet = 1;
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  D.6523 = xWaitConditionMet;
+  return D.6523;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup, ulBitsToClear);
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup, ulBitsToSet);
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  const struct List_t * pxTasksWaitingForBits;
+  struct EventGroup_t * pxEventBits;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  if (xEventGroup == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  pxTasksWaitingForBits = &pxEventBits->xTasksWaitingForBits;
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  _1 = pxTasksWaitingForBits->xListEnd.pxNext;
+  _2 = &pxTasksWaitingForBits->xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [INV]
+  else
+    goto <bb 9>; [INV]
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 8>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxTasksWaitingForBits->xListEnd.pxNext;
+  vTaskRemoveFromUnorderedEventList (_3, 33554432);
+
+  <bb 10> :
+  # DEBUG BEGIN_STMT
+  _4 = pxTasksWaitingForBits->uxNumberOfItems;
+  if (_4 != 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 11>; [INV]
+
+  <bb 11> :
+  # DEBUG BEGIN_STMT
+  vPortFree (pxEventBits);
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  BaseType_t xMatchFound;
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxControlBits;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxBitsToClear;
+  const struct List_t * pxList;
+  const struct ListItem_t * pxListEnd;
+  struct ListItem_t * pxNext;
+  struct ListItem_t * pxListItem;
+  EventBits_t D.6555;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxBitsToClear = 0;
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  xMatchFound = 0;
+  # DEBUG BEGIN_STMT
+  if (xEventGroup == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxList = &pxEventBits->xTasksWaitingForBits;
+  # DEBUG BEGIN_STMT
+  pxListEnd = &pxList->xListEnd;
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem = pxList->xListEnd.pxNext;
+  # DEBUG BEGIN_STMT
+  _2 = pxEventBits->uxEventBits;
+  _3 = uxBitsToSet | _2;
+  pxEventBits->uxEventBits = _3;
+  # DEBUG BEGIN_STMT
+  goto <bb 19>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  pxNext = pxListItem->pxNext;
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor = pxListItem->xItemValue;
+  # DEBUG BEGIN_STMT
+  xMatchFound = 0;
+  # DEBUG BEGIN_STMT
+  uxControlBits = uxBitsWaitedFor & 4278190080;
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor = uxBitsWaitedFor & 16777215;
+  # DEBUG BEGIN_STMT
+  _4 = uxControlBits & 67108864;
+  if (_4 == 0)
+    goto <bb 10>; [INV]
+  else
+    goto <bb 12>; [INV]
+
+  <bb 10> :
+  # DEBUG BEGIN_STMT
+  _5 = pxEventBits->uxEventBits;
+  _6 = uxBitsWaitedFor & _5;
+  if (_6 != 0)
+    goto <bb 11>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 11> :
+  # DEBUG BEGIN_STMT
+  xMatchFound = 1;
+  goto <bb 14>; [INV]
+
+  <bb 12> :
+  # DEBUG BEGIN_STMT
+  _7 = pxEventBits->uxEventBits;
+  _8 = uxBitsWaitedFor & _7;
+  if (uxBitsWaitedFor == _8)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 13> :
+  # DEBUG BEGIN_STMT
+  xMatchFound = 1;
+
+  <bb 14> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xMatchFound != 0)
+    goto <bb 15>; [INV]
+  else
+    goto <bb 18>; [INV]
+
+  <bb 15> :
+  # DEBUG BEGIN_STMT
+  _9 = uxControlBits & 16777216;
+  if (_9 != 0)
+    goto <bb 16>; [INV]
+  else
+    goto <bb 17>; [INV]
+
+  <bb 16> :
+  # DEBUG BEGIN_STMT
+  uxBitsToClear = uxBitsToClear | uxBitsWaitedFor;
+
+  <bb 17> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _10 = pxEventBits->uxEventBits;
+  _11 = _10 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem, _11);
+
+  <bb 18> :
+  # DEBUG BEGIN_STMT
+  pxListItem = pxNext;
+
+  <bb 19> :
+  # DEBUG BEGIN_STMT
+  if (pxListItem != pxListEnd)
+    goto <bb 9>; [INV]
+  else
+    goto <bb 20>; [INV]
+
+  <bb 20> :
+  # DEBUG BEGIN_STMT
+  _12 = pxEventBits->uxEventBits;
+  _13 = ~uxBitsToClear;
+  _14 = _12 & _13;
+  pxEventBits->uxEventBits = _14;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  D.6555 = pxEventBits->uxEventBits;
+  return D.6555;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  EventBits_t uxReturn;
+  const struct EventGroup_t * const pxEventBits;
+  UBaseType_t uxSavedInterruptStatus;
+  EventBits_t D.6533;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
+  # DEBUG BEGIN_STMT
+  uxReturn = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  vPortSetBASEPRI (uxSavedInterruptStatus);
+  # DEBUG BEGIN_STMT
+  D.6533 = uxReturn;
+  return D.6533;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+  BaseType_t D.6531;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup, uxBitsToClear, 0B);
+  # DEBUG BEGIN_STMT
+  D.6531 = xReturn;
+  return D.6531;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t uxReturn;
+  struct EventGroup_t * pxEventBits;
+  EventBits_t D.6529;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  _2 = pxEventBits->uxEventBits;
+  _3 = ~uxBitsToClear;
+  _4 = _2 & _3;
+  pxEventBits->uxEventBits = _4;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  D.6529 = uxReturn;
+  return D.6529;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xTimeoutOccurred;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  struct EventGroup_t * pxEventBits;
+  EventBits_t D.6512;
+  int iftmp.1;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  uxControlBits = 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred = 0;
+  # DEBUG BEGIN_STMT
+  if (xEventGroup == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor == 0)
+    goto <bb 9>; [INV]
+  else
+    goto <bb 11>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 10> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 12>; [INV]
+
+  <bb 12> :
+  if (xTicksToWait == 0)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 13> :
+  iftmp.1 = 1;
+  goto <bb 15>; [INV]
+
+  <bb 14> :
+  iftmp.1 = 0;
+
+  <bb 15> :
+  if (iftmp.1 == 0)
+    goto <bb 16>; [INV]
+  else
+    goto <bb 18>; [INV]
+
+  <bb 16> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 17> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 17>; [INV]
+
+  <bb 18> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet = prvTestWaitCondition (uxCurrentEventBits, uxBitsToWaitFor, xWaitForAllBits);
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet != 0)
+    goto <bb 19>; [INV]
+  else
+    goto <bb 21>; [INV]
+
+  <bb 19> :
+  # DEBUG BEGIN_STMT
+  uxReturn = uxCurrentEventBits;
+  # DEBUG BEGIN_STMT
+  xTicksToWait = 0;
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit != 0)
+    goto <bb 20>; [INV]
+  else
+    goto <bb 28>; [INV]
+
+  <bb 20> :
+  # DEBUG BEGIN_STMT
+  _3 = pxEventBits->uxEventBits;
+  _4 = ~uxBitsToWaitFor;
+  _5 = _3 & _4;
+  pxEventBits->uxEventBits = _5;
+  goto <bb 28>; [INV]
+
+  <bb 21> :
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait == 0)
+    goto <bb 22>; [INV]
+  else
+    goto <bb 23>; [INV]
+
+  <bb 22> :
+  # DEBUG BEGIN_STMT
+  uxReturn = uxCurrentEventBits;
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred = 1;
+  goto <bb 28>; [INV]
+
+  <bb 23> :
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit != 0)
+    goto <bb 24>; [INV]
+  else
+    goto <bb 25>; [INV]
+
+  <bb 24> :
+  # DEBUG BEGIN_STMT
+  uxControlBits = uxControlBits | 16777216;
+
+  <bb 25> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits != 0)
+    goto <bb 26>; [INV]
+  else
+    goto <bb 27>; [INV]
+
+  <bb 26> :
+  # DEBUG BEGIN_STMT
+  uxControlBits = uxControlBits | 67108864;
+
+  <bb 27> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _6 = &pxEventBits->xTasksWaitingForBits;
+  _7 = uxBitsToWaitFor | uxControlBits;
+  vTaskPlaceOnUnorderedEventList (_6, _7, xTicksToWait);
+  # DEBUG BEGIN_STMT
+  uxReturn = 0;
+
+  <bb 28> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded = xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait != 0)
+    goto <bb 29>; [INV]
+  else
+    goto <bb 37>; [INV]
+
+  <bb 29> :
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded == 0)
+    goto <bb 30>; [INV]
+  else
+    goto <bb 31>; [INV]
+
+  <bb 30> :
+  # DEBUG BEGIN_STMT
+  _8 = 3758157060B;
+  *_8 = 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 31> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn = uxTaskResetEventItemValue ();
+  # DEBUG BEGIN_STMT
+  _9 = uxReturn & 33554432;
+  if (_9 == 0)
+    goto <bb 32>; [INV]
+  else
+    goto <bb 36>; [INV]
+
+  <bb 32> :
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  _10 = prvTestWaitCondition (uxReturn, uxBitsToWaitFor, xWaitForAllBits);
+  if (_10 != 0)
+    goto <bb 33>; [INV]
+  else
+    goto <bb 35>; [INV]
+
+  <bb 33> :
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit != 0)
+    goto <bb 34>; [INV]
+  else
+    goto <bb 35>; [INV]
+
+  <bb 34> :
+  # DEBUG BEGIN_STMT
+  _11 = pxEventBits->uxEventBits;
+  _12 = ~uxBitsToWaitFor;
+  _13 = _11 & _12;
+  pxEventBits->uxEventBits = _13;
+
+  <bb 35> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred = 1;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 36> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn = uxReturn & 16777215;
+
+  <bb 37> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  D.6512 = uxReturn;
+  return D.6512;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  BaseType_t xTimeoutOccurred;
+  BaseType_t xAlreadyYielded;
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  EventBits_t D.6468;
+  int iftmp.0;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits = xEventGroup;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred = 0;
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor == 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 10>; [INV]
+  else
+    goto <bb 9>; [INV]
+
+  <bb 9> :
+  if (xTicksToWait == 0)
+    goto <bb 10>; [INV]
+  else
+    goto <bb 11>; [INV]
+
+  <bb 10> :
+  iftmp.0 = 1;
+  goto <bb 12>; [INV]
+
+  <bb 11> :
+  iftmp.0 = 0;
+
+  <bb 12> :
+  if (iftmp.0 == 0)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 15>; [INV]
+
+  <bb 13> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 14> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 14>; [INV]
+
+  <bb 15> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup, uxBitsToSet);
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue | uxBitsToSet;
+  _4 = uxBitsToWaitFor & _3;
+  if (uxBitsToWaitFor == _4)
+    goto <bb 16>; [INV]
+  else
+    goto <bb 17>; [INV]
+
+  <bb 16> :
+  # DEBUG BEGIN_STMT
+  uxReturn = uxOriginalBitValue | uxBitsToSet;
+  # DEBUG BEGIN_STMT
+  _5 = pxEventBits->uxEventBits;
+  _6 = ~uxBitsToWaitFor;
+  _7 = _5 & _6;
+  pxEventBits->uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  xTicksToWait = 0;
+  goto <bb 20>; [INV]
+
+  <bb 17> :
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait != 0)
+    goto <bb 18>; [INV]
+  else
+    goto <bb 19>; [INV]
+
+  <bb 18> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &pxEventBits->xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait);
+  # DEBUG BEGIN_STMT
+  uxReturn = 0;
+  goto <bb 20>; [INV]
+
+  <bb 19> :
+  # DEBUG BEGIN_STMT
+  uxReturn = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred = 1;
+
+  <bb 20> :
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded = xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait != 0)
+    goto <bb 21>; [INV]
+  else
+    goto <bb 28>; [INV]
+
+  <bb 21> :
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded == 0)
+    goto <bb 22>; [INV]
+  else
+    goto <bb 23>; [INV]
+
+  <bb 22> :
+  # DEBUG BEGIN_STMT
+  _10 = 3758157060B;
+  *_10 = 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 23> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn = uxTaskResetEventItemValue ();
+  # DEBUG BEGIN_STMT
+  _11 = uxReturn & 33554432;
+  if (_11 == 0)
+    goto <bb 24>; [INV]
+  else
+    goto <bb 27>; [INV]
+
+  <bb 24> :
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn = pxEventBits->uxEventBits;
+  # DEBUG BEGIN_STMT
+  _12 = uxReturn & uxBitsToWaitFor;
+  if (uxBitsToWaitFor == _12)
+    goto <bb 25>; [INV]
+  else
+    goto <bb 26>; [INV]
+
+  <bb 25> :
+  # DEBUG BEGIN_STMT
+  _13 = pxEventBits->uxEventBits;
+  _14 = ~uxBitsToWaitFor;
+  _15 = _13 & _14;
+  pxEventBits->uxEventBits = _15;
+
+  <bb 26> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred = 1;
+
+  <bb 27> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn = uxReturn & 16777215;
+
+  <bb 28> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  D.6468 = uxReturn;
+  return D.6468;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct EventGroupDef_t * D.6438;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits = pvPortMalloc (28);
+  # DEBUG BEGIN_STMT
+  if (pxEventBits != 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  pxEventBits->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  D.6438 = pxEventBits;
+  return D.6438;
+
+}
+
+
+__attribute__((always_inline))
+vPortSetBASEPRI (uint32_t ulNewMaskValue)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue : "memory");
+  return;
+
+}
+
+
+__attribute__((always_inline))
+ulPortRaiseBASEPRI ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulOriginalBASEPRI;
+  uint32_t D.6535;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI, "=r" ulNewBASEPRI : "i" 16 : "memory");
+  # DEBUG BEGIN_STMT
+  D.6535 = ulOriginalBASEPRI;
+  return D.6535;
+
+}
+
+
+__attribute__((always_inline))
+vPortRaiseBASEPRI ()
+{
+  uint32_t ulNewBASEPRI;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI : "i" 16 : "memory");
+  return;
+
+}
+
+

+ 1223 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.022i.opt_local_passes

@@ -0,0 +1,1223 @@
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  const struct EventGroup_t * pxEventBits;
+  UBaseType_t xReturn;
+  UBaseType_t _7;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_3 = xEventGroup_2(D);
+  # DEBUG pxEventBits => pxEventBits_3
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  xReturn_6 = 0;
+  # DEBUG xReturn => xReturn_6
+  goto <bb 5>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  xReturn_5 = pxEventBits_3->uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_5
+
+  <bb 5> :
+  # xReturn_1 = PHI <xReturn_6(3), xReturn_5(4)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  _7 = xReturn_1;
+  return _7;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+  BaseType_t _7;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  _7 = xReturn_6;
+  return _7;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+  BaseType_t _10;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_4 = 0;
+  # DEBUG xWaitConditionMet => xWaitConditionMet_4
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_5(D) == 0)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_6(D) & uxBitsToWaitFor_7(D);
+  if (_1 != 0)
+    goto <bb 4>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_9 = 1;
+  # DEBUG xWaitConditionMet => xWaitConditionMet_9
+  goto <bb 7>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_6(D) & uxBitsToWaitFor_7(D);
+  if (uxBitsToWaitFor_7(D) == _2)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_8 = 1;
+  # DEBUG xWaitConditionMet => xWaitConditionMet_8
+
+  <bb 7> :
+  # xWaitConditionMet_3 = PHI <xWaitConditionMet_9(4), xWaitConditionMet_4(5), xWaitConditionMet_8(6), xWaitConditionMet_4(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _10 = xWaitConditionMet_3;
+  return _10;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  const struct List_t * pxTasksWaitingForBits;
+  struct EventGroup_t * pxEventBits;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_6(D) == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_7 = xEventGroup_6(D);
+  # DEBUG pxEventBits => pxEventBits_7
+  # DEBUG BEGIN_STMT
+  pxTasksWaitingForBits_8 = &pxEventBits_7->xTasksWaitingForBits;
+  # DEBUG pxTasksWaitingForBits => pxTasksWaitingForBits_8
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  _1 = pxTasksWaitingForBits_8->xListEnd.pxNext;
+  _2 = &pxTasksWaitingForBits_8->xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [INV]
+  else
+    goto <bb 9>; [INV]
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 8>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxTasksWaitingForBits_8->xListEnd.pxNext;
+  vTaskRemoveFromUnorderedEventList (_3, 33554432);
+
+  <bb 10> :
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxTasksWaitingForBits_8->uxNumberOfItems;
+  if (_4 != 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 11>; [INV]
+
+  <bb 11> :
+  # DEBUG BEGIN_STMT
+  vPortFree (pxEventBits_7);
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  BaseType_t xMatchFound;
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxControlBits;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxBitsToClear;
+  const struct List_t * pxList;
+  const struct ListItem_t * pxListEnd;
+  struct ListItem_t * pxNext;
+  struct ListItem_t * pxListItem;
+  long unsigned int _1;
+  long unsigned int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long unsigned int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  EventBits_t _35;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_22 = 0;
+  # DEBUG uxBitsToClear => uxBitsToClear_22
+  # DEBUG BEGIN_STMT
+  pxEventBits_24 = xEventGroup_23(D);
+  # DEBUG pxEventBits => pxEventBits_24
+  # DEBUG BEGIN_STMT
+  xMatchFound_25 = 0;
+  # DEBUG xMatchFound => xMatchFound_25
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_23(D) == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_26(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxList_27 = &pxEventBits_24->xTasksWaitingForBits;
+  # DEBUG pxList => pxList_27
+  # DEBUG BEGIN_STMT
+  pxListEnd_28 = &pxList_27->xListEnd;
+  # DEBUG pxListEnd => pxListEnd_28
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_31 = pxList_27->xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_31
+  # DEBUG BEGIN_STMT
+  _2 = pxEventBits_24->uxEventBits;
+  _3 = uxBitsToSet_26(D) | _2;
+  pxEventBits_24->uxEventBits = _3;
+  # DEBUG BEGIN_STMT
+  goto <bb 19>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  pxNext_36 = pxListItem_15->pxNext;
+  # DEBUG pxNext => pxNext_36
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_37 = pxListItem_15->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_37
+  # DEBUG BEGIN_STMT
+  xMatchFound_38 = 0;
+  # DEBUG xMatchFound => xMatchFound_38
+  # DEBUG BEGIN_STMT
+  uxControlBits_39 = uxBitsWaitedFor_37 & 4278190080;
+  # DEBUG uxControlBits => uxControlBits_39
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_40 = uxBitsWaitedFor_37 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_40
+  # DEBUG BEGIN_STMT
+  _4 = uxControlBits_39 & 67108864;
+  if (_4 == 0)
+    goto <bb 10>; [INV]
+  else
+    goto <bb 12>; [INV]
+
+  <bb 10> :
+  # DEBUG BEGIN_STMT
+  _5 = pxEventBits_24->uxEventBits;
+  _6 = uxBitsWaitedFor_40 & _5;
+  if (_6 != 0)
+    goto <bb 11>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 11> :
+  # DEBUG BEGIN_STMT
+  xMatchFound_42 = 1;
+  # DEBUG xMatchFound => xMatchFound_42
+  goto <bb 14>; [INV]
+
+  <bb 12> :
+  # DEBUG BEGIN_STMT
+  _7 = pxEventBits_24->uxEventBits;
+  _8 = uxBitsWaitedFor_40 & _7;
+  if (uxBitsWaitedFor_40 == _8)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 13> :
+  # DEBUG BEGIN_STMT
+  xMatchFound_41 = 1;
+  # DEBUG xMatchFound => xMatchFound_41
+
+  <bb 14> :
+  # xMatchFound_19 = PHI <xMatchFound_42(11), xMatchFound_38(12), xMatchFound_41(13), xMatchFound_38(10)>
+  # DEBUG xMatchFound => xMatchFound_19
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xMatchFound_19 != 0)
+    goto <bb 15>; [INV]
+  else
+    goto <bb 18>; [INV]
+
+  <bb 15> :
+  # DEBUG BEGIN_STMT
+  _9 = uxControlBits_39 & 16777216;
+  if (_9 != 0)
+    goto <bb 16>; [INV]
+  else
+    goto <bb 17>; [INV]
+
+  <bb 16> :
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_43 = uxBitsToClear_18 | uxBitsWaitedFor_40;
+  # DEBUG uxBitsToClear => uxBitsToClear_43
+
+  <bb 17> :
+  # uxBitsToClear_16 = PHI <uxBitsToClear_18(15), uxBitsToClear_43(16)>
+  # DEBUG uxBitsToClear => uxBitsToClear_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _10 = pxEventBits_24->uxEventBits;
+  _11 = _10 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_15, _11);
+
+  <bb 18> :
+  # uxBitsToClear_17 = PHI <uxBitsToClear_18(14), uxBitsToClear_16(17)>
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG BEGIN_STMT
+  pxListItem_45 = pxNext_36;
+  # DEBUG pxListItem => pxListItem_45
+
+  <bb 19> :
+  # pxListItem_15 = PHI <pxListItem_31(8), pxListItem_45(18)>
+  # uxBitsToClear_18 = PHI <uxBitsToClear_22(8), uxBitsToClear_17(18)>
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+  # DEBUG pxListItem => pxListItem_15
+  # DEBUG BEGIN_STMT
+  if (pxListItem_15 != pxListEnd_28)
+    goto <bb 9>; [INV]
+  else
+    goto <bb 20>; [INV]
+
+  <bb 20> :
+  # DEBUG BEGIN_STMT
+  _12 = pxEventBits_24->uxEventBits;
+  _13 = ~uxBitsToClear_18;
+  _14 = _12 & _13;
+  pxEventBits_24->uxEventBits = _14;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _35 = pxEventBits_24->uxEventBits;
+  return _35;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  EventBits_t uxReturn;
+  const struct EventGroup_t * const pxEventBits;
+  UBaseType_t uxSavedInterruptStatus;
+  EventBits_t _8;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_2 = xEventGroup_1(D);
+  # DEBUG pxEventBits => pxEventBits_2
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxSavedInterruptStatus_5 = ulPortRaiseBASEPRI ();
+  # DEBUG uxSavedInterruptStatus => uxSavedInterruptStatus_5
+  # DEBUG BEGIN_STMT
+  uxReturn_6 = pxEventBits_2->uxEventBits;
+  # DEBUG uxReturn => uxReturn_6
+  # DEBUG BEGIN_STMT
+  vPortSetBASEPRI (uxSavedInterruptStatus_5);
+  # DEBUG BEGIN_STMT
+  _8 = uxReturn_6;
+  return _8;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+  BaseType_t _6;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  _6 = xReturn_5;
+  return _6;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t uxReturn;
+  struct EventGroup_t * pxEventBits;
+  long unsigned int _1;
+  long unsigned int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  EventBits_t _13;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxEventBits_6 = xEventGroup_5(D);
+  # DEBUG pxEventBits => pxEventBits_6
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_7(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_10 = pxEventBits_6->uxEventBits;
+  # DEBUG uxReturn => uxReturn_10
+  # DEBUG BEGIN_STMT
+  _2 = pxEventBits_6->uxEventBits;
+  _3 = ~uxBitsToClear_7(D);
+  _4 = _2 & _3;
+  pxEventBits_6->uxEventBits = _4;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  _13 = uxReturn_10;
+  return _13;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xTimeoutOccurred;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  struct EventGroup_t * pxEventBits;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  struct List_t * _6;
+  long unsigned int _7;
+  volatile uint32_t * _8;
+  long unsigned int _9;
+  long int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  int iftmp.1_20;
+  int iftmp.1_34;
+  int iftmp.1_35;
+  EventBits_t _65;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxEventBits_27 = xEventGroup_26(D);
+  # DEBUG pxEventBits => pxEventBits_27
+  # DEBUG BEGIN_STMT
+  uxControlBits_28 = 0;
+  # DEBUG uxControlBits => uxControlBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred_29 = 0;
+  # DEBUG xTimeoutOccurred => xTimeoutOccurred_29
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_26(D) == 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_30(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_30(D) == 0)
+    goto <bb 9>; [INV]
+  else
+    goto <bb 11>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 10> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 12>; [INV]
+
+  <bb 12> :
+  if (xTicksToWait_33(D) == 0)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 13> :
+  iftmp.1_35 = 1;
+  goto <bb 15>; [INV]
+
+  <bb 14> :
+  iftmp.1_34 = 0;
+
+  <bb 15> :
+  # iftmp.1_20 = PHI <iftmp.1_35(13), iftmp.1_34(14)>
+  if (iftmp.1_20 == 0)
+    goto <bb 16>; [INV]
+  else
+    goto <bb 18>; [INV]
+
+  <bb 16> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 17> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 17>; [INV]
+
+  <bb 18> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_37 = pxEventBits_27->uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_37
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_40 = prvTestWaitCondition (uxCurrentEventBits_37, uxBitsToWaitFor_30(D), xWaitForAllBits_38(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_40
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_40 != 0)
+    goto <bb 19>; [INV]
+  else
+    goto <bb 21>; [INV]
+
+  <bb 19> :
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxCurrentEventBits_37;
+  # DEBUG uxReturn => uxReturn_48
+  # DEBUG BEGIN_STMT
+  xTicksToWait_49 = 0;
+  # DEBUG xTicksToWait => xTicksToWait_49
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_41(D) != 0)
+    goto <bb 20>; [INV]
+  else
+    goto <bb 28>; [INV]
+
+  <bb 20> :
+  # DEBUG BEGIN_STMT
+  _3 = pxEventBits_27->uxEventBits;
+  _4 = ~uxBitsToWaitFor_30(D);
+  _5 = _3 & _4;
+  pxEventBits_27->uxEventBits = _5;
+  goto <bb 28>; [INV]
+
+  <bb 21> :
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_33(D) == 0)
+    goto <bb 22>; [INV]
+  else
+    goto <bb 23>; [INV]
+
+  <bb 22> :
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxCurrentEventBits_37;
+  # DEBUG uxReturn => uxReturn_46
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred_47 = 1;
+  # DEBUG xTimeoutOccurred => xTimeoutOccurred_47
+  goto <bb 28>; [INV]
+
+  <bb 23> :
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_41(D) != 0)
+    goto <bb 24>; [INV]
+  else
+    goto <bb 25>; [INV]
+
+  <bb 24> :
+  # DEBUG BEGIN_STMT
+  uxControlBits_42 = uxControlBits_28 | 16777216;
+  # DEBUG uxControlBits => uxControlBits_42
+
+  <bb 25> :
+  # uxControlBits_18 = PHI <uxControlBits_28(23), uxControlBits_42(24)>
+  # DEBUG uxControlBits => uxControlBits_18
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_38(D) != 0)
+    goto <bb 26>; [INV]
+  else
+    goto <bb 27>; [INV]
+
+  <bb 26> :
+  # DEBUG BEGIN_STMT
+  uxControlBits_43 = uxControlBits_18 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_43
+
+  <bb 27> :
+  # uxControlBits_19 = PHI <uxControlBits_18(25), uxControlBits_43(26)>
+  # DEBUG uxControlBits => uxControlBits_19
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _6 = &pxEventBits_27->xTasksWaitingForBits;
+  _7 = uxBitsToWaitFor_30(D) | uxControlBits_19;
+  vTaskPlaceOnUnorderedEventList (_6, _7, xTicksToWait_33(D));
+  # DEBUG BEGIN_STMT
+  uxReturn_45 = 0;
+  # DEBUG uxReturn => uxReturn_45
+
+  <bb 28> :
+  # xTicksToWait_14 = PHI <xTicksToWait_49(20), xTicksToWait_33(D)(22), xTicksToWait_33(D)(27), xTicksToWait_49(19)>
+  # uxReturn_15 = PHI <uxReturn_48(20), uxReturn_46(22), uxReturn_45(27), uxReturn_48(19)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_52 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_52
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 29>; [INV]
+  else
+    goto <bb 37>; [INV]
+
+  <bb 29> :
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_52 == 0)
+    goto <bb 30>; [INV]
+  else
+    goto <bb 31>; [INV]
+
+  <bb 30> :
+  # DEBUG BEGIN_STMT
+  _8 = 3758157060B;
+  *_8 ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 31> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_57 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_57
+  # DEBUG BEGIN_STMT
+  _9 = uxReturn_57 & 33554432;
+  if (_9 == 0)
+    goto <bb 32>; [INV]
+  else
+    goto <bb 36>; [INV]
+
+  <bb 32> :
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_59 = pxEventBits_27->uxEventBits;
+  # DEBUG uxReturn => uxReturn_59
+  # DEBUG BEGIN_STMT
+  _10 = prvTestWaitCondition (uxReturn_59, uxBitsToWaitFor_30(D), xWaitForAllBits_38(D));
+  if (_10 != 0)
+    goto <bb 33>; [INV]
+  else
+    goto <bb 35>; [INV]
+
+  <bb 33> :
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_41(D) != 0)
+    goto <bb 34>; [INV]
+  else
+    goto <bb 35>; [INV]
+
+  <bb 34> :
+  # DEBUG BEGIN_STMT
+  _11 = pxEventBits_27->uxEventBits;
+  _12 = ~uxBitsToWaitFor_30(D);
+  _13 = _11 & _12;
+  pxEventBits_27->uxEventBits = _13;
+
+  <bb 35> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred_62 = 1;
+  # DEBUG xTimeoutOccurred => xTimeoutOccurred_62
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 36> :
+  # uxReturn_16 = PHI <uxReturn_57(31), uxReturn_59(35)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_64 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_64
+
+  <bb 37> :
+  # uxReturn_17 = PHI <uxReturn_15(28), uxReturn_64(36)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _65 = uxReturn_17;
+  return _65;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  BaseType_t xTimeoutOccurred;
+  BaseType_t xAlreadyYielded;
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  volatile uint32_t * _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  int iftmp.0_20;
+  int iftmp.0_33;
+  int iftmp.0_34;
+  EventBits_t _59;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_27 = xEventGroup_26(D);
+  # DEBUG pxEventBits => pxEventBits_27
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred_28 = 0;
+  # DEBUG xTimeoutOccurred => xTimeoutOccurred_28
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_29(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_29(D) == 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 10>; [INV]
+  else
+    goto <bb 9>; [INV]
+
+  <bb 9> :
+  if (xTicksToWait_32(D) == 0)
+    goto <bb 10>; [INV]
+  else
+    goto <bb 11>; [INV]
+
+  <bb 10> :
+  iftmp.0_34 = 1;
+  goto <bb 12>; [INV]
+
+  <bb 11> :
+  iftmp.0_33 = 0;
+
+  <bb 12> :
+  # iftmp.0_20 = PHI <iftmp.0_34(10), iftmp.0_33(11)>
+  if (iftmp.0_20 == 0)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 15>; [INV]
+
+  <bb 13> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 14> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 14>; [INV]
+
+  <bb 15> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_36 = pxEventBits_27->uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_36
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_26(D), uxBitsToSet_37(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_36 | uxBitsToSet_37(D);
+  _4 = uxBitsToWaitFor_29(D) & _3;
+  if (uxBitsToWaitFor_29(D) == _4)
+    goto <bb 16>; [INV]
+  else
+    goto <bb 17>; [INV]
+
+  <bb 16> :
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = uxOriginalBitValue_36 | uxBitsToSet_37(D);
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _5 = pxEventBits_27->uxEventBits;
+  _6 = ~uxBitsToWaitFor_29(D);
+  _7 = _5 & _6;
+  pxEventBits_27->uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  xTicksToWait_45 = 0;
+  # DEBUG xTicksToWait => xTicksToWait_45
+  goto <bb 20>; [INV]
+
+  <bb 17> :
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_32(D) != 0)
+    goto <bb 18>; [INV]
+  else
+    goto <bb 19>; [INV]
+
+  <bb 18> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &pxEventBits_27->xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_29(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_32(D));
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = 0;
+  # DEBUG uxReturn => uxReturn_42
+  goto <bb 20>; [INV]
+
+  <bb 19> :
+  # DEBUG BEGIN_STMT
+  uxReturn_39 = pxEventBits_27->uxEventBits;
+  # DEBUG uxReturn => uxReturn_39
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred_40 = 1;
+  # DEBUG xTimeoutOccurred => xTimeoutOccurred_40
+
+  <bb 20> :
+  # xTicksToWait_16 = PHI <xTicksToWait_45(16), xTicksToWait_32(D)(18), xTicksToWait_32(D)(19)>
+  # uxReturn_17 = PHI <uxReturn_43(16), uxReturn_42(18), uxReturn_39(19)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG xTicksToWait => xTicksToWait_16
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_47 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_47
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_16 != 0)
+    goto <bb 21>; [INV]
+  else
+    goto <bb 28>; [INV]
+
+  <bb 21> :
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_47 == 0)
+    goto <bb 22>; [INV]
+  else
+    goto <bb 23>; [INV]
+
+  <bb 22> :
+  # DEBUG BEGIN_STMT
+  _10 = 3758157060B;
+  *_10 ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 23> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_52 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_52
+  # DEBUG BEGIN_STMT
+  _11 = uxReturn_52 & 33554432;
+  if (_11 == 0)
+    goto <bb 24>; [INV]
+  else
+    goto <bb 27>; [INV]
+
+  <bb 24> :
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_54 = pxEventBits_27->uxEventBits;
+  # DEBUG uxReturn => uxReturn_54
+  # DEBUG BEGIN_STMT
+  _12 = uxReturn_54 & uxBitsToWaitFor_29(D);
+  if (uxBitsToWaitFor_29(D) == _12)
+    goto <bb 25>; [INV]
+  else
+    goto <bb 26>; [INV]
+
+  <bb 25> :
+  # DEBUG BEGIN_STMT
+  _13 = pxEventBits_27->uxEventBits;
+  _14 = ~uxBitsToWaitFor_29(D);
+  _15 = _13 & _14;
+  pxEventBits_27->uxEventBits = _15;
+
+  <bb 26> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  xTimeoutOccurred_57 = 1;
+  # DEBUG xTimeoutOccurred => xTimeoutOccurred_57
+
+  <bb 27> :
+  # uxReturn_18 = PHI <uxReturn_52(23), uxReturn_54(26)>
+  # DEBUG uxReturn => uxReturn_18
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_58 = uxReturn_18 & 16777215;
+  # DEBUG uxReturn => uxReturn_58
+
+  <bb 28> :
+  # uxReturn_19 = PHI <uxReturn_17(20), uxReturn_58(27)>
+  # DEBUG uxReturn => uxReturn_19
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _59 = uxReturn_19;
+  return _59;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+  struct EventGroupDef_t * _8;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = pxEventBits_5;
+  return _8;
+
+}
+
+
+__attribute__((always_inline))
+vPortSetBASEPRI (uint32_t ulNewMaskValue)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_2(D) : "memory");
+  return;
+
+}
+
+
+__attribute__((always_inline))
+ulPortRaiseBASEPRI ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulOriginalBASEPRI;
+  uint32_t _5;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_3, "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_4
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_3
+  # DEBUG BEGIN_STMT
+  _5 = ulOriginalBASEPRI_3;
+  return _5;
+
+}
+
+
+__attribute__((always_inline))
+vPortRaiseBASEPRI ()
+{
+  uint32_t ulNewBASEPRI;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3
+  return;
+
+}
+
+

+ 1488 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.048i.remove_symbols

@@ -0,0 +1,1488 @@
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (118111600 (estimated locally),1.00 per call) vTaskRemoveFromUnorderedEventList/28 (401364694 (estimated locally),3.40 per call) xTaskResumeAll/23 (118111601 (estimated locally),1.00 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (1073741824 (estimated locally),1.00 per call) vPortExitCritical/26 (1073741824 (estimated locally),1.00 per call) 
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (401364694 (estimated locally),3.40 per call) 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111601 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111600 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/14 (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 1228 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.060i.targetclone

@@ -0,0 +1,1228 @@
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 1228 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.064i.free-fnsummary1

@@ -0,0 +1,1228 @@
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 1506 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.068i.whole-program

@@ -0,0 +1,1506 @@
+
+Marking local functions: xEventGroupSetBits.part.0 xEventGroupClearBits.part.0 prvTestWaitCondition
+
+
+Marking externally visible functions: vEventGroupSetNumber uxEventGroupGetNumber xEventGroupSetBitsFromISR vEventGroupClearBitsCallback vEventGroupSetBitsCallback vEventGroupDelete xEventGroupSetBits xEventGroupGetBitsFromISR xEventGroupClearBitsFromISR xEventGroupClearBits xEventGroupWaitBits xEventGroupSync xEventGroupCreate
+
+
+Marking externally visible variables:
+
+Clearing variable flags:
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (118111600 (estimated locally),1.00 per call) vTaskRemoveFromUnorderedEventList/28 (401364694 (estimated locally),3.40 per call) xTaskResumeAll/23 (118111601 (estimated locally),1.00 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (1073741824 (estimated locally),1.00 per call) vPortExitCritical/26 (1073741824 (estimated locally),1.00 per call) 
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (401364694 (estimated locally),3.40 per call) 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111601 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111600 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/14 (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 1237 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.069i.profile_estimate

@@ -0,0 +1,1237 @@
+Histogram:
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 1296 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.070i.icf

@@ -0,0 +1,1296 @@
+Parsed function:xEventGroupSetBits.part.0
+Parsed function:xEventGroupClearBits.part.0
+Parsed function:vEventGroupSetNumber
+Parsed function:uxEventGroupGetNumber
+Parsed function:xEventGroupSetBitsFromISR
+Parsed function:prvTestWaitCondition
+Parsed function:vEventGroupClearBitsCallback
+Parsed function:vEventGroupSetBitsCallback
+Parsed function:vEventGroupDelete
+Parsed function:xEventGroupSetBits
+Parsed function:xEventGroupGetBitsFromISR
+Parsed function:xEventGroupClearBitsFromISR
+Parsed function:xEventGroupClearBits
+Parsed function:xEventGroupWaitBits
+Parsed function:xEventGroupSync
+Parsed function:xEventGroupCreate
+Dump after hash based groups
+Congruence classes: 14 (unique hash values: 14), with total: 16 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 12 classes
+[2]: 2 classes
+
+
+Dump after WPA based types groups
+Congruence classes: 14 (unique hash values: 14), with total: 16 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 12 classes
+[2]: 2 classes
+
+
+Worklist has been filled with: 5
+Address reference subdivision created: 0 new classes.
+Dump after callgraph-based congruence reduction
+Congruence classes: 16 (unique hash values: 14), with total: 16 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 16 classes
+
+
+Init called for 0 items (0.00%).
+Dump after full equality comparison of groups
+Congruence classes: 16 (unique hash values: 14), with total: 16 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 16 classes
+
+
+Worklist has been filled with: 7
+Address reference subdivision created: 0 new classes.
+Congruence classes: 16 (unique hash values: 14), with total: 16 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 16 classes
+
+
+
+Item count: 16
+Congruent classes before: 16, after: 16
+Average class size before: 1.00, after: 1.00
+Average non-singular class size: 0.00, count: 0
+Equal symbols: 0
+Fraction of visited symbols: 0.00%
+
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 1492 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.071i.devirt

@@ -0,0 +1,1492 @@
+Symbol table:
+
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (118111600 (estimated locally),1.00 per call) vTaskRemoveFromUnorderedEventList/28 (401364694 (estimated locally),3.40 per call) xTaskResumeAll/23 (118111601 (estimated locally),1.00 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (1073741824 (estimated locally),1.00 per call) vPortExitCritical/26 (1073741824 (estimated locally),1.00 per call) 
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (401364694 (estimated locally),3.40 per call) 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111601 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111600 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/14 (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 1641 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.072i.cp

@@ -0,0 +1,1641 @@
+
+IPA constant propagation start:
+Determining dynamic type for call: xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  Starting walk at: xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  instance pointer: pvEventGroup_2(D)  Outer instance pointer: pvEventGroup_2(D) offset: 0 (bits) vtbl reference: 
+Determining dynamic type for call: xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  Starting walk at: xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  instance pointer: pvEventGroup_2(D)  Outer instance pointer: pvEventGroup_2(D) offset: 0 (bits) vtbl reference: 
+Determining dynamic type for call: _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  Starting walk at: _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  instance pointer: xEventGroup_3(D)  Outer instance pointer: xEventGroup_3(D) offset: 0 (bits) vtbl reference: 
+Determining dynamic type for call: _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  Starting walk at: _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  instance pointer: xEventGroup_3(D)  Outer instance pointer: xEventGroup_3(D) offset: 0 (bits) vtbl reference: 
+Determining dynamic type for call: xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  Starting walk at: xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  instance pointer: xEventGroup_23(D)  Outer instance pointer: xEventGroup_23(D) offset: 0 (bits) vtbl reference: 
+  Function call may change dynamic type:vTaskSuspendAll ();
+  Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
+
+IPA structures before propagation:
+
+Jump functions:
+  Jump functions of caller  xEventGroupSetBits.part.0/39:
+  Jump functions of caller  xEventGroupClearBits.part.0/36:
+  Jump functions of caller  vPortFree/29:
+  Jump functions of caller  vTaskRemoveFromUnorderedEventList/28:
+  Jump functions of caller  xTimerPendFunctionCallFromISR/27:
+  Jump functions of caller  vPortExitCritical/26:
+  Jump functions of caller  vPortEnterCritical/25:
+  Jump functions of caller  uxTaskResetEventItemValue/24:
+  Jump functions of caller  xTaskResumeAll/23:
+  Jump functions of caller  vTaskPlaceOnUnorderedEventList/22:
+  Jump functions of caller  vTaskSuspendAll/21:
+  Jump functions of caller  xTaskGetSchedulerState/20:
+  Jump functions of caller  vListInitialise/19:
+  Jump functions of caller  pvPortMalloc/18:
+  Jump functions of caller  vEventGroupSetNumber/17:
+  Jump functions of caller  uxEventGroupGetNumber/16:
+  Jump functions of caller  xEventGroupSetBitsFromISR/15:
+  Jump functions of caller  prvTestWaitCondition/14:
+  Jump functions of caller  vEventGroupClearBitsCallback/13:
+    callsite  vEventGroupClearBitsCallback/13 -> xEventGroupClearBits/7 : 
+       param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+       param 1: PASS THROUGH: 1, op nop_expr
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+  Jump functions of caller  vEventGroupSetBitsCallback/12:
+    callsite  vEventGroupSetBitsCallback/12 -> xEventGroupSetBits/10 : 
+       param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+       param 1: PASS THROUGH: 1, op nop_expr
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+  Jump functions of caller  vEventGroupDelete/11:
+  Jump functions of caller  xEventGroupSetBits/10:
+    callsite  xEventGroupSetBits/10 -> xEventGroupSetBits.part.0/39 : 
+       param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+       param 1: PASS THROUGH: 1, op nop_expr
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+  Jump functions of caller  xEventGroupGetBitsFromISR/9:
+  Jump functions of caller  xEventGroupClearBitsFromISR/8:
+  Jump functions of caller  xEventGroupClearBits/7:
+    callsite  xEventGroupClearBits/7 -> xEventGroupClearBits.part.0/36 : 
+       param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+       param 1: PASS THROUGH: 1, op nop_expr
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+  Jump functions of caller  xEventGroupWaitBits/6:
+    callsite  xEventGroupWaitBits/6 -> prvTestWaitCondition/14 : 
+       param 0: UNKNOWN
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+       param 1: PASS THROUGH: 1, op nop_expr
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+       param 2: PASS THROUGH: 3, op nop_expr
+         value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+         Unknown VR
+    callsite  xEventGroupWaitBits/6 -> prvTestWaitCondition/14 : 
+       param 0: UNKNOWN
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+       param 1: PASS THROUGH: 1, op nop_expr
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+       param 2: PASS THROUGH: 3, op nop_expr
+         value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+         Unknown VR
+  Jump functions of caller  xEventGroupSync/5:
+    callsite  xEventGroupSync/5 -> xEventGroupSetBits/10 : 
+       param 0: PASS THROUGH: 0, op nop_expr
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+       param 1: PASS THROUGH: 1, op nop_expr
+         value: 0x0, mask: 0xffffffff
+         Unknown VR
+  Jump functions of caller  xEventGroupCreate/4:
+
+ Propagating constants:
+
+Not considering vEventGroupSetNumber for cloning; -fipa-cp-clone disabled.
+Not considering uxEventGroupGetNumber for cloning; -fipa-cp-clone disabled.
+Not considering xEventGroupSetBitsFromISR for cloning; -fipa-cp-clone disabled.
+Not considering vEventGroupClearBitsCallback for cloning; -fipa-cp-clone disabled.
+Not considering vEventGroupSetBitsCallback for cloning; -fipa-cp-clone disabled.
+Not considering vEventGroupDelete for cloning; -fipa-cp-clone disabled.
+Not considering xEventGroupSetBits for cloning; -fipa-cp-clone disabled.
+Not considering xEventGroupGetBitsFromISR for cloning; -fipa-cp-clone disabled.
+Not considering xEventGroupClearBitsFromISR for cloning; -fipa-cp-clone disabled.
+Not considering xEventGroupClearBits for cloning; -fipa-cp-clone disabled.
+Not considering xEventGroupWaitBits for cloning; -fipa-cp-clone disabled.
+Not considering xEventGroupSync for cloning; -fipa-cp-clone disabled.
+Not considering xEventGroupCreate for cloning; -fipa-cp-clone disabled.
+
+overall_size: 359, max_new_size: 11001
+
+IPA lattices after all propagation:
+
+Lattices:
+  Node: xEventGroupSetBits.part.0/39:
+    param [0]: VARIABLE
+         ctxs: VARIABLE
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS VARIABLE
+    param [1]: VARIABLE
+         ctxs: VARIABLE
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS VARIABLE
+  Node: xEventGroupClearBits.part.0/36:
+    param [0]: VARIABLE
+         ctxs: VARIABLE
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS VARIABLE
+    param [1]: VARIABLE
+         ctxs: VARIABLE
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS VARIABLE
+  Node: vEventGroupSetNumber/17:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [1]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: uxEventGroupGetNumber/16:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: xEventGroupSetBitsFromISR/15:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [1]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [2]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: prvTestWaitCondition/14:
+    param [0]: VARIABLE
+         ctxs: VARIABLE
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS VARIABLE
+    param [1]: VARIABLE
+         ctxs: VARIABLE
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS VARIABLE
+    param [2]: VARIABLE
+         ctxs: VARIABLE
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS VARIABLE
+  Node: vEventGroupClearBitsCallback/13:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [1]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: vEventGroupSetBitsCallback/12:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [1]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: vEventGroupDelete/11:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: xEventGroupSetBits/10:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [1]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: xEventGroupGetBitsFromISR/9:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: xEventGroupClearBitsFromISR/8:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [1]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: xEventGroupClearBits/7:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [1]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: xEventGroupWaitBits/6:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [1]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [2]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [3]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [4]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: xEventGroupSync/5:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [1]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [2]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [3]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: xEventGroupCreate/4:
+
+IPA decision stage:
+
+
+IPA constant propagation end
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (118111600 (estimated locally),1.00 per call) vTaskRemoveFromUnorderedEventList/28 (401364694 (estimated locally),3.40 per call) xTaskResumeAll/23 (118111601 (estimated locally),1.00 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (1073741824 (estimated locally),1.00 per call) vPortExitCritical/26 (1073741824 (estimated locally),1.00 per call) 
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (401364694 (estimated locally),3.40 per call) 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111601 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111600 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/14 (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+
+;; Function xEventGroupCreate (xEventGroupCreate, funcdef_no=4, decl_uid=6271, cgraph_uid=5, symbol_order=4)
+
+Modification phase of node xEventGroupCreate/4
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+
+
+;; Function xEventGroupWaitBits (xEventGroupWaitBits, funcdef_no=6, decl_uid=6277, cgraph_uid=7, symbol_order=6)
+
+Modification phase of node xEventGroupWaitBits/6
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+
+;; Function xEventGroupClearBits (xEventGroupClearBits, funcdef_no=7, decl_uid=6280, cgraph_uid=8, symbol_order=7)
+
+Modification phase of node xEventGroupClearBits/7
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+
+;; Function vEventGroupClearBitsCallback (vEventGroupClearBitsCallback, funcdef_no=13, decl_uid=6305, cgraph_uid=14, symbol_order=13)
+
+Modification phase of node vEventGroupClearBitsCallback/13
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+
+;; Function xEventGroupClearBitsFromISR (xEventGroupClearBitsFromISR, funcdef_no=8, decl_uid=6283, cgraph_uid=9, symbol_order=8)
+
+Modification phase of node xEventGroupClearBitsFromISR/8
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+
+;; Function xEventGroupGetBitsFromISR (xEventGroupGetBitsFromISR, funcdef_no=9, decl_uid=6297, cgraph_uid=10, symbol_order=9)
+
+Modification phase of node xEventGroupGetBitsFromISR/9
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+
+;; Function xEventGroupSetBits (xEventGroupSetBits, funcdef_no=10, decl_uid=6286, cgraph_uid=11, symbol_order=10)
+
+Modification phase of node xEventGroupSetBits/10
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+
+;; Function xEventGroupSync (xEventGroupSync, funcdef_no=5, decl_uid=6295, cgraph_uid=6, symbol_order=5)
+
+Modification phase of node xEventGroupSync/5
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+
+;; Function vEventGroupSetBitsCallback (vEventGroupSetBitsCallback, funcdef_no=12, decl_uid=6302, cgraph_uid=13, symbol_order=12)
+
+Modification phase of node vEventGroupSetBitsCallback/12
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+
+;; Function vEventGroupDelete (vEventGroupDelete, funcdef_no=11, decl_uid=6299, cgraph_uid=12, symbol_order=11)
+
+Modification phase of node vEventGroupDelete/11
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+
+;; Function xEventGroupSetBitsFromISR (xEventGroupSetBitsFromISR, funcdef_no=15, decl_uid=6290, cgraph_uid=16, symbol_order=15)
+
+Modification phase of node xEventGroupSetBitsFromISR/15
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+
+;; Function uxEventGroupGetNumber (uxEventGroupGetNumber, funcdef_no=16, decl_uid=6307, cgraph_uid=17, symbol_order=16)
+
+Modification phase of node uxEventGroupGetNumber/16
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+
+;; Function vEventGroupSetNumber (vEventGroupSetNumber, funcdef_no=17, decl_uid=6310, cgraph_uid=18, symbol_order=17)
+
+Modification phase of node vEventGroupSetNumber/17
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+

+ 2164 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.075i.fnsummary

@@ -0,0 +1,2164 @@
+
+Analyzing function: xEventGroupSetBits.part.0/39
+;; 2 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 12 2 3 4 5 6 7 8 9 10 11
+;;
+;; Loop 1
+;;  header 10, latch 9
+;;  depth 1, outer 0
+;;  nodes: 10 9 4 5 8 6 7 3
+;; 12 succs { 2 }
+;; 2 succs { 10 }
+;; 3 succs { 4 5 }
+;; 4 succs { 6 9 }
+;; 5 succs { 6 9 }
+;; 6 succs { 7 8 }
+;; 7 succs { 8 }
+;; 8 succs { 9 }
+;; 9 succs { 10 }
+;; 10 succs { 3 11 }
+;; 11 succs { 1 }
+
+Analyzing function body size: xEventGroupSetBits.part.0
+
+IPA function summary for xEventGroupSetBits.part.0/39 inlinable
+  global time:     189.559092
+  self size:       39
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:26.500000, time:118.036364
+    size:7.500000, time:10.744546,  executed if:(not inlined)
+  calls:
+    vTaskSuspendAll/21 function body not available
+      loop depth: 0 freq:1.00 size: 1 time: 10
+    vTaskRemoveFromUnorderedEventList/28 function body not available
+      loop depth: 1 freq:3.40 size: 3 time: 12
+    xTaskResumeAll/23 function body not available
+      loop depth: 0 freq:1.00 size: 1 time: 10
+
+
+Analyzing function: xEventGroupClearBits.part.0/36
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 3 2
+;; 3 succs { 2 }
+;; 2 succs { 1 }
+
+Analyzing function body size: xEventGroupClearBits.part.0
+
+IPA function summary for xEventGroupClearBits.part.0/36 inlinable
+  global time:     26.000000
+  self size:       9
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:2.000000, time:2.000000
+    size:4.000000, time:3.000000,  executed if:(not inlined)
+    size:1.000000, time:1.000000,  nonconst if:(op1 changed)
+  calls:
+    vPortEnterCritical/25 function body not available
+      loop depth: 0 freq:1.00 size: 1 time: 10
+    vPortExitCritical/26 function body not available
+      loop depth: 0 freq:1.00 size: 1 time: 10
+
+
+Analyzing function: vEventGroupSetNumber/17
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: vEventGroupSetNumber
+
+IPA function summary for vEventGroupSetNumber/17 inlinable
+  global time:     3.000000
+  self size:       4
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.500000, time:0.500000
+    size:3.500000, time:2.500000,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: uxEventGroupGetNumber/16
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4
+;; 2 succs { 4 3 }
+;; 3 succs { 4 }
+;; 4 succs { 1 }
+
+Analyzing function body size: uxEventGroupGetNumber
+
+IPA function summary for uxEventGroupGetNumber/16 inlinable
+  global time:     4.700000
+  self size:       6
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:0.500000, time:0.350000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) && (not inlined)
+    size:0.500000, time:0.350000,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B)
+  calls:
+
+
+Analyzing function: xEventGroupSetBitsFromISR/15
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: xEventGroupSetBitsFromISR
+
+IPA function summary for xEventGroupSetBitsFromISR/15 inlinable
+  global time:     17.000000
+  self size:       9
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xTimerPendFunctionCallFromISR/27 function body not available
+      loop depth: 0 freq:1.00 size: 6 time: 15
+       op0 is compile time invariant
+
+
+Analyzing function: prvTestWaitCondition/14
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 5 6 7
+;; 2 succs { 3 5 }
+;; 3 succs { 4 7 }
+;; 4 succs { 7 }
+;; 5 succs { 6 7 }
+;; 6 succs { 7 }
+;; 7 succs { 1 }
+
+Analyzing function body size: prvTestWaitCondition
+
+IPA function summary for prvTestWaitCondition/14 inlinable
+  global time:     7.000000
+  self size:       11
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op2 changed)
+    size:3.000000, time:1.500000,  executed if:(op2 != 0),  nonconst if:(op0 changed || op1 changed) && (op2 != 0)
+    size:3.000000, time:1.500000,  executed if:(op2 == 0),  nonconst if:(op0 changed || op1 changed) && (op2 == 0)
+  calls:
+
+
+Analyzing function: vEventGroupClearBitsCallback/13
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: vEventGroupClearBitsCallback
+
+IPA function summary for vEventGroupClearBitsCallback/13 inlinable
+  global time:     14.000000
+  self size:       6
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xEventGroupClearBits/7 function not considered for inlining
+      loop depth: 0 freq:1.00 size: 3 time: 12
+
+
+Analyzing function: vEventGroupSetBitsCallback/12
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: vEventGroupSetBitsCallback
+
+IPA function summary for vEventGroupSetBitsCallback/12 inlinable
+  global time:     14.000000
+  self size:       6
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xEventGroupSetBits/10 function not considered for inlining
+      loop depth: 0 freq:1.00 size: 3 time: 12
+
+
+Analyzing function: vEventGroupDelete/11
+;; 4 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 12 5 6 7 8 13 9 10 11
+;;
+;; Loop 3
+;;  header 4, latch 12
+;;  depth 1, outer 0
+;;  nodes: 4 12
+;;
+;; Loop 2
+;;  header 8, latch 13
+;;  depth 1, outer 0
+;;  nodes: 8 13
+;;
+;; Loop 1
+;;  header 10, latch 9
+;;  depth 1, outer 0
+;;  nodes: 10 9 6
+;; 2 succs { 3 5 }
+;; 3 succs { 4 }
+;; 4 succs { 12 }
+;; 12 succs { 4 }
+;; 5 succs { 10 }
+;; 6 succs { 7 9 }
+;; 7 succs { 8 }
+;; 8 succs { 13 }
+;; 13 succs { 8 }
+;; 9 succs { 10 }
+;; 10 succs { 6 11 }
+;; 11 succs { 1 }
+
+Analyzing function body size: vEventGroupDelete
+
+IPA function summary for vEventGroupDelete/11 inlinable
+  global time:     100.024761
+  self size:       28
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:2.000000, time:5.410727,  executed if:(op0 != 0B) && (not inlined)
+    size:10.000000, time:25.603487,  executed if:(op0 != 0B)
+    size:5.000000, time:2.326499,  executed if:(op0 == 0B)
+  calls:
+    xTaskResumeAll/23 function body not available
+      loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 != 0B)
+    vPortFree/29 function body not available
+      loop depth: 0 freq:0.27 size: 2 time: 11 predicate: (op0 != 0B)
+    vTaskRemoveFromUnorderedEventList/28 function body not available
+      loop depth: 1 freq:4.46 size: 3 time: 12 predicate: (op0 != 0B)
+       op1 is compile time invariant
+    vTaskSuspendAll/21 function body not available
+      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
+
+
+Analyzing function: xEventGroupSetBits/10
+;; 4 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 9 5 6 7 10 8
+;;
+;; Loop 3
+;;  header 4, latch 9
+;;  depth 1, outer 0
+;;  nodes: 4 9
+;;
+;; Loop 2
+;;  header 7, latch 10
+;;  depth 1, outer 0
+;;  nodes: 7 10
+;; 2 succs { 3 5 }
+;; 3 succs { 4 }
+;; 4 succs { 9 }
+;; 9 succs { 4 }
+;; 5 succs { 6 8 }
+;; 6 succs { 7 }
+;; 7 succs { 10 }
+;; 10 succs { 7 }
+;; 8 succs { 1 }
+
+Analyzing function body size: xEventGroupSetBits
+
+IPA function summary for xEventGroupSetBits/10 inlinable
+  global time:     11.410047
+  self size:       22
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:3.000000, time:2.100008,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
+    size:1.000000, time:0.462003,  executed if:(op0 != 0B) && (not inlined)
+    size:5.000000, time:2.345004,  executed if:(op0 != 0B)
+    size:5.000000, time:1.500009,  executed if:(op0 == 0B)
+  calls:
+    xEventGroupSetBits.part.0/39 function not considered for inlining
+      loop depth: 0 freq:0.23 size: 4 time: 13callee size:19 stack: 0 predicate: (op0 != 0B)
+
+
+Analyzing function: xEventGroupGetBitsFromISR/9
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: xEventGroupGetBitsFromISR
+
+IPA function summary for xEventGroupGetBitsFromISR/9 inlinable
+  global time:     10.000000
+  self size:       11
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:7.500000, time:7.500000
+    size:3.500000, time:2.500000,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: xEventGroupClearBitsFromISR/8
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: xEventGroupClearBitsFromISR
+
+IPA function summary for xEventGroupClearBitsFromISR/8 inlinable
+  global time:     17.000000
+  self size:       9
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xTimerPendFunctionCallFromISR/27 function body not available
+      loop depth: 0 freq:1.00 size: 6 time: 15
+       op0 is compile time invariant
+       op3 is compile time invariant
+
+
+Analyzing function: xEventGroupClearBits/7
+;; 3 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 9 5 6 7 10 8
+;;
+;; Loop 2
+;;  header 4, latch 9
+;;  depth 1, outer 0
+;;  nodes: 4 9
+;;
+;; Loop 1
+;;  header 7, latch 10
+;;  depth 1, outer 0
+;;  nodes: 7 10
+;; 2 succs { 3 5 }
+;; 3 succs { 4 }
+;; 4 succs { 9 }
+;; 9 succs { 4 }
+;; 5 succs { 6 8 }
+;; 6 succs { 7 }
+;; 7 succs { 10 }
+;; 10 succs { 7 }
+;; 8 succs { 1 }
+
+Analyzing function body size: xEventGroupClearBits
+
+IPA function summary for xEventGroupClearBits/7 inlinable
+  global time:     11.410047
+  self size:       22
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:3.000000, time:2.100008,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
+    size:1.000000, time:0.462003,  executed if:(op0 != 0B) && (not inlined)
+    size:5.000000, time:2.345004,  executed if:(op0 != 0B)
+    size:5.000000, time:1.500009,  executed if:(op0 == 0B)
+  calls:
+    xEventGroupClearBits.part.0/36 function not considered for inlining
+      loop depth: 0 freq:0.23 size: 4 time: 13callee size: 4 stack: 0 predicate: (op0 != 0B)
+
+
+Analyzing function: xEventGroupWaitBits/6
+;; 5 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 34 5 6 7 35 8 9 10 36 11 12 13 14 37 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
+;;
+;; Loop 4
+;;  header 4, latch 34
+;;  depth 1, outer 0
+;;  nodes: 4 34
+;;
+;; Loop 3
+;;  header 7, latch 35
+;;  depth 1, outer 0
+;;  nodes: 7 35
+;;
+;; Loop 2
+;;  header 10, latch 36
+;;  depth 1, outer 0
+;;  nodes: 10 36
+;;
+;; Loop 1
+;;  header 14, latch 37
+;;  depth 1, outer 0
+;;  nodes: 14 37
+;; 2 succs { 3 5 }
+;; 3 succs { 4 }
+;; 4 succs { 34 }
+;; 34 succs { 4 }
+;; 5 succs { 6 8 }
+;; 6 succs { 7 }
+;; 7 succs { 35 }
+;; 35 succs { 7 }
+;; 8 succs { 9 11 }
+;; 9 succs { 10 }
+;; 10 succs { 36 }
+;; 36 succs { 10 }
+;; 11 succs { 15 12 }
+;; 12 succs { 15 13 }
+;; 13 succs { 14 }
+;; 14 succs { 37 }
+;; 37 succs { 14 }
+;; 15 succs { 16 18 }
+;; 16 succs { 17 24 }
+;; 17 succs { 24 }
+;; 18 succs { 24 19 }
+;; 19 succs { 20 21 }
+;; 20 succs { 21 }
+;; 21 succs { 22 23 }
+;; 22 succs { 23 }
+;; 23 succs { 24 }
+;; 24 succs { 25 33 }
+;; 25 succs { 26 27 }
+;; 26 succs { 27 }
+;; 27 succs { 28 32 }
+;; 28 succs { 29 31 }
+;; 29 succs { 30 31 }
+;; 30 succs { 31 }
+;; 31 succs { 32 }
+;; 32 succs { 33 }
+;; 33 succs { 1 }
+
+Analyzing function body size: xEventGroupWaitBits
+
+IPA function summary for xEventGroupWaitBits/6 inlinable
+  global time:     16.066158
+  self size:       92
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:5.000000, time:2.799999,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
+    size:18.000000, time:0.896349,  executed if:(op1 != 0) && (op0 != 0B)
+    size:4.000000, time:0.231577,  executed if:(op1 != 0) && (op0 != 0B),  nonconst if:(op4 changed) && (op1 != 0) && (op0 != 0B)
+    size:5.000000, time:0.193459,  executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:2.000000, time:0.198354,  executed if:(op1 != 0) && (op0 != 0B) && (not inlined)
+    size:2.000000, time:0.038405,  executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op2 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:2.000000, time:0.038405,  executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op3 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:1.000000, time:0.009600,  executed if:(op3 != 0) && (op4 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op2 changed) && (op3 != 0) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:1.000000, time:0.019202,  executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op1 changed || op2 changed || op3 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:4.000000, time:0.089483,  executed if:(op1 != 0) && (op0 != 0B),  nonconst if:(op2 changed) && (op1 != 0) && (op0 != 0B)
+    size:2.000000, time:0.022371,  executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op1 changed) && (op2 != 0) && (op1 != 0) && (op0 != 0B)
+    size:3.000000, time:0.033556,  executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B)
+    size:1.000000, time:0.011185,  executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B) && (not inlined)
+    size:5.000000, time:1.172506,  executed if:(op1 == 0) && (op0 != 0B)
+    size:5.000000, time:1.749999,  executed if:(op0 != 0B)
+    size:5.000000, time:1.500002,  executed if:(op0 == 0B)
+  calls:
+    vPortExitCritical/26 function body not available
+      loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
+    prvTestWaitCondition/14 function not considered for inlining
+      loop depth: 0 freq:0.01 size: 5 time: 14callee size: 5 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
+    vPortEnterCritical/25 function body not available
+      loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
+    uxTaskResetEventItemValue/24 function body not available
+      loop depth: 0 freq:0.04 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
+    xTaskResumeAll/23 function body not available
+      loop depth: 0 freq:0.08 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
+    vTaskPlaceOnUnorderedEventList/22 function body not available
+      loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    prvTestWaitCondition/14 function not considered for inlining
+      loop depth: 0 freq:0.08 size: 5 time: 14callee size: 5 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
+    vTaskSuspendAll/21 function body not available
+      loop depth: 0 freq:0.08 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
+    xTaskGetSchedulerState/20 function body not available
+      loop depth: 0 freq:0.12 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
+
+
+Analyzing function: xEventGroupSync/5
+;; 4 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 26 5 6 7 27 8 9 10 11 28 12 13 14 15 16 17 18 19 20 21 22 23 24 25
+;;
+;; Loop 3
+;;  header 4, latch 26
+;;  depth 1, outer 0
+;;  nodes: 4 26
+;;
+;; Loop 2
+;;  header 7, latch 27
+;;  depth 1, outer 0
+;;  nodes: 7 27
+;;
+;; Loop 1
+;;  header 11, latch 28
+;;  depth 1, outer 0
+;;  nodes: 11 28
+;; 2 succs { 3 5 }
+;; 3 succs { 4 }
+;; 4 succs { 26 }
+;; 26 succs { 4 }
+;; 5 succs { 6 8 }
+;; 6 succs { 7 }
+;; 7 succs { 27 }
+;; 27 succs { 7 }
+;; 8 succs { 12 9 }
+;; 9 succs { 12 10 }
+;; 10 succs { 11 }
+;; 11 succs { 28 }
+;; 28 succs { 11 }
+;; 12 succs { 13 14 }
+;; 13 succs { 17 }
+;; 14 succs { 15 16 }
+;; 15 succs { 17 }
+;; 16 succs { 17 }
+;; 17 succs { 18 25 }
+;; 18 succs { 19 20 }
+;; 19 succs { 20 }
+;; 20 succs { 21 24 }
+;; 21 succs { 22 23 }
+;; 22 succs { 23 }
+;; 23 succs { 24 }
+;; 24 succs { 25 }
+;; 25 succs { 1 }
+
+Analyzing function body size: xEventGroupSync
+
+IPA function summary for xEventGroupSync/5 inlinable
+  global time:     17.570981
+  self size:       74
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:5.000000, time:2.500000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:5.000000, time:4.000000,  nonconst if:(op2 changed)
+    size:24.500000, time:1.601894,  executed if:(op2 != 0)
+    size:4.000000, time:0.365936,  executed if:(op2 != 0),  nonconst if:(op3 changed) && (op2 != 0)
+    size:5.000000, time:0.276370,  executed if:(op3 != 0) && (op2 != 0)
+    size:3.500000, time:0.323745,  executed if:(op2 != 0) && (not inlined)
+    size:0.500000, time:0.024261,  executed if:(op3 == 0) && (op2 != 0) && (not inlined)
+    size:0.500000, time:0.024261,  executed if:(op3 == 0) && (op2 != 0)
+    size:1.000000, time:0.023898,  executed if:(op3 != 0) && (op2 != 0),  nonconst if:(op2 changed) && (op3 != 0) && (op2 != 0)
+    size:2.000000, time:0.043460,  executed if:(op2 != 0),  nonconst if:(op2 changed) && (op2 != 0)
+    size:5.000000, time:1.675010,  executed if:(op2 == 0)
+  calls:
+    vPortExitCritical/26 function body not available
+      loop depth: 0 freq:0.02 size: 1 time: 10 predicate: (op2 != 0)
+    vPortEnterCritical/25 function body not available
+      loop depth: 0 freq:0.02 size: 1 time: 10 predicate: (op2 != 0)
+    uxTaskResetEventItemValue/24 function body not available
+      loop depth: 0 freq:0.05 size: 2 time: 11 predicate: (op2 != 0)
+    xTaskResumeAll/23 function body not available
+      loop depth: 0 freq:0.11 size: 2 time: 11 predicate: (op2 != 0)
+    vTaskPlaceOnUnorderedEventList/22 function body not available
+      loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op3 != 0) && (op2 != 0)
+    xEventGroupSetBits/10 function not considered for inlining
+      loop depth: 0 freq:0.11 size: 3 time: 12callee size:11 stack: 0 predicate: (op2 != 0)
+    vTaskSuspendAll/21 function body not available
+      loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op2 != 0)
+    xTaskGetSchedulerState/20 function body not available
+      loop depth: 0 freq:0.16 size: 2 time: 11 predicate: (op2 != 0)
+
+
+Analyzing function: xEventGroupCreate/4
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4
+;; 2 succs { 3 4 }
+;; 3 succs { 4 }
+;; 4 succs { 1 }
+
+Analyzing function body size: xEventGroupCreate
+
+IPA function summary for xEventGroupCreate/4 inlinable
+  global time:     22.416400
+  self size:       11
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:3.000000, time:2.534700
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    vListInitialise/19 function body not available
+      loop depth: 0 freq:0.53 size: 2 time: 11
+    pvPortMalloc/18 function body not available
+      loop depth: 0 freq:1.00 size: 3 time: 12
+       op0 is compile time invariant
+
+Symbol table:
+
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (118111600 (estimated locally),1.00 per call) vTaskRemoveFromUnorderedEventList/28 (401364694 (estimated locally),3.40 per call) xTaskResumeAll/23 (118111601 (estimated locally),1.00 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (1073741824 (estimated locally),1.00 per call) vPortExitCritical/26 (1073741824 (estimated locally),1.00 per call) 
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (401364694 (estimated locally),3.40 per call) 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111601 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111600 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/14 (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 2366 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.076i.inline

@@ -0,0 +1,2366 @@
+IPA function summary for xEventGroupSetBits.part.0/39 inlinable
+  global time:     189.559092
+  self size:       39
+  global size:     39
+  min size:       10
+  self stack:      0
+  global stack:    0
+    size:26.500000, time:118.036364
+    size:7.500000, time:10.744546,  executed if:(not inlined)
+  calls:
+    vTaskSuspendAll/21 function body not available
+      loop depth: 0 freq:1.00 size: 1 time: 10
+    vTaskRemoveFromUnorderedEventList/28 function body not available
+      loop depth: 1 freq:3.40 size: 3 time: 12
+    xTaskResumeAll/23 function body not available
+      loop depth: 0 freq:1.00 size: 1 time: 10
+
+IPA function summary for xEventGroupClearBits.part.0/36 inlinable
+  global time:     26.000000
+  self size:       9
+  global size:     9
+  min size:       4
+  self stack:      0
+  global stack:    0
+    size:2.000000, time:2.000000
+    size:4.000000, time:3.000000,  executed if:(not inlined)
+    size:1.000000, time:1.000000,  nonconst if:(op1 changed)
+  calls:
+    vPortEnterCritical/25 function body not available
+      loop depth: 0 freq:1.00 size: 1 time: 10
+    vPortExitCritical/26 function body not available
+      loop depth: 0 freq:1.00 size: 1 time: 10
+
+IPA function summary for vEventGroupSetNumber/17 inlinable
+  global time:     3.000000
+  self size:       4
+  global size:     4
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.500000, time:0.500000
+    size:3.500000, time:2.500000,  executed if:(not inlined)
+  calls:
+
+IPA function summary for uxEventGroupGetNumber/16 inlinable
+  global time:     4.700000
+  self size:       6
+  global size:     6
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:0.500000, time:0.350000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) && (not inlined)
+    size:0.500000, time:0.350000,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B)
+  calls:
+
+IPA function summary for xEventGroupSetBitsFromISR/15 inlinable
+  global time:     17.000000
+  self size:       9
+  global size:     9
+  min size:       12
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xTimerPendFunctionCallFromISR/27 function body not available
+      loop depth: 0 freq:1.00 size: 6 time: 15
+       op0 is compile time invariant
+
+IPA function summary for prvTestWaitCondition/14 inlinable
+  global time:     7.000000
+  self size:       11
+  global size:     11
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op2 changed)
+    size:3.000000, time:1.500000,  executed if:(op2 != 0),  nonconst if:(op0 changed || op1 changed) && (op2 != 0)
+    size:3.000000, time:1.500000,  executed if:(op2 == 0),  nonconst if:(op0 changed || op1 changed) && (op2 == 0)
+  calls:
+
+IPA function summary for vEventGroupClearBitsCallback/13 inlinable
+  global time:     14.000000
+  self size:       6
+  global size:     6
+  min size:       6
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xEventGroupClearBits/7 function not considered for inlining
+      loop depth: 0 freq:1.00 size: 3 time: 12callee size:11 stack: 0
+
+IPA function summary for vEventGroupSetBitsCallback/12 inlinable
+  global time:     14.000000
+  self size:       6
+  global size:     6
+  min size:       6
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xEventGroupSetBits/10 function not considered for inlining
+      loop depth: 0 freq:1.00 size: 3 time: 12callee size:11 stack: 0
+
+IPA function summary for vEventGroupDelete/11 inlinable
+  global time:     100.024761
+  self size:       28
+  global size:     28
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:2.000000, time:5.410727,  executed if:(op0 != 0B) && (not inlined)
+    size:10.000000, time:25.603487,  executed if:(op0 != 0B)
+    size:5.000000, time:2.326499,  executed if:(op0 == 0B)
+  calls:
+    xTaskResumeAll/23 function body not available
+      loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 != 0B)
+    vPortFree/29 function body not available
+      loop depth: 0 freq:0.27 size: 2 time: 11 predicate: (op0 != 0B)
+    vTaskRemoveFromUnorderedEventList/28 function body not available
+      loop depth: 1 freq:4.46 size: 3 time: 12 predicate: (op0 != 0B)
+       op1 is compile time invariant
+    vTaskSuspendAll/21 function body not available
+      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
+
+IPA function summary for xEventGroupSetBits/10 inlinable
+  global time:     11.410047
+  self size:       22
+  global size:     22
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:3.000000, time:2.100008,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
+    size:1.000000, time:0.462003,  executed if:(op0 != 0B) && (not inlined)
+    size:5.000000, time:2.345004,  executed if:(op0 != 0B)
+    size:5.000000, time:1.500009,  executed if:(op0 == 0B)
+  calls:
+    xEventGroupSetBits.part.0/39 function not considered for inlining
+      loop depth: 0 freq:0.23 size: 4 time: 13callee size:19 stack: 0 predicate: (op0 != 0B)
+
+IPA function summary for xEventGroupGetBitsFromISR/9 inlinable
+  global time:     10.000000
+  self size:       11
+  global size:     11
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:7.500000, time:7.500000
+    size:3.500000, time:2.500000,  executed if:(not inlined)
+  calls:
+
+IPA function summary for xEventGroupClearBitsFromISR/8 inlinable
+  global time:     17.000000
+  self size:       9
+  global size:     9
+  min size:       12
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xTimerPendFunctionCallFromISR/27 function body not available
+      loop depth: 0 freq:1.00 size: 6 time: 15
+       op0 is compile time invariant
+       op3 is compile time invariant
+
+IPA function summary for xEventGroupClearBits/7 inlinable
+  global time:     11.410047
+  self size:       22
+  global size:     22
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:3.000000, time:2.100008,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
+    size:1.000000, time:0.462003,  executed if:(op0 != 0B) && (not inlined)
+    size:5.000000, time:2.345004,  executed if:(op0 != 0B)
+    size:5.000000, time:1.500009,  executed if:(op0 == 0B)
+  calls:
+    xEventGroupClearBits.part.0/36 function not considered for inlining
+      loop depth: 0 freq:0.23 size: 4 time: 13callee size: 4 stack: 0 predicate: (op0 != 0B)
+
+IPA function summary for xEventGroupWaitBits/6 inlinable
+  global time:     16.066158
+  self size:       92
+  global size:     92
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:5.000000, time:2.799999,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
+    size:18.000000, time:0.896349,  executed if:(op1 != 0) && (op0 != 0B)
+    size:4.000000, time:0.231577,  executed if:(op1 != 0) && (op0 != 0B),  nonconst if:(op4 changed) && (op1 != 0) && (op0 != 0B)
+    size:5.000000, time:0.193459,  executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:2.000000, time:0.198354,  executed if:(op1 != 0) && (op0 != 0B) && (not inlined)
+    size:2.000000, time:0.038405,  executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op2 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:2.000000, time:0.038405,  executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op3 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:1.000000, time:0.009600,  executed if:(op3 != 0) && (op4 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op2 changed) && (op3 != 0) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:1.000000, time:0.019202,  executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op1 changed || op2 changed || op3 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:4.000000, time:0.089483,  executed if:(op1 != 0) && (op0 != 0B),  nonconst if:(op2 changed) && (op1 != 0) && (op0 != 0B)
+    size:2.000000, time:0.022371,  executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op1 changed) && (op2 != 0) && (op1 != 0) && (op0 != 0B)
+    size:3.000000, time:0.033556,  executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B)
+    size:1.000000, time:0.011185,  executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B) && (not inlined)
+    size:5.000000, time:1.172506,  executed if:(op1 == 0) && (op0 != 0B)
+    size:5.000000, time:1.749999,  executed if:(op0 != 0B)
+    size:5.000000, time:1.500002,  executed if:(op0 == 0B)
+  calls:
+    vPortExitCritical/26 function body not available
+      loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
+    prvTestWaitCondition/14 function not considered for inlining
+      loop depth: 0 freq:0.01 size: 5 time: 14callee size: 5 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
+    vPortEnterCritical/25 function body not available
+      loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
+    uxTaskResetEventItemValue/24 function body not available
+      loop depth: 0 freq:0.04 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
+    xTaskResumeAll/23 function body not available
+      loop depth: 0 freq:0.08 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
+    vTaskPlaceOnUnorderedEventList/22 function body not available
+      loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    prvTestWaitCondition/14 function not considered for inlining
+      loop depth: 0 freq:0.08 size: 5 time: 14callee size: 5 stack: 0 predicate: (op1 != 0) && (op0 != 0B)
+    vTaskSuspendAll/21 function body not available
+      loop depth: 0 freq:0.08 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
+    xTaskGetSchedulerState/20 function body not available
+      loop depth: 0 freq:0.12 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
+
+IPA function summary for xEventGroupSync/5 inlinable
+  global time:     17.570981
+  self size:       74
+  global size:     74
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:5.000000, time:2.500000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:5.000000, time:4.000000,  nonconst if:(op2 changed)
+    size:24.500000, time:1.601894,  executed if:(op2 != 0)
+    size:4.000000, time:0.365936,  executed if:(op2 != 0),  nonconst if:(op3 changed) && (op2 != 0)
+    size:5.000000, time:0.276370,  executed if:(op3 != 0) && (op2 != 0)
+    size:3.500000, time:0.323745,  executed if:(op2 != 0) && (not inlined)
+    size:0.500000, time:0.024261,  executed if:(op3 == 0) && (op2 != 0) && (not inlined)
+    size:0.500000, time:0.024261,  executed if:(op3 == 0) && (op2 != 0)
+    size:1.000000, time:0.023898,  executed if:(op3 != 0) && (op2 != 0),  nonconst if:(op2 changed) && (op3 != 0) && (op2 != 0)
+    size:2.000000, time:0.043460,  executed if:(op2 != 0),  nonconst if:(op2 changed) && (op2 != 0)
+    size:5.000000, time:1.675010,  executed if:(op2 == 0)
+  calls:
+    vPortExitCritical/26 function body not available
+      loop depth: 0 freq:0.02 size: 1 time: 10 predicate: (op2 != 0)
+    vPortEnterCritical/25 function body not available
+      loop depth: 0 freq:0.02 size: 1 time: 10 predicate: (op2 != 0)
+    uxTaskResetEventItemValue/24 function body not available
+      loop depth: 0 freq:0.05 size: 2 time: 11 predicate: (op2 != 0)
+    xTaskResumeAll/23 function body not available
+      loop depth: 0 freq:0.11 size: 2 time: 11 predicate: (op2 != 0)
+    vTaskPlaceOnUnorderedEventList/22 function body not available
+      loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op3 != 0) && (op2 != 0)
+    xEventGroupSetBits/10 function not considered for inlining
+      loop depth: 0 freq:0.11 size: 3 time: 12callee size:11 stack: 0 predicate: (op2 != 0)
+    vTaskSuspendAll/21 function body not available
+      loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op2 != 0)
+    xTaskGetSchedulerState/20 function body not available
+      loop depth: 0 freq:0.16 size: 2 time: 11 predicate: (op2 != 0)
+
+IPA function summary for xEventGroupCreate/4 inlinable
+  global time:     22.416400
+  self size:       11
+  global size:     11
+  min size:       10
+  self stack:      0
+  global stack:    0
+    size:3.000000, time:2.534700
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    vListInitialise/19 function body not available
+      loop depth: 0 freq:0.53 size: 2 time: 11
+    pvPortMalloc/18 function body not available
+      loop depth: 0 freq:1.00 size: 3 time: 12
+       op0 is compile time invariant
+
+
+Flattening functions:
+Overall time estimate: 481.157486 weighted by profile: 0.000000
+
+Deciding on inlining of small functions.  Starting with size 0.
+Enqueueing calls in xEventGroupSetBits.part.0/39.
+Enqueueing calls in xEventGroupClearBits.part.0/36.
+Enqueueing calls in vEventGroupSetNumber/17.
+Enqueueing calls in uxEventGroupGetNumber/16.
+Enqueueing calls in xEventGroupSetBitsFromISR/15.
+Enqueueing calls in prvTestWaitCondition/14.
+Enqueueing calls in vEventGroupClearBitsCallback/13.
+Enqueueing calls in vEventGroupSetBitsCallback/12.
+Enqueueing calls in vEventGroupDelete/11.
+Enqueueing calls in xEventGroupSetBits/10.
+Enqueueing calls in xEventGroupGetBitsFromISR/9.
+Enqueueing calls in xEventGroupClearBitsFromISR/8.
+Enqueueing calls in xEventGroupClearBits/7.
+Enqueueing calls in xEventGroupWaitBits/6.
+Enqueueing calls in xEventGroupSync/5.
+Enqueueing calls in xEventGroupCreate/4.
+
+Considering xEventGroupClearBits.part.0/36 with 9 size
+ to be inlined into xEventGroupClearBits/7 in unknown:0
+ Estimated badness is -0.642787, frequency 0.23.
+
+Considering prvTestWaitCondition/14 with 11 size
+ to be inlined into xEventGroupWaitBits/6 in ../FreeRTOS/Source/event_groups.c:344
+ Estimated badness is -0.017248, frequency 0.08.
+
+Considering prvTestWaitCondition/14 with 11 size
+ to be inlined into xEventGroupWaitBits/6 in ../FreeRTOS/Source/event_groups.c:435
+ Estimated badness is -0.002846, frequency 0.01.
+
+Considering xEventGroupSetBits.part.0/39 with 39 size
+ to be inlined into xEventGroupSetBits/10 in unknown:0
+ Estimated badness is -0.000015, frequency 0.23.
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+
+Deciding on functions to be inlined into all callers and removing useless speculations:
+Overall time estimate: 298.406526 weighted by profile: 0.000000
+
+Why inlining failed?
+function body not available                       :       27 calls, 11.643358 freq, 0 count
+--param max-inline-insns-auto limit reached       :        1 calls, 0.109724 freq, 0 count
+call is unlikely and code size would grow         :        2 calls, 2.000000 freq, 0 count
+IPA function summary for vEventGroupSetNumber/17 inlinable
+  global time:     3.000000
+  self size:       4
+  global size:     4
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.500000, time:0.500000
+    size:3.500000, time:2.500000,  executed if:(not inlined)
+  calls:
+
+IPA function summary for uxEventGroupGetNumber/16 inlinable
+  global time:     4.700000
+  self size:       6
+  global size:     6
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:0.500000, time:0.350000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) && (not inlined)
+    size:0.500000, time:0.350000,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B)
+  calls:
+
+IPA function summary for xEventGroupSetBitsFromISR/15 inlinable
+  global time:     17.000000
+  self size:       9
+  global size:     9
+  min size:       12
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xTimerPendFunctionCallFromISR/27 function body not available
+      loop depth: 0 freq:1.00 size: 6 time: 15
+       op0 is compile time invariant
+
+IPA function summary for vEventGroupClearBitsCallback/13 inlinable
+  global time:     14.000000
+  self size:       6
+  global size:     6
+  min size:       6
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xEventGroupClearBits/7 call is unlikely and code size would grow
+      loop depth: 0 freq:1.00 size: 3 time: 12callee size:11 stack: 0
+
+IPA function summary for vEventGroupSetBitsCallback/12 inlinable
+  global time:     14.000000
+  self size:       6
+  global size:     6
+  min size:       6
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xEventGroupSetBits/10 call is unlikely and code size would grow
+      loop depth: 0 freq:1.00 size: 3 time: 12callee size:25 stack: 0
+
+IPA function summary for vEventGroupDelete/11 inlinable
+  global time:     100.024761
+  self size:       28
+  global size:     28
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:2.000000, time:5.410727,  executed if:(op0 != 0B) && (not inlined)
+    size:10.000000, time:25.603487,  executed if:(op0 != 0B)
+    size:5.000000, time:2.326499,  executed if:(op0 == 0B)
+  calls:
+    xTaskResumeAll/23 function body not available
+      loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 != 0B)
+    vPortFree/29 function body not available
+      loop depth: 0 freq:0.27 size: 2 time: 11 predicate: (op0 != 0B)
+    vTaskRemoveFromUnorderedEventList/28 function body not available
+      loop depth: 1 freq:4.46 size: 3 time: 12 predicate: (op0 != 0B)
+       op1 is compile time invariant
+    vTaskSuspendAll/21 function body not available
+      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
+
+IPA function summary for xEventGroupSetBits/10 inlinable
+  global time:     49.713483
+  self size:       22
+  global size:     50
+  min size:       0
+  self stack:      0
+  global stack:    0
+  estimated growth:32
+    size:0.000000, time:0.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:3.000000, time:2.100008,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
+    size:1.000000, time:0.462003,  executed if:(op0 != 0B) && (not inlined)
+    size:31.500000, time:29.611610,  executed if:(op0 != 0B)
+    size:5.000000, time:1.500009,  executed if:(op0 == 0B)
+  calls:
+    xEventGroupSetBits.part.0/39 inlined
+      loop depth: 0 freq:0.23 size: 4 time: 13callee size:19 stack: 0
+      Stack frame offset 0, callee self size 0, callee size 0
+      vTaskSuspendAll/21 function body not available
+        loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op0 != 0B)
+      vTaskRemoveFromUnorderedEventList/28 function body not available
+        loop depth: 1 freq:0.78 size: 3 time: 12 predicate: (op0 != 0B)
+      xTaskResumeAll/23 function body not available
+        loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op0 != 0B)
+
+IPA function summary for xEventGroupGetBitsFromISR/9 inlinable
+  global time:     10.000000
+  self size:       11
+  global size:     11
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:7.500000, time:7.500000
+    size:3.500000, time:2.500000,  executed if:(not inlined)
+  calls:
+
+IPA function summary for xEventGroupClearBitsFromISR/8 inlinable
+  global time:     17.000000
+  self size:       9
+  global size:     9
+  min size:       12
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xTimerPendFunctionCallFromISR/27 function body not available
+      loop depth: 0 freq:1.00 size: 6 time: 15
+       op0 is compile time invariant
+       op3 is compile time invariant
+
+IPA function summary for xEventGroupClearBits/7 inlinable
+  global time:     13.720065
+  self size:       22
+  global size:     23
+  min size:       0
+  self stack:      0
+  global stack:    0
+  estimated growth:16
+    size:0.000000, time:0.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:4.000000, time:2.331010,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
+    size:1.000000, time:0.462003,  executed if:(op0 != 0B) && (not inlined)
+    size:7.000000, time:2.807008,  executed if:(op0 != 0B)
+    size:5.000000, time:1.500009,  executed if:(op0 == 0B)
+  calls:
+    xEventGroupClearBits.part.0/36 inlined
+      loop depth: 0 freq:0.23 size: 4 time: 13callee size: 4 stack: 0
+      Stack frame offset 0, callee self size 0, callee size 0
+      vPortEnterCritical/25 function body not available
+        loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op0 != 0B)
+      vPortExitCritical/26 function body not available
+        loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op0 != 0B)
+
+IPA function summary for xEventGroupWaitBits/6 inlinable
+  global time:     15.260836
+  self size:       92
+  global size:     98
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.000000, time:0.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
+    size:5.000000, time:2.799999,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
+    size:18.000000, time:0.896349,  executed if:(op1 != 0) && (op0 != 0B)
+    size:4.000000, time:0.231577,  executed if:(op1 != 0) && (op0 != 0B),  nonconst if:(op4 changed) && (op1 != 0) && (op0 != 0B)
+    size:5.000000, time:0.193459,  executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:2.000000, time:0.198354,  executed if:(op1 != 0) && (op0 != 0B) && (not inlined)
+    size:2.000000, time:0.038405,  executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op2 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:2.000000, time:0.038405,  executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op3 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:1.000000, time:0.009600,  executed if:(op3 != 0) && (op4 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op2 changed) && (op3 != 0) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:1.000000, time:0.019202,  executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op1 changed || op2 changed || op3 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    size:4.000000, time:0.089483,  executed if:(op1 != 0) && (op0 != 0B),  nonconst if:(op2 changed) && (op1 != 0) && (op0 != 0B)
+    size:2.000000, time:0.022371,  executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B),  nonconst if:(op1 changed) && (op2 != 0) && (op1 != 0) && (op0 != 0B)
+    size:3.000000, time:0.033556,  executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B)
+    size:1.000000, time:0.011185,  executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B) && (not inlined)
+    size:5.000000, time:1.172506,  executed if:(op1 == 0) && (op0 != 0B)
+    size:5.000000, time:1.749999,  executed if:(op0 != 0B)
+    size:5.000000, time:1.500002,  executed if:(op0 == 0B)
+    size:4.000000, time:0.178960,  executed if:(op1 != 0) && (op0 != 0B),  nonconst if:(op3 changed) && (op1 != 0) && (op0 != 0B)
+    size:6.000000, time:0.134220,  executed if:(op3 != 0) && (op1 != 0) && (op0 != 0B)
+    size:6.000000, time:0.134220,  executed if:(op3 == 0) && (op1 != 0) && (op0 != 0B)
+  calls:
+    vPortExitCritical/26 function body not available
+      loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
+    prvTestWaitCondition/14 inlined
+      loop depth: 0 freq:0.01 size: 5 time: 14callee size: 5 stack: 0
+      Stack frame offset 0, callee self size 0, callee size 0
+    vPortEnterCritical/25 function body not available
+      loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
+    uxTaskResetEventItemValue/24 function body not available
+      loop depth: 0 freq:0.04 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
+    xTaskResumeAll/23 function body not available
+      loop depth: 0 freq:0.08 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
+    vTaskPlaceOnUnorderedEventList/22 function body not available
+      loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op4 != 0) && (op1 != 0) && (op0 != 0B)
+    prvTestWaitCondition/44 inlined
+      loop depth: 0 freq:0.08 size: 5 time: 14callee size: 5 stack: 0
+      Stack frame offset 0, callee self size 0, callee size 0
+    vTaskSuspendAll/21 function body not available
+      loop depth: 0 freq:0.08 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B)
+    xTaskGetSchedulerState/20 function body not available
+      loop depth: 0 freq:0.12 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B)
+
+IPA function summary for xEventGroupSync/5 inlinable
+  global time:     17.570981
+  self size:       74
+  global size:     74
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:5.000000, time:2.500000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+    size:5.000000, time:4.000000,  nonconst if:(op2 changed)
+    size:24.500000, time:1.601894,  executed if:(op2 != 0)
+    size:4.000000, time:0.365936,  executed if:(op2 != 0),  nonconst if:(op3 changed) && (op2 != 0)
+    size:5.000000, time:0.276370,  executed if:(op3 != 0) && (op2 != 0)
+    size:3.500000, time:0.323745,  executed if:(op2 != 0) && (not inlined)
+    size:0.500000, time:0.024261,  executed if:(op3 == 0) && (op2 != 0) && (not inlined)
+    size:0.500000, time:0.024261,  executed if:(op3 == 0) && (op2 != 0)
+    size:1.000000, time:0.023898,  executed if:(op3 != 0) && (op2 != 0),  nonconst if:(op2 changed) && (op3 != 0) && (op2 != 0)
+    size:2.000000, time:0.043460,  executed if:(op2 != 0),  nonconst if:(op2 changed) && (op2 != 0)
+    size:5.000000, time:1.675010,  executed if:(op2 == 0)
+  calls:
+    vPortExitCritical/26 function body not available
+      loop depth: 0 freq:0.02 size: 1 time: 10 predicate: (op2 != 0)
+    vPortEnterCritical/25 function body not available
+      loop depth: 0 freq:0.02 size: 1 time: 10 predicate: (op2 != 0)
+    uxTaskResetEventItemValue/24 function body not available
+      loop depth: 0 freq:0.05 size: 2 time: 11 predicate: (op2 != 0)
+    xTaskResumeAll/23 function body not available
+      loop depth: 0 freq:0.11 size: 2 time: 11 predicate: (op2 != 0)
+    vTaskPlaceOnUnorderedEventList/22 function body not available
+      loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op3 != 0) && (op2 != 0)
+    xEventGroupSetBits/10 --param max-inline-insns-auto limit reached
+      loop depth: 0 freq:0.11 size: 3 time: 12callee size:25 stack: 0 predicate: (op2 != 0)
+    vTaskSuspendAll/21 function body not available
+      loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op2 != 0)
+    xTaskGetSchedulerState/20 function body not available
+      loop depth: 0 freq:0.16 size: 2 time: 11 predicate: (op2 != 0)
+
+IPA function summary for xEventGroupCreate/4 inlinable
+  global time:     22.416400
+  self size:       11
+  global size:     11
+  min size:       10
+  self stack:      0
+  global stack:    0
+    size:3.000000, time:2.534700
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    vListInitialise/19 function body not available
+      loop depth: 0 freq:0.53 size: 2 time: 11
+    pvPortMalloc/18 function body not available
+      loop depth: 0 freq:1.00 size: 3 time: 12
+       op0 is compile time invariant
+
+Symbol table:
+
+prvTestWaitCondition/44 (prvTestWaitCondition) @06bc0460
+  Type: function definition analyzed
+  Visibility:
+  next sharing asm name: 14
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
+  Clone of prvTestWaitCondition/14
+  Availability: local
+  Function flags: count:23563 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (179716 (estimated locally),0.78 per call) 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  previous sharing asm name: 44
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
+  Availability: local
+  Function flags: count:3888 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+
+;; Function xEventGroupCreate (xEventGroupCreate, funcdef_no=4, decl_uid=6271, cgraph_uid=5, symbol_order=4)
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+
+
+;; Function xEventGroupWaitBits (xEventGroupWaitBits, funcdef_no=6, decl_uid=6277, cgraph_uid=7, symbol_order=6)
+
+
+Symbols to be put in SSA form
+{ D.6652 D.6657 }
+Incremental SSA update started at block: 0
+Number of blocks in CFG: 52
+Number of blocks to update: 51 ( 98%)
+
+
+Merging blocks 4 and 34
+Merging blocks 7 and 35
+Merging blocks 10 and 36
+Merging blocks 14 and 37
+Merging blocks 15 and 39
+Merging blocks 28 and 46
+Merging blocks 44 and 38
+Merging blocks 51 and 45
+;; 5 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
+;;
+;; Loop 4
+;;  header 4, latch 4
+;;  depth 1, outer 0
+;;  nodes: 4
+;;
+;; Loop 3
+;;  header 7, latch 7
+;;  depth 1, outer 0
+;;  nodes: 7
+;;
+;; Loop 2
+;;  header 10, latch 10
+;;  depth 1, outer 0
+;;  nodes: 10
+;;
+;; Loop 1
+;;  header 14, latch 14
+;;  depth 1, outer 0
+;;  nodes: 14
+;; 2 succs { 3 5 }
+;; 3 succs { 4 }
+;; 4 succs { 4 }
+;; 5 succs { 6 8 }
+;; 6 succs { 7 }
+;; 7 succs { 7 }
+;; 8 succs { 9 11 }
+;; 9 succs { 10 }
+;; 10 succs { 10 }
+;; 11 succs { 15 12 }
+;; 12 succs { 15 13 }
+;; 13 succs { 14 }
+;; 14 succs { 14 }
+;; 15 succs { 16 18 }
+;; 16 succs { 17 20 }
+;; 17 succs { 20 }
+;; 18 succs { 19 20 }
+;; 19 succs { 20 }
+;; 20 succs { 21 23 }
+;; 21 succs { 22 29 }
+;; 22 succs { 29 }
+;; 23 succs { 29 24 }
+;; 24 succs { 25 26 }
+;; 25 succs { 26 }
+;; 26 succs { 27 28 }
+;; 27 succs { 28 }
+;; 28 succs { 29 }
+;; 29 succs { 30 43 }
+;; 30 succs { 31 32 }
+;; 31 succs { 32 }
+;; 32 succs { 33 42 }
+;; 33 succs { 34 36 }
+;; 34 succs { 35 38 }
+;; 35 succs { 38 }
+;; 36 succs { 37 38 }
+;; 37 succs { 38 }
+;; 38 succs { 39 41 }
+;; 39 succs { 40 41 }
+;; 40 succs { 41 }
+;; 41 succs { 42 }
+;; 42 succs { 43 }
+;; 43 succs { 1 }
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  BaseType_t xWaitConditionMet;
+  BaseType_t D.6657;
+  BaseType_t xWaitConditionMet;
+  BaseType_t D.6652;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _55;
+  long unsigned int _56;
+  long unsigned int _58;
+  long unsigned int _59;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350134]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG uxBitsToWaitFor => uxBitsToWaitFor_23(D)
+  # DEBUG xWaitForAllBits => xWaitForAllBits_29(D)
+  # DEBUG INLINE_ENTRY prvTestWaitCondition
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) == 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  _55 = uxBitsToWaitFor_23(D) & uxCurrentEventBits_28;
+  if (_55 != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 20>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  _56 = uxBitsToWaitFor_23(D) & uxCurrentEventBits_28;
+  if (uxBitsToWaitFor_23(D) == _56)
+    goto <bb 19>; [34.00%]
+  else
+    goto <bb 20>; [66.00%]
+
+  <bb 19> [local count: 4006]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 20> [local count: 23563]:
+  # xWaitConditionMet_57 = PHI <0(16), 1(17), 0(18), 1(19)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_57
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _61 = xWaitConditionMet_57;
+  # DEBUG uxCurrentEventBits => NULL
+  # DEBUG uxBitsToWaitFor => NULL
+  # DEBUG xWaitForAllBits => NULL
+  # DEBUG xWaitConditionMet => NULL
+  xWaitConditionMet_31 = _61;
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 21>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 21> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 29>; [50.00%]
+
+  <bb 22> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 29>; [100.00%]
+
+  <bb 23> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 24> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 26>; [50.00%]
+
+  <bb 25> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 26> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(24), 16777216(25)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 27>; [50.00%]
+  else
+    goto <bb 28>; [50.00%]
+
+  <bb 27> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 28> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(26), uxControlBits_33(27)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 29> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(22), xTicksToWait_26(D)(23), xTicksToWait_26(D)(28), 0(21)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(22), uxCurrentEventBits_28(23), 0(28), uxCurrentEventBits_28(21)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 43>; [50.00%]
+
+  <bb 30> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 31>; [50.00%]
+  else
+    goto <bb 32>; [50.00%]
+
+  <bb 31> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 32> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 33>; [33.00%]
+  else
+    goto <bb 42>; [67.00%]
+
+  <bb 33> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  # DEBUG uxCurrentEventBits => uxReturn_44
+  # DEBUG uxBitsToWaitFor => uxBitsToWaitFor_23(D)
+  # DEBUG xWaitForAllBits => xWaitForAllBits_29(D)
+  # DEBUG INLINE_ENTRY prvTestWaitCondition
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) == 0)
+    goto <bb 34>; [50.00%]
+  else
+    goto <bb 36>; [50.00%]
+
+  <bb 34> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  _58 = uxBitsToWaitFor_23(D) & uxReturn_44;
+  if (_58 != 0)
+    goto <bb 35>; [50.00%]
+  else
+    goto <bb 38>; [50.00%]
+
+  <bb 35> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 38>; [100.00%]
+
+  <bb 36> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  _59 = uxBitsToWaitFor_23(D) & uxReturn_44;
+  if (uxBitsToWaitFor_23(D) == _59)
+    goto <bb 37>; [34.00%]
+  else
+    goto <bb 38>; [66.00%]
+
+  <bb 37> [local count: 661]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 38> [local count: 3888]:
+  # xWaitConditionMet_60 = PHI <0(34), 1(35), 0(36), 1(37)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_60
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _62 = xWaitConditionMet_60;
+  # DEBUG uxCurrentEventBits => NULL
+  # DEBUG uxBitsToWaitFor => NULL
+  # DEBUG xWaitForAllBits => NULL
+  # DEBUG xWaitConditionMet => NULL
+  _8 = _62;
+  if (_8 != 0)
+    goto <bb 39>; [50.00%]
+  else
+    goto <bb 41>; [50.00%]
+
+  <bb 39> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 40>; [50.00%]
+  else
+    goto <bb 41>; [50.00%]
+
+  <bb 40> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 41> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 42> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(32), uxReturn_44(41)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 43> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(29), uxReturn_48(42)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+
+;; Function xEventGroupClearBits (xEventGroupClearBits, funcdef_no=7, decl_uid=6280, cgraph_uid=8, symbol_order=7)
+
+
+Symbols to be put in SSA form
+{ D.6574 D.6670 }
+Incremental SSA update started at block: 0
+Number of blocks in CFG: 14
+Number of blocks to update: 13 ( 93%)
+
+
+Merging blocks 4 and 9
+Merging blocks 7 and 10
+Removing basic block 8
+Removing basic block 12
+Merging blocks 13 and 11
+;; 3 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 5 6 7 8
+;;
+;; Loop 2
+;;  header 4, latch 4
+;;  depth 1, outer 0
+;;  nodes: 4
+;;
+;; Loop 1
+;;  header 7, latch 7
+;;  depth 1, outer 0
+;;  nodes: 7
+;; 2 succs { 3 5 }
+;; 3 succs { 4 }
+;; 4 succs { 4 }
+;; 5 succs { 6 8 }
+;; 6 succs { 7 }
+;; 7 succs { 7 }
+;; 8 succs { 1 }
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t uxReturn;
+  EventBits_t D.6670;
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  # DEBUG xEventGroup => xEventGroup_3(D)
+  # DEBUG uxBitsToClear => uxBitsToClear_5(D)
+  # DEBUG INLINE_ENTRY xEventGroupClearBits
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_11 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_11
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToClear_5(D);
+  _13 = uxReturn_11 & _12;
+  MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits = _13;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  _17 = uxReturn_11;
+  # DEBUG xEventGroup => NULL
+  # DEBUG uxBitsToClear => NULL
+  # DEBUG pxEventBits => NULL
+  # DEBUG uxReturn => NULL
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulNewBASEPRI => NULL
+  _2 = _17;
+  return _2;
+
+}
+
+
+
+;; Function vEventGroupClearBitsCallback (vEventGroupClearBitsCallback, funcdef_no=13, decl_uid=6305, cgraph_uid=14, symbol_order=13)
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+
+;; Function xEventGroupClearBitsFromISR (xEventGroupClearBitsFromISR, funcdef_no=8, decl_uid=6283, cgraph_uid=9, symbol_order=8)
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+
+;; Function xEventGroupGetBitsFromISR (xEventGroupGetBitsFromISR, funcdef_no=9, decl_uid=6297, cgraph_uid=10, symbol_order=9)
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+
+;; Function xEventGroupSetBits (xEventGroupSetBits, funcdef_no=10, decl_uid=6286, cgraph_uid=11, symbol_order=10)
+
+
+Symbols to be put in SSA form
+{ D.6578 D.6696 }
+Incremental SSA update started at block: 0
+Number of blocks in CFG: 23
+Number of blocks to update: 22 ( 96%)
+
+
+Merging blocks 4 and 9
+Merging blocks 7 and 10
+Removing basic block 8
+Removing basic block 12
+Merging blocks 22 and 11
+;; 5 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+;;
+;; Loop 3
+;;  header 4, latch 4
+;;  depth 1, outer 0
+;;  nodes: 4
+;;
+;; Loop 2
+;;  header 7, latch 7
+;;  depth 1, outer 0
+;;  nodes: 7
+;;
+;; Loop 4
+;;  header 16, latch 15
+;;  depth 1, outer 0
+;;  nodes: 16 15 10 11 14 12 13 9
+;; 2 succs { 3 5 }
+;; 3 succs { 4 }
+;; 4 succs { 4 }
+;; 5 succs { 6 8 }
+;; 6 succs { 7 }
+;; 7 succs { 7 }
+;; 8 succs { 16 }
+;; 9 succs { 10 11 }
+;; 10 succs { 12 15 }
+;; 11 succs { 12 15 }
+;; 12 succs { 13 14 }
+;; 13 succs { 14 }
+;; 14 succs { 15 }
+;; 15 succs { 16 }
+;; 16 succs { 9 17 }
+;; 17 succs { 1 }
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxBitsToClear;
+  const struct ListItem_t * pxListEnd;
+  struct ListItem_t * pxNext;
+  struct ListItem_t * pxListItem;
+  EventBits_t D.6696;
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _22;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _27;
+  long unsigned int _28;
+  long unsigned int _29;
+  long unsigned int _31;
+  long unsigned int _32;
+  long unsigned int _33;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  # DEBUG xEventGroup => xEventGroup_3(D)
+  # DEBUG uxBitsToSet => uxBitsToSet_4(D)
+  # DEBUG INLINE_ENTRY xEventGroupSetBits
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_3(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_11 = &MEM[(const struct List_t *)xEventGroup_3(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_11
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_12 = MEM[(const struct List_t *)xEventGroup_3(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_12
+  # DEBUG BEGIN_STMT
+  _13 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
+  _14 = uxBitsToSet_4(D) | _13;
+  MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits = _14;
+  # DEBUG BEGIN_STMT
+  goto <bb 16>; [100.00%]
+
+  <bb 9> [local count: 427893]:
+  # DEBUG BEGIN_STMT
+  pxNext_16 = pxListItem_15->pxNext;
+  # DEBUG pxNext => pxNext_16
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_17 = pxListItem_15->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_17
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_17 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_18 = uxBitsWaitedFor_17 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_18
+  # DEBUG BEGIN_STMT
+  _19 = uxBitsWaitedFor_17 & 67108864;
+  if (_19 == 0)
+    goto <bb 10>; [50.00%]
+  else
+    goto <bb 11>; [50.00%]
+
+  <bb 10> [local count: 213947]:
+  # DEBUG BEGIN_STMT
+  _20 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
+  _21 = uxBitsWaitedFor_18 & _20;
+  if (_21 != 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 15>; [50.00%]
+
+  <bb 11> [local count: 213947]:
+  # DEBUG BEGIN_STMT
+  _22 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
+  _23 = uxBitsWaitedFor_18 & _22;
+  if (uxBitsWaitedFor_18 == _23)
+    goto <bb 12>; [34.00%]
+  else
+    goto <bb 15>; [66.00%]
+
+  <bb 12> [local count: 179715]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _24 = uxBitsWaitedFor_17 & 16777216;
+  if (_24 != 0)
+    goto <bb 13>; [50.00%]
+  else
+    goto <bb 14>; [50.00%]
+
+  <bb 13> [local count: 89858]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_26 = uxBitsWaitedFor_18 | uxBitsToClear_25;
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+
+  <bb 14> [local count: 179715]:
+  # uxBitsToClear_34 = PHI <uxBitsToClear_25(12), uxBitsToClear_26(13)>
+  # DEBUG uxBitsToClear => uxBitsToClear_34
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _27 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
+  _28 = _27 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_15, _28);
+
+  <bb 15> [local count: 427893]:
+  # pxListItem_35 = PHI <pxNext_16(10), pxNext_16(11), pxNext_16(14)>
+  # uxBitsToClear_36 = PHI <uxBitsToClear_25(10), uxBitsToClear_25(11), uxBitsToClear_34(14)>
+
+  <bb 16> [local count: 480779]:
+  # pxListItem_15 = PHI <pxListItem_12(8), pxListItem_35(15)>
+  # uxBitsToClear_25 = PHI <0(8), uxBitsToClear_36(15)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_25
+  # DEBUG pxListItem => pxListItem_15
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_11 != pxListItem_15)
+    goto <bb 9>; [89.00%]
+  else
+    goto <bb 17>; [11.00%]
+
+  <bb 17> [local count: 52886]:
+  # uxBitsToClear_30 = PHI <uxBitsToClear_25(16)>
+  # DEBUG BEGIN_STMT
+  _29 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
+  _31 = ~uxBitsToClear_30;
+  _32 = _29 & _31;
+  MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits = _32;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _33 = MEM[(struct EventGroup_t *)xEventGroup_3(D)].uxEventBits;
+  _43 = _33;
+  # DEBUG xEventGroup => NULL
+  # DEBUG uxBitsToSet => NULL
+  # DEBUG pxListItem => NULL
+  # DEBUG pxNext => NULL
+  # DEBUG pxListEnd => NULL
+  # DEBUG pxList => NULL
+  # DEBUG uxBitsToClear => NULL
+  # DEBUG uxBitsWaitedFor => NULL
+  # DEBUG uxControlBits => NULL
+  # DEBUG pxEventBits => NULL
+  # DEBUG xMatchFound => NULL
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulNewBASEPRI => NULL
+  _6 = _43;
+  return _6;
+
+}
+
+
+
+;; Function xEventGroupSync (xEventGroupSync, funcdef_no=5, decl_uid=6295, cgraph_uid=6, symbol_order=5)
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+
+;; Function vEventGroupSetBitsCallback (vEventGroupSetBitsCallback, funcdef_no=12, decl_uid=6302, cgraph_uid=13, symbol_order=12)
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+
+;; Function vEventGroupDelete (vEventGroupDelete, funcdef_no=11, decl_uid=6299, cgraph_uid=12, symbol_order=11)
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+
+;; Function xEventGroupSetBitsFromISR (xEventGroupSetBitsFromISR, funcdef_no=15, decl_uid=6290, cgraph_uid=16, symbol_order=15)
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+
+;; Function uxEventGroupGetNumber (uxEventGroupGetNumber, funcdef_no=16, decl_uid=6307, cgraph_uid=17, symbol_order=16)
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+
+;; Function vEventGroupSetNumber (vEventGroupSetNumber, funcdef_no=17, decl_uid=6310, cgraph_uid=18, symbol_order=17)
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+

+ 2602 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.077i.pure-const

@@ -0,0 +1,2602 @@
+
+
+ local analysis of xEventGroupSetBits.part.0
+   scanning: pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  scanning: vTaskSuspendAll ();
+  scanning: pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+    Indirect ref read is not const
+  scanning: _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: _6 = _4 | uxBitsToSet_5(D);
+  scanning: MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+    Indirect ref write is not const/pure
+  scanning: pxNext_8 = pxListItem_7->pxNext;
+    Indirect ref read is not const
+  scanning: uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+    Indirect ref read is not const
+  scanning: uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  scanning: _11 = uxBitsWaitedFor_9 & 67108864;
+  scanning: if (_11 == 0)
+  scanning: _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: _13 = uxBitsWaitedFor_10 & _12;
+  scanning: if (_13 != 0)
+  scanning: _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: _15 = uxBitsWaitedFor_10 & _14;
+  scanning: if (uxBitsWaitedFor_10 == _15)
+  scanning: _16 = uxBitsWaitedFor_9 & 16777216;
+  scanning: if (_16 != 0)
+  scanning: uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  scanning: _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: _20 = _19 | 33554432;
+  scanning: vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+  scanning: if (pxListEnd_2 != pxListItem_7)
+  scanning: _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: _23 = ~uxBitsToClear_22;
+  scanning: _24 = _21 & _23;
+  scanning: MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+    Indirect ref write is not const/pure
+  scanning: xTaskResumeAll ();
+  scanning: _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: return _25;
+
+
+ local analysis of xEventGroupClearBits.part.0
+   scanning: vPortEnterCritical ();
+  scanning: uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: _4 = ~uxBitsToClear_3(D);
+  scanning: _5 = uxReturn_2 & _4;
+  scanning: MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+    Indirect ref write is not const/pure
+  scanning: vPortExitCritical ();
+  scanning: return uxReturn_2;
+
+
+ local analysis of vEventGroupSetNumber
+   scanning: MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+    Indirect ref write is not const/pure
+  scanning: return;
+
+
+ local analysis of uxEventGroupGetNumber
+   scanning: if (xEventGroup_2(D) == 0B)
+  scanning: xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+    Indirect ref read is not const
+  scanning: return xReturn_1;
+Function is locally pure.
+
+
+ local analysis of xEventGroupSetBitsFromISR
+   scanning: xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  scanning: return xReturn_6;
+Function is locally const.
+
+
+ local analysis of prvTestWaitCondition
+   scanning: if (xWaitForAllBits_4(D) == 0)
+  scanning: _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  scanning: if (_1 != 0)
+  scanning: _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  scanning: if (_2 == uxBitsToWaitFor_6(D))
+  scanning: return xWaitConditionMet_3;
+Function is locally const.
+
+
+ local analysis of vEventGroupClearBitsCallback
+   scanning: xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  scanning: return;
+Function is locally const.
+
+
+ local analysis of vEventGroupSetBitsCallback
+   scanning: xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  scanning: return;
+Function is locally const.
+
+
+ local analysis of vEventGroupDelete
+   scanning: if (xEventGroup_5(D) == 0B)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: vTaskSuspendAll ();
+  scanning: _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+    Indirect ref read is not const
+  scanning: _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  scanning: if (_1 == _2)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: vTaskRemoveFromUnorderedEventList (_1, 33554432);
+  scanning: _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+    Volatile stmt is not const/pure
+    Indirect ref read is not const
+  scanning: if (_3 != 0)
+  scanning: vPortFree (xEventGroup_5(D));
+  scanning: xTaskResumeAll ();
+  scanning: return;
+Function is locally looping.
+Function can locally free.
+
+
+ local analysis of xEventGroupSetBits
+   scanning: if (xEventGroup_3(D) == 0B)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: _1 = uxBitsToSet_4(D) & 4278190080;
+  scanning: if (_1 != 0)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  scanning: return _6;
+Function is locally looping.
+Function can locally free.
+
+
+ local analysis of xEventGroupGetBitsFromISR
+   scanning: __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: return uxReturn_3;
+Function is locally looping.
+Function can locally free.
+
+
+ local analysis of xEventGroupClearBitsFromISR
+   scanning: xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  scanning: return xReturn_5;
+Function is locally const.
+
+
+ local analysis of xEventGroupClearBits
+   scanning: if (xEventGroup_3(D) == 0B)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: _1 = uxBitsToClear_5(D) & 4278190080;
+  scanning: if (_1 != 0)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  scanning: return _2;
+Function is locally looping.
+Function can locally free.
+
+
+ local analysis of xEventGroupWaitBits
+   scanning: if (xEventGroup_22(D) == 0B)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  scanning: if (_1 != 0)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: if (uxBitsToWaitFor_23(D) == 0)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: _2 = xTaskGetSchedulerState ();
+  scanning: if (_2 != 0)
+  scanning: if (xTicksToWait_26(D) == 0)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: vTaskSuspendAll ();
+  scanning: uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  scanning: if (xWaitConditionMet_31 != 0)
+  scanning: if (xClearOnExit_32(D) != 0)
+  scanning: _3 = ~uxBitsToWaitFor_23(D);
+  scanning: _4 = _3 & uxCurrentEventBits_28;
+  scanning: MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+    Indirect ref write is not const/pure
+  scanning: if (xTicksToWait_26(D) == 0)
+  scanning: if (xClearOnExit_32(D) != 0)
+  scanning: if (xWaitForAllBits_29(D) != 0)
+  scanning: uxControlBits_33 = uxControlBits_15 | 67108864;
+  scanning: _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  scanning: _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  scanning: vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  scanning: xAlreadyYielded_37 = xTaskResumeAll ();
+  scanning: if (xTicksToWait_11 != 0)
+  scanning: if (xAlreadyYielded_37 == 0)
+  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+    Volatile stmt is not const/pure
+    Volatile indirect ref is not const/pure
+  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: __asm__ __volatile__("isb");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: uxReturn_42 = uxTaskResetEventItemValue ();
+  scanning: _7 = uxReturn_42 & 33554432;
+  scanning: if (_7 == 0)
+  scanning: vPortEnterCritical ();
+  scanning: uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  scanning: if (_8 != 0)
+  scanning: if (xClearOnExit_32(D) != 0)
+  scanning: _9 = ~uxBitsToWaitFor_23(D);
+  scanning: _10 = _9 & uxReturn_44;
+  scanning: MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+    Indirect ref write is not const/pure
+  scanning: vPortExitCritical ();
+  scanning: uxReturn_48 = uxReturn_13 & 16777215;
+  scanning: return uxReturn_14;
+Function is locally looping.
+Function can locally free.
+
+
+ local analysis of xEventGroupSync
+   scanning: _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  scanning: if (_1 != 0)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: if (uxBitsToWaitFor_24(D) == 0)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: _2 = xTaskGetSchedulerState ();
+  scanning: if (_2 != 0)
+  scanning: if (xTicksToWait_27(D) == 0)
+  scanning: __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: vTaskSuspendAll ();
+  scanning: uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  scanning: _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  scanning: _4 = _3 & uxBitsToWaitFor_24(D);
+  scanning: if (_4 == uxBitsToWaitFor_24(D))
+  scanning: _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: _6 = ~uxBitsToWaitFor_24(D);
+  scanning: _7 = _5 & _6;
+  scanning: MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+    Indirect ref write is not const/pure
+  scanning: if (xTicksToWait_27(D) != 0)
+  scanning: _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  scanning: _9 = uxBitsToWaitFor_24(D) | 83886080;
+  scanning: vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  scanning: uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: xAlreadyYielded_36 = xTaskResumeAll ();
+  scanning: if (xTicksToWait_14 != 0)
+  scanning: if (xAlreadyYielded_36 == 0)
+  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+    Volatile stmt is not const/pure
+    Volatile indirect ref is not const/pure
+  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: __asm__ __volatile__("isb");
+    memory asm clobber is not const/pure
+    volatile is not const/pure
+  scanning: uxReturn_41 = uxTaskResetEventItemValue ();
+  scanning: _10 = uxReturn_41 & 33554432;
+  scanning: if (_10 == 0)
+  scanning: vPortEnterCritical ();
+  scanning: uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+    Indirect ref read is not const
+  scanning: _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  scanning: if (_11 == uxBitsToWaitFor_24(D))
+  scanning: _12 = ~uxBitsToWaitFor_24(D);
+  scanning: _13 = _12 & uxReturn_43;
+  scanning: MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+    Indirect ref write is not const/pure
+  scanning: vPortExitCritical ();
+  scanning: uxReturn_46 = uxReturn_16 & 16777215;
+  scanning: return uxReturn_17;
+Function is locally looping.
+Function can locally free.
+
+
+ local analysis of xEventGroupCreate
+   scanning: pxEventBits_5 = pvPortMalloc (28);
+  scanning: if (pxEventBits_5 != 0B)
+  scanning: pxEventBits_5->uxEventBits = 0;
+    Indirect ref write is not const/pure
+  scanning: _1 = &pxEventBits_5->xTasksWaitingForBits;
+  scanning: vListInitialise (_1);
+  scanning: return pxEventBits_5;
+callgraph:
+
+prvTestWaitCondition/44 (prvTestWaitCondition) @06bc0460
+  Type: function definition analyzed
+  Visibility:
+  next sharing asm name: 14
+  Aux: @06ba4778
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
+  Clone of prvTestWaitCondition/14
+  Availability: local
+  Function flags: count:23563 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  Aux: @06ba48f8
+  References: 
+  Referring: 
+  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  Aux: @06ba49d8
+  References: 
+  Referring: 
+  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (179716 (estimated locally),0.78 per call) 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4918
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba47b8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4ad8
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  previous sharing asm name: 44
+  Aux: @06ba4818
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
+  Availability: local
+  Function flags: count:3888 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  Aux: @06ba4b18
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  Aux: @06ba4858
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba49f8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4878
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4758
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4578
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4638
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4398
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba43d8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba44f8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+
+
+ ordered call graph: reduced for nothrow
+prvTestWaitCondition/44 (prvTestWaitCondition) @06bc0460
+  Type: function definition analyzed
+  Visibility:
+  next sharing asm name: 14
+  Aux: @06ba4778
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
+  Clone of prvTestWaitCondition/14
+  Availability: local
+  Function flags: count:23563 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  Aux: @06ba48f8
+  References: 
+  Referring: 
+  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  Aux: @06ba49d8
+  References: 
+  Referring: 
+  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4918
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba47b8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4ad8
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  previous sharing asm name: 44
+  Aux: @06ba4818
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
+  Availability: local
+  Function flags: count:3888 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  Aux: @06ba4b18
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  Aux: @06ba4858
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba49f8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4878
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4758
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4578
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4638
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4398
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba43d8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba44f8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+
+
+
+MALLOC LATTICE Initial:
+prvTestWaitCondition: malloc_bottom
+xEventGroupSetBits.part.0: malloc_bottom
+xEventGroupClearBits.part.0: malloc_bottom
+vEventGroupSetNumber: malloc_bottom
+uxEventGroupGetNumber: malloc_bottom
+xEventGroupSetBitsFromISR: malloc_bottom
+prvTestWaitCondition: malloc_bottom
+vEventGroupClearBitsCallback: malloc_bottom
+vEventGroupSetBitsCallback: malloc_bottom
+vEventGroupDelete: malloc_bottom
+xEventGroupSetBits: malloc_bottom
+xEventGroupGetBitsFromISR: malloc_bottom
+xEventGroupClearBitsFromISR: malloc_bottom
+xEventGroupClearBits: malloc_bottom
+xEventGroupWaitBits: malloc_bottom
+xEventGroupSync: malloc_bottom
+xEventGroupCreate: malloc_bottom
+
+
+MALLOC LATTICE after propagation:
+prvTestWaitCondition: malloc_bottom
+xEventGroupSetBits.part.0: malloc_bottom
+xEventGroupClearBits.part.0: malloc_bottom
+vEventGroupSetNumber: malloc_bottom
+uxEventGroupGetNumber: malloc_bottom
+xEventGroupSetBitsFromISR: malloc_bottom
+prvTestWaitCondition: malloc_bottom
+vEventGroupClearBitsCallback: malloc_bottom
+vEventGroupSetBitsCallback: malloc_bottom
+vEventGroupDelete: malloc_bottom
+xEventGroupSetBits: malloc_bottom
+xEventGroupGetBitsFromISR: malloc_bottom
+xEventGroupClearBitsFromISR: malloc_bottom
+xEventGroupClearBits: malloc_bottom
+xEventGroupWaitBits: malloc_bottom
+xEventGroupSync: malloc_bottom
+xEventGroupCreate: malloc_bottom
+callgraph:
+
+prvTestWaitCondition/44 (prvTestWaitCondition) @06bc0460
+  Type: function definition analyzed
+  Visibility:
+  next sharing asm name: 14
+  Aux: @06ba4758
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
+  Clone of prvTestWaitCondition/14
+  Availability: local
+  Function flags: count:23563 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  Aux: @06ba4638
+  References: 
+  Referring: 
+  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  Aux: @06ba4398
+  References: 
+  Referring: 
+  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (179716 (estimated locally),0.78 per call) 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba43d8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4438
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba44f8
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  previous sharing asm name: 44
+  Aux: @06ba4458
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
+  Availability: local
+  Function flags: count:3888 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  Aux: @06ba4578
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  Aux: @06ba48f8
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4ad8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba47b8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba49d8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4b18
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4818
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4778
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4858
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4918
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+
+
+ ordered call graph: reduced
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba43d8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4438
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba44f8
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  Aux: @06ba4578
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  Aux: @06ba48f8
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4ad8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba49d8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4b18
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4818
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  Aux: @06ba4398
+  References: 
+  Referring: 
+  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4778
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+prvTestWaitCondition/44 (prvTestWaitCondition) @06bc0460
+  Type: function definition analyzed
+  Visibility:
+  next sharing asm name: 14
+  Aux: @06ba4758
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
+  Clone of prvTestWaitCondition/14
+  Availability: local
+  Function flags: count:23563 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
+  Calls: 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  previous sharing asm name: 44
+  Aux: @06ba4458
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
+  Availability: local
+  Function flags: count:3888 (estimated locally) body local optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
+  Calls: 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4858
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba47b8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  Aux: @06ba4638
+  References: 
+  Referring: 
+  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4918
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+
+Function found not to call free: prvTestWaitCondition
+Function found not to call free: prvTestWaitCondition
+Function found not to call free: uxEventGroupGetNumber
+Function found not to call free: vEventGroupSetNumber
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 1236 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.078i.free-fnsummary2

@@ -0,0 +1,1236 @@
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 1845 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.079i.static-var

@@ -0,0 +1,1845 @@
+callgraph:
+
+prvTestWaitCondition/44 (prvTestWaitCondition) @06bc0460
+  Type: function definition analyzed
+  Visibility:
+  next sharing asm name: 14
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
+  Clone of prvTestWaitCondition/14
+  Availability: local
+  Function flags: count:23563 (estimated locally) body local nonfreeing_fn optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
+vPortFree/29 (vPortFree) @06ca4c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
+  Calls: 
+vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06ca4a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (179716 (estimated locally),0.78 per call) 
+  Calls: 
+xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06ca4540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vPortExitCritical/26 (vPortExitCritical) @06c88e00
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vPortEnterCritical/25 (vPortEnterCritical) @06c88d20
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
+  Calls: 
+uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06c88c40
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
+  Calls: 
+xTaskResumeAll/23 (xTaskResumeAll) @06c88b60
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06c88a80
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
+  Calls: 
+vTaskSuspendAll/21 (vTaskSuspendAll) @06c889a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
+  Calls: 
+xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06c888c0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
+  Calls: 
+vListInitialise/19 (vListInitialise) @06c88540
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
+  Calls: 
+pvPortMalloc/18 (pvPortMalloc) @06c88460
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  previous sharing asm name: 44
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
+  Availability: local
+  Function flags: count:3888 (estimated locally) body local nonfreeing_fn optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
+  Calls: 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+Clearing variable flags:
+
+Function name:prvTestWaitCondition/44:
+  locals read: 
+  locals written: 
+Function name:xEventGroupSetBits.part.0/39:
+  locals read: 
+  locals written: 
+Function name:xEventGroupClearBits.part.0/36:
+  locals read: 
+  locals written: 
+Function name:vEventGroupSetNumber/17:
+  locals read: 
+  locals written: 
+Function name:uxEventGroupGetNumber/16:
+  locals read: 
+  locals written: 
+Function name:xEventGroupSetBitsFromISR/15:
+  locals read: 
+  locals written: 
+Function name:prvTestWaitCondition/14:
+  locals read: 
+  locals written: 
+Function name:vEventGroupClearBitsCallback/13:
+  locals read: 
+  locals written: 
+Function name:vEventGroupSetBitsCallback/12:
+  locals read: 
+  locals written: 
+Function name:vEventGroupDelete/11:
+  locals read: 
+  locals written: 
+Function name:xEventGroupSetBits/10:
+  locals read: 
+  locals written: 
+Function name:xEventGroupGetBitsFromISR/9:
+  locals read: 
+  locals written: 
+Function name:xEventGroupClearBitsFromISR/8:
+  locals read: 
+  locals written: 
+Function name:xEventGroupClearBits/7:
+  locals read: 
+  locals written: 
+Function name:xEventGroupWaitBits/6:
+  locals read: 
+  locals written: 
+Function name:xEventGroupSync/5:
+  locals read: 
+  locals written: 
+Function name:xEventGroupCreate/4:
+  locals read: 
+  locals written: 
+
+ ordered call graph: reduced
+vEventGroupSetNumber/17 (vEventGroupSetNumber) @06c88000
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba46d8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06c7ba80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4398
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06c7b460
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4678
+  References: vEventGroupSetBitsCallback/12 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06c7bc40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  Aux: @06ba43f8
+  References: 
+  Referring: xEventGroupClearBitsFromISR/8 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06c7b9a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Address is taken.
+  Aux: @06ba45f8
+  References: 
+  Referring: xEventGroupSetBitsFromISR/15 (addr)
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
+vEventGroupDelete/11 (vEventGroupDelete) @06c7b700
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4438
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:230763 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
+xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06c36c40
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba46b8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06c362a0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba43d8
+  References: vEventGroupClearBitsCallback/13 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
+xEventGroupClearBits/7 (xEventGroupClearBits) @06c36ee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4558
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
+  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06bbbb60
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  Aux: @06ba4378
+  References: 
+  Referring: 
+  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
+xEventGroupWaitBits/6 (xEventGroupWaitBits) @06c36b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba46f8
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:306783 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
+prvTestWaitCondition/44 (prvTestWaitCondition) @06bc0460
+  Type: function definition analyzed
+  Visibility:
+  next sharing asm name: 14
+  Aux: @06ba45b8
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
+  Clone of prvTestWaitCondition/14
+  Availability: local
+  Function flags: count:23563 (estimated locally) body local nonfreeing_fn optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
+  Calls: 
+prvTestWaitCondition/14 (prvTestWaitCondition) @06c7bee0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  previous sharing asm name: 44
+  Aux: @06ba4718
+  References: 
+  Referring: 
+  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
+  Availability: local
+  Function flags: count:3888 (estimated locally) body local nonfreeing_fn optimize_size
+  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
+  Calls: 
+xEventGroupSync/5 (xEventGroupSync) @06c36620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4578
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
+xEventGroupSetBits/10 (xEventGroupSetBits) @06c7b380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4478
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:228942 (estimated locally) body optimize_size
+  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
+  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
+xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06bc01c0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  Aux: @06ba45d8
+  References: 
+  Referring: 
+  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
+  Availability: local
+  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
+  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
+xEventGroupCreate/4 (xEventGroupCreate) @06c361c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06ba4618
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
+
+
+Function name:xEventGroupCreate/4:
+    locals read: 
+    locals written: 
+  globals read: ALL
+  globals written: ALL
+
+Function name:xEventGroupSetBits.part.0/39:
+    locals read: 
+    locals written: 
+  globals read: ALL
+  globals written: ALL
+
+Function name:xEventGroupSetBits/10:
+    locals read: 
+    locals written: 
+  globals read: ALL
+  globals written: ALL
+
+Function name:xEventGroupSync/5:
+    locals read: 
+    locals written: 
+  globals read: ALL
+  globals written: ALL
+
+Function name:prvTestWaitCondition/14:
+    locals read: 
+    locals written: 
+  globals read: 
+  globals written: 
+
+Function name:prvTestWaitCondition/44:
+    locals read: 
+    locals written: 
+  globals read: 
+  globals written: 
+
+Function name:xEventGroupWaitBits/6:
+    locals read: 
+    locals written: 
+  globals read: ALL
+  globals written: ALL
+
+Function name:xEventGroupClearBits.part.0/36:
+    locals read: 
+    locals written: 
+  globals read: ALL
+  globals written: ALL
+
+Function name:xEventGroupClearBits/7:
+    locals read: 
+    locals written: 
+  globals read: ALL
+  globals written: ALL
+
+Function name:xEventGroupClearBitsFromISR/8:
+    locals read: 
+    locals written: 
+  globals read: ALL
+  globals written: ALL
+
+Function name:xEventGroupGetBitsFromISR/9:
+    locals read: 
+    locals written: 
+  globals read: 
+  globals written: 
+
+Function name:vEventGroupDelete/11:
+    locals read: 
+    locals written: 
+  globals read: ALL
+  globals written: ALL
+
+Function name:vEventGroupSetBitsCallback/12:
+    locals read: 
+    locals written: 
+  globals read: ALL
+  globals written: ALL
+
+Function name:vEventGroupClearBitsCallback/13:
+    locals read: 
+    locals written: 
+  globals read: ALL
+  globals written: ALL
+
+Function name:xEventGroupSetBitsFromISR/15:
+    locals read: 
+    locals written: 
+  globals read: ALL
+  globals written: ALL
+
+Function name:uxEventGroupGetNumber/16:
+    locals read: 
+    locals written: 
+  globals read: 
+  globals written: 
+
+Function name:vEventGroupSetNumber/17:
+    locals read: 
+    locals written: 
+  globals read: 
+  globals written: 
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 1236 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.080i.single-use

@@ -0,0 +1,1236 @@
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 1236 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.081i.comdats

@@ -0,0 +1,1236 @@
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 1236 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.c.082i.materialize-all-clones

@@ -0,0 +1,1236 @@
+xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  struct ListItem_t * pxListItem;
+  struct ListItem_t * pxNext;
+  const struct ListItem_t * pxListEnd;
+  const struct List_t * pxList;
+  EventBits_t uxBitsToClear;
+  EventBits_t uxBitsWaitedFor;
+  EventBits_t uxControlBits;
+  struct EventGroup_t * pxEventBits;
+  BaseType_t xMatchFound;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _6;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+  long unsigned int _14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 12> [local count: 118111600]:
+
+  <bb 2> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
+  # DEBUG pxList => D#1
+  # DEBUG BEGIN_STMT
+  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
+  # DEBUG pxListEnd => pxListEnd_2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
+  # DEBUG pxListItem => pxListItem_3
+  # DEBUG BEGIN_STMT
+  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _6 = _4 | uxBitsToSet_5(D);
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 3> [local count: 955630223]:
+  # DEBUG BEGIN_STMT
+  pxNext_8 = pxListItem_7->pxNext;
+  # DEBUG pxNext => pxNext_8
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
+  # DEBUG BEGIN_STMT
+  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
+  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsWaitedFor_9 & 67108864;
+  if (_11 == 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 4> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _13 = uxBitsWaitedFor_10 & _12;
+  if (_13 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 5> [local count: 477815111]:
+  # DEBUG BEGIN_STMT
+  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _15 = uxBitsWaitedFor_10 & _14;
+  if (uxBitsWaitedFor_10 == _15)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 9>; [66.00%]
+
+  <bb 6> [local count: 401364694]:
+  # DEBUG xMatchFound => NULL
+  # DEBUG BEGIN_STMT
+  _16 = uxBitsWaitedFor_9 & 16777216;
+  if (_16 != 0)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 7> [local count: 200682347]:
+  # DEBUG BEGIN_STMT
+  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
+  # DEBUG uxBitsToClear => uxBitsToClear_18
+
+  <bb 8> [local count: 401364694]:
+  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
+  # DEBUG uxBitsToClear => uxBitsToClear_26
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _20 = _19 | 33554432;
+  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
+
+  <bb 9> [local count: 955630225]:
+  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
+  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
+
+  <bb 10> [local count: 1073741824]:
+  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
+  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
+  # DEBUG xMatchFound => NULL
+  # DEBUG uxBitsToClear => uxBitsToClear_17
+  # DEBUG pxListItem => pxListItem_7
+  # DEBUG BEGIN_STMT
+  if (pxListEnd_2 != pxListItem_7)
+    goto <bb 3>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 118111601]:
+  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
+  # DEBUG BEGIN_STMT
+  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  _23 = ~uxBitsToClear_22;
+  _24 = _21 & _23;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  # DEBUG BEGIN_STMT
+  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  return _25;
+
+}
+
+
+xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  struct EventGroup_t * pxEventBits;
+  EventBits_t uxReturn;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 3> [local count: 1073741824]:
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_2
+  # DEBUG BEGIN_STMT
+  _4 = ~uxBitsToClear_3(D);
+  _5 = uxReturn_2 & _4;
+  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  return uxReturn_2;
+
+}
+
+
+vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
+  return;
+
+}
+
+
+uxEventGroupGetNumber (void * xEventGroup)
+{
+  UBaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_2(D)
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_2(D) == 0B)
+    goto <bb 4>; [30.00%]
+  else
+    goto <bb 3>; [70.00%]
+
+  <bb 3> [local count: 751619278]:
+  # DEBUG BEGIN_STMT
+  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
+  # DEBUG xReturn => xReturn_4
+
+  <bb 4> [local count: 1073741824]:
+  # xReturn_1 = PHI <0(2), xReturn_4(3)>
+  # DEBUG xReturn => xReturn_1
+  # DEBUG BEGIN_STMT
+  return xReturn_1;
+
+}
+
+
+xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
+  # DEBUG xReturn => xReturn_6
+  # DEBUG BEGIN_STMT
+  return xReturn_6;
+
+}
+
+
+prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
+{
+  BaseType_t xWaitConditionMet;
+  long unsigned int _1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 0
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_4(D) == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_1 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 4> [local count: 268435456]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+  goto <bb 7>; [100.00%]
+
+  <bb 5> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
+  if (_2 == uxBitsToWaitFor_6(D))
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 7>; [66.00%]
+
+  <bb 6> [local count: 182536110]:
+  # DEBUG BEGIN_STMT
+  # DEBUG xWaitConditionMet => 1
+
+  <bb 7> [local count: 1073741824]:
+  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
+  # DEBUG xWaitConditionMet => xWaitConditionMet_3
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return xWaitConditionMet_3;
+
+}
+
+
+vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
+  return;
+
+}
+
+
+vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
+  return;
+
+}
+
+
+vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  struct xLIST_ITEM * _1;
+  const struct MiniListItem_t * _2;
+  long unsigned int _3;
+
+  <bb 2> [local count: 230763]:
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_5(D) == 0B)
+    goto <bb 3>; [46.53%]
+  else
+    goto <bb 5>; [53.47%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 12> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 123389]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_5(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
+  # DEBUG pxTasksWaitingForBits => D#2
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 6> [local count: 1089998]:
+  # DEBUG BEGIN_STMT
+  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
+  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
+  if (_1 == _2)
+    goto <bb 7>; [5.50%]
+  else
+    goto <bb 9>; [94.50%]
+
+  <bb 7> [local count: 59950]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
+
+  <bb 8> [local count: 599500022]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 13> [local count: 599500022]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 1030048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskRemoveFromUnorderedEventList (_1, 33554432);
+
+  <bb 10> [local count: 1153437]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
+  if (_3 != 0)
+    goto <bb 6>; [94.50%]
+  else
+    goto <bb 11>; [5.50%]
+
+  <bb 11> [local count: 63439]:
+  # DEBUG BEGIN_STMT
+  vPortFree (xEventGroup_5(D));
+  # DEBUG BEGIN_STMT
+  xTaskResumeAll ();
+  return;
+
+}
+
+
+xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
+{
+  EventBits_t D.6634;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG uxBitsToClear => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG xMatchFound => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToSet_4(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
+  return _6;
+
+}
+
+
+xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
+{
+  uint32_t ulOriginalBASEPRI;
+  uint32_t ulNewBASEPRI;
+  EventBits_t uxReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_1(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs %0, basepri											
+	mov %1, %2												
+	msr basepri, %1											
+	isb														
+	dsb														
+" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
+  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG ulOriginalBASEPRI => NULL
+  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
+  # DEBUG BEGIN_STMT
+  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_3
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  # DEBUG BEGIN_STMT
+  return uxReturn_3;
+
+}
+
+
+xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  BaseType_t xReturn;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
+  # DEBUG xReturn => xReturn_5
+  # DEBUG BEGIN_STMT
+  return xReturn_5;
+
+}
+
+
+xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
+{
+  EventBits_t D.6607;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int _1;
+
+  <bb 2> [local count: 228942]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_3(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_3(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 68683]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
+
+  <bb 4> [local count: 686828460]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 9> [local count: 686828460]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 160260]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToClear_5(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 7> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 52886]:
+  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
+  return _2;
+
+}
+
+
+xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  const EventBits_t uxCurrentEventBits;
+  BaseType_t xAlreadyYielded;
+  BaseType_t xWaitConditionMet;
+  EventBits_t uxControlBits;
+  EventBits_t uxReturn;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  struct List_t * _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  long int _8;
+  long unsigned int _9;
+  long unsigned int _10;
+
+  <bb 2> [local count: 306783]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_22(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 0
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  if (xEventGroup_22(D) == 0B)
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 5>; [70.00%]
+
+  <bb 3> [local count: 92035]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
+
+  <bb 4> [local count: 920350133]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 34> [local count: 920350133]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_23(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 8>; [50.00%]
+
+  <bb 6> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
+
+  <bb 7> [local count: 1073741823]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 35> [local count: 1073741824]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_23(D) == 0)
+    goto <bb 9>; [67.00%]
+  else
+    goto <bb 11>; [33.00%]
+
+  <bb 9> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 10> [local count: 719407021]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 36> [local count: 719407021]:
+  goto <bb 10>; [100.00%]
+
+  <bb 11> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 12>; [67.00%]
+
+  <bb 12> [local count: 23740]:
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 15>; [50.00%]
+  else
+    goto <bb 13>; [50.00%]
+
+  <bb 13> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
+
+  <bb 14> [local count: 118702158]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 37> [local count: 118702158]:
+  goto <bb 14>; [100.00%]
+
+  <bb 15> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  # DEBUG xWaitConditionMet => xWaitConditionMet_31
+  # DEBUG BEGIN_STMT
+  if (xWaitConditionMet_31 != 0)
+    goto <bb 16>; [50.00%]
+  else
+    goto <bb 18>; [50.00%]
+
+  <bb 16> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => uxCurrentEventBits_28
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 17>; [50.00%]
+  else
+    goto <bb 24>; [50.00%]
+
+  <bb 17> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  _3 = ~uxBitsToWaitFor_23(D);
+  _4 = _3 & uxCurrentEventBits_28;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
+  goto <bb 24>; [100.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_26(D) == 0)
+    goto <bb 24>; [50.00%]
+  else
+    goto <bb 19>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 20>; [50.00%]
+  else
+    goto <bb 21>; [50.00%]
+
+  <bb 20> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxControlBits => 16777216
+
+  <bb 21> [local count: 5891]:
+  # uxControlBits_15 = PHI <0(19), 16777216(20)>
+  # DEBUG uxControlBits => uxControlBits_15
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xWaitForAllBits_29(D) != 0)
+    goto <bb 22>; [50.00%]
+  else
+    goto <bb 23>; [50.00%]
+
+  <bb 22> [local count: 2945]:
+  # DEBUG BEGIN_STMT
+  uxControlBits_33 = uxControlBits_15 | 67108864;
+  # DEBUG uxControlBits => uxControlBits_33
+
+  <bb 23> [local count: 5891]:
+  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
+  # DEBUG uxControlBits => uxControlBits_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
+  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
+  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+
+  <bb 24> [local count: 23563]:
+  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
+  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
+  # DEBUG xTimeoutOccurred => NULL
+  # DEBUG uxReturn => uxReturn_12
+  # DEBUG xTicksToWait => xTicksToWait_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_37 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_37
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_11 != 0)
+    goto <bb 25>; [50.00%]
+  else
+    goto <bb 33>; [50.00%]
+
+  <bb 25> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_37 == 0)
+    goto <bb 26>; [50.00%]
+  else
+    goto <bb 27>; [50.00%]
+
+  <bb 26> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_42 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_42
+  # DEBUG BEGIN_STMT
+  _7 = uxReturn_42 & 33554432;
+  if (_7 == 0)
+    goto <bb 28>; [33.00%]
+  else
+    goto <bb 32>; [67.00%]
+
+  <bb 28> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_44
+  # DEBUG BEGIN_STMT
+  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
+  if (_8 != 0)
+    goto <bb 29>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 29> [local count: 1944]:
+  # DEBUG BEGIN_STMT
+  if (xClearOnExit_32(D) != 0)
+    goto <bb 30>; [50.00%]
+  else
+    goto <bb 31>; [50.00%]
+
+  <bb 30> [local count: 972]:
+  # DEBUG BEGIN_STMT
+  _9 = ~uxBitsToWaitFor_23(D);
+  _10 = _9 & uxReturn_44;
+  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
+
+  <bb 31> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+
+  <bb 32> [local count: 11782]:
+  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
+  # DEBUG uxReturn => uxReturn_13
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_48 = uxReturn_13 & 16777215;
+  # DEBUG uxReturn => uxReturn_48
+
+  <bb 33> [local count: 23563]:
+  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
+  # DEBUG uxReturn => uxReturn_14
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_14;
+
+}
+
+
+xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  BaseType_t xAlreadyYielded;
+  EventBits_t uxReturn;
+  EventBits_t uxOriginalBitValue;
+  long unsigned int _1;
+  long int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int _7;
+  struct List_t * _8;
+  long unsigned int _9;
+  long unsigned int _10;
+  long unsigned int _11;
+  long unsigned int _12;
+  long unsigned int _13;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pxEventBits => xEventGroup_23(D)
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 0
+  # DEBUG BEGIN_STMT
+  _1 = uxBitsToWaitFor_24(D) & 4278190080;
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 26> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (uxBitsToWaitFor_24(D) == 0)
+    goto <bb 6>; [67.00%]
+  else
+    goto <bb 8>; [33.00%]
+
+  <bb 6> [local count: 71941]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 7> [local count: 719407023]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 27> [local count: 719407023]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 35433]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = xTaskGetSchedulerState ();
+  if (_2 != 0)
+    goto <bb 12>; [33.00%]
+  else
+    goto <bb 9>; [67.00%]
+
+  <bb 9> [local count: 23740]:
+  if (xTicksToWait_27(D) == 0)
+    goto <bb 12>; [50.00%]
+  else
+    goto <bb 10>; [50.00%]
+
+  <bb 10> [local count: 11870]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
+
+  <bb 11> [local count: 118702159]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 28> [local count: 118702159]:
+  goto <bb 11>; [100.00%]
+
+  <bb 12> [local count: 23563]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vTaskSuspendAll ();
+  # DEBUG BEGIN_STMT
+  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
+  # DEBUG BEGIN_STMT
+  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
+  # DEBUG BEGIN_STMT
+  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
+  _4 = _3 & uxBitsToWaitFor_24(D);
+  if (_4 == uxBitsToWaitFor_24(D))
+    goto <bb 13>; [34.00%]
+  else
+    goto <bb 14>; [66.00%]
+
+  <bb 13> [local count: 8011]:
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => _3
+  # DEBUG BEGIN_STMT
+  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  _6 = ~uxBitsToWaitFor_24(D);
+  _7 = _5 & _6;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
+  # DEBUG BEGIN_STMT
+  # DEBUG xTicksToWait => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 14> [local count: 15552]:
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_27(D) != 0)
+    goto <bb 15>; [33.00%]
+  else
+    goto <bb 16>; [67.00%]
+
+  <bb 15> [local count: 5132]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
+  _9 = uxBitsToWaitFor_24(D) | 83886080;
+  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
+  # DEBUG BEGIN_STMT
+  # DEBUG uxReturn => 0
+  goto <bb 17>; [100.00%]
+
+  <bb 16> [local count: 10420]:
+  # DEBUG BEGIN_STMT
+  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_32
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 17> [local count: 23563]:
+  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
+  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
+  # DEBUG uxReturn => uxReturn_15
+  # DEBUG xTicksToWait => xTicksToWait_14
+  # DEBUG BEGIN_STMT
+  xAlreadyYielded_36 = xTaskResumeAll ();
+  # DEBUG xAlreadyYielded => xAlreadyYielded_36
+  # DEBUG BEGIN_STMT
+  if (xTicksToWait_14 != 0)
+    goto <bb 18>; [50.00%]
+  else
+    goto <bb 25>; [50.00%]
+
+  <bb 18> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  if (xAlreadyYielded_36 == 0)
+    goto <bb 19>; [50.00%]
+  else
+    goto <bb 20>; [50.00%]
+
+  <bb 19> [local count: 5891]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("dsb" :  :  : "memory");
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("isb");
+  # DEBUG BEGIN_STMT
+
+  <bb 20> [local count: 11782]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_41 = uxTaskResetEventItemValue ();
+  # DEBUG uxReturn => uxReturn_41
+  # DEBUG BEGIN_STMT
+  _10 = uxReturn_41 & 33554432;
+  if (_10 == 0)
+    goto <bb 21>; [33.00%]
+  else
+    goto <bb 24>; [67.00%]
+
+  <bb 21> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  vPortEnterCritical ();
+  # DEBUG BEGIN_STMT
+  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
+  # DEBUG uxReturn => uxReturn_43
+  # DEBUG BEGIN_STMT
+  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
+  if (_11 == uxBitsToWaitFor_24(D))
+    goto <bb 22>; [34.00%]
+  else
+    goto <bb 23>; [66.00%]
+
+  <bb 22> [local count: 1322]:
+  # DEBUG BEGIN_STMT
+  _12 = ~uxBitsToWaitFor_24(D);
+  _13 = _12 & uxReturn_43;
+  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
+
+  <bb 23> [local count: 3888]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortExitCritical ();
+  # DEBUG BEGIN_STMT
+  # DEBUG xTimeoutOccurred => 1
+
+  <bb 24> [local count: 11782]:
+  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
+  # DEBUG uxReturn => uxReturn_16
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxReturn_46 = uxReturn_16 & 16777215;
+  # DEBUG uxReturn => uxReturn_46
+
+  <bb 25> [local count: 23563]:
+  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
+  # DEBUG uxReturn => uxReturn_17
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return uxReturn_17;
+
+}
+
+
+xEventGroupCreate ()
+{
+  struct EventGroup_t * pxEventBits;
+  struct List_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxEventBits_5 = pvPortMalloc (28);
+  # DEBUG pxEventBits => pxEventBits_5
+  # DEBUG BEGIN_STMT
+  if (pxEventBits_5 != 0B)
+    goto <bb 3>; [53.47%]
+  else
+    goto <bb 4>; [46.53%]
+
+  <bb 3> [local count: 574129754]:
+  # DEBUG BEGIN_STMT
+  pxEventBits_5->uxEventBits = 0;
+  # DEBUG BEGIN_STMT
+  _1 = &pxEventBits_5->xTasksWaitingForBits;
+  vListInitialise (_1);
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return pxEventBits_5;
+
+}
+
+

+ 38 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.d

@@ -0,0 +1,38 @@
+FreeRTOS/Source/event_groups.o: ../FreeRTOS/Source/event_groups.c \
+ ../FreeRTOS/Source/include/FreeRTOS.h \
+ ../FreeRTOS/Source/include/FreeRTOSConfig.h \
+ ../FreeRTOS/Source/include/projdefs.h \
+ ../FreeRTOS/Source/include/portable.h \
+ ../FreeRTOS/Source/include/deprecated_definitions.h \
+ D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
+ ../FreeRTOS/Source/include/mpu_wrappers.h \
+ ../FreeRTOS/Source/include/task.h ../FreeRTOS/Source/include/list.h \
+ ../FreeRTOS/Source/include/timers.h ../FreeRTOS/Source/include/task.h \
+ ../FreeRTOS/Source/include/event_groups.h \
+ ../FreeRTOS/Source/include/timers.h
+
+../FreeRTOS/Source/include/FreeRTOS.h:
+
+../FreeRTOS/Source/include/FreeRTOSConfig.h:
+
+../FreeRTOS/Source/include/projdefs.h:
+
+../FreeRTOS/Source/include/portable.h:
+
+../FreeRTOS/Source/include/deprecated_definitions.h:
+
+D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
+
+../FreeRTOS/Source/include/mpu_wrappers.h:
+
+../FreeRTOS/Source/include/task.h:
+
+../FreeRTOS/Source/include/list.h:
+
+../FreeRTOS/Source/include/timers.h:
+
+../FreeRTOS/Source/include/task.h:
+
+../FreeRTOS/Source/include/event_groups.h:
+
+../FreeRTOS/Source/include/timers.h:

BIN
Debug_FLASH/FreeRTOS/Source/event_groups.o


+ 13 - 0
Debug_FLASH/FreeRTOS/Source/event_groups.su

@@ -0,0 +1,13 @@
+event_groups.c:148:24:xEventGroupCreate	8	static
+event_groups.c:317:13:xEventGroupWaitBits	32	static
+event_groups.c:473:13:xEventGroupClearBits	16	static
+event_groups.c:683:6:vEventGroupClearBitsCallback	0	static
+event_groups.c:503:16:xEventGroupClearBitsFromISR	0	static
+event_groups.c:517:13:xEventGroupGetBitsFromISR	0	static
+event_groups.c:533:13:xEventGroupSetBits	24	static
+event_groups.c:194:13:xEventGroupSync	24	static
+event_groups.c:674:6:vEventGroupSetBitsCallback	0	static
+event_groups.c:628:6:vEventGroupDelete	16	static
+event_groups.c:729:16:xEventGroupSetBitsFromISR	0	static
+event_groups.c:746:17:uxEventGroupGetNumber	0	static
+event_groups.c:768:10:vEventGroupSetNumber	0	static

+ 328 - 0
Debug_FLASH/FreeRTOS/Source/list.c.000i.cgraph

@@ -0,0 +1,328 @@
+Trivially needed symbols: uxListRemove vListInsert vListInsertEnd vListInitialiseItem vListInitialise
+
+
+Initial Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @01733ea0
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06b71380
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06b71d20
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06b71a80
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06b717e0
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06b16460
+  Type: function definition
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06b161c0
+  Type: function definition
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b10e00
+  Type: function definition
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+xPortIsInsideInterrupt/0 (xPortIsInsideInterrupt) @06b10b60
+  Type: function definition
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+
+Removing unused symbols: vPortSetBASEPRI ulPortRaiseBASEPRI vPortRaiseBASEPRI xPortIsInsideInterrupt
+
+Reclaimed Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+
+
+Initial Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+
+Removing unused symbols:
+
+Reclaimed Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Optimized Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+Materializing clones
+Materialization Call site updates done.
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Time profile order in expand_all_functions:vListInitialise:0
+Time profile order in expand_all_functions:vListInitialiseItem:0
+Time profile order in expand_all_functions:vListInsertEnd:0
+Time profile order in expand_all_functions:vListInsert:0
+Time profile order in expand_all_functions:uxListRemove:0
+Trivially needed variables:
+Removing variables:
+
+Final Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 

+ 0 - 0
Debug_FLASH/FreeRTOS/Source/list.c.000i.ipa-clones


+ 0 - 0
Debug_FLASH/FreeRTOS/Source/list.c.000i.type-inheritance


+ 233 - 0
Debug_FLASH/FreeRTOS/Source/list.c.016i.visibility

@@ -0,0 +1,233 @@
+
+Marking local functions:
+
+
+Marking externally visible functions: uxListRemove vListInsert vListInsertEnd vListInitialiseItem vListInitialise
+
+
+Marking externally visible variables:
+
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  UBaseType_t D.6027;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxList = pxItemToRemove->pvContainer;
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove->pxNext;
+  _2 = pxItemToRemove->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _3 = pxItemToRemove->pxPrevious;
+  _4 = pxItemToRemove->pxNext;
+  _3->pxNext = _4;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = pxList->pxIndex;
+  if (pxItemToRemove == _5)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _6 = pxItemToRemove->pxPrevious;
+  pxList->pxIndex = _6;
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _7 = pxList->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList->uxNumberOfItems = _8;
+  # DEBUG BEGIN_STMT
+  D.6027 = pxList->uxNumberOfItems;
+  return D.6027;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion = pxNewListItem->xItemValue;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion == 4294967295)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  pxIterator = pxList->xListEnd.pxPrevious;
+  goto <bb 7>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  pxIterator = &pxList->xListEnd;
+  goto <bb 6>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxIterator = pxIterator->pxNext;
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator->pxNext;
+  _2 = _1->xItemValue;
+  if (xValueOfInsertion >= _2)
+    goto <bb 5>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator->pxNext;
+  pxNewListItem->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _4 = pxNewListItem->pxNext;
+  _4->pxPrevious = pxNewListItem;
+  # DEBUG BEGIN_STMT
+  pxNewListItem->pxPrevious = pxIterator;
+  # DEBUG BEGIN_STMT
+  pxIterator->pxNext = pxNewListItem;
+  # DEBUG BEGIN_STMT
+  pxNewListItem->pvContainer = pxList;
+  # DEBUG BEGIN_STMT
+  _5 = pxList->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList->uxNumberOfItems = _6;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxIndex = pxList->pxIndex;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem->pxNext = pxIndex;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex->pxPrevious;
+  pxNewListItem->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex->pxPrevious;
+  _2->pxNext = pxNewListItem;
+  # DEBUG BEGIN_STMT
+  pxIndex->pxPrevious = pxNewListItem;
+  # DEBUG BEGIN_STMT
+  pxNewListItem->pvContainer = pxList;
+  # DEBUG BEGIN_STMT
+  _3 = pxList->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList->uxNumberOfItems = _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxItem->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  _1 = &pxList->xListEnd;
+  pxList->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  _2 = &pxList->xListEnd;
+  pxList->xListEnd.pxNext = _2;
+  # DEBUG BEGIN_STMT
+  _3 = &pxList->xListEnd;
+  pxList->xListEnd.pxPrevious = _3;
+  # DEBUG BEGIN_STMT
+  pxList->uxNumberOfItems = 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 173 - 0
Debug_FLASH/FreeRTOS/Source/list.c.017i.build_ssa_passes

@@ -0,0 +1,173 @@
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  UBaseType_t D.6027;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxList = pxItemToRemove->pvContainer;
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove->pxNext;
+  _2 = pxItemToRemove->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _3 = pxItemToRemove->pxPrevious;
+  _4 = pxItemToRemove->pxNext;
+  _3->pxNext = _4;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = pxList->pxIndex;
+  if (pxItemToRemove == _5)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _6 = pxItemToRemove->pxPrevious;
+  pxList->pxIndex = _6;
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _7 = pxList->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList->uxNumberOfItems = _8;
+  # DEBUG BEGIN_STMT
+  D.6027 = pxList->uxNumberOfItems;
+  return D.6027;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion = pxNewListItem->xItemValue;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion == 4294967295)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  pxIterator = pxList->xListEnd.pxPrevious;
+  goto <bb 7>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  pxIterator = &pxList->xListEnd;
+  goto <bb 6>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxIterator = pxIterator->pxNext;
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator->pxNext;
+  _2 = _1->xItemValue;
+  if (xValueOfInsertion >= _2)
+    goto <bb 5>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator->pxNext;
+  pxNewListItem->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _4 = pxNewListItem->pxNext;
+  _4->pxPrevious = pxNewListItem;
+  # DEBUG BEGIN_STMT
+  pxNewListItem->pxPrevious = pxIterator;
+  # DEBUG BEGIN_STMT
+  pxIterator->pxNext = pxNewListItem;
+  # DEBUG BEGIN_STMT
+  pxNewListItem->pvContainer = pxList;
+  # DEBUG BEGIN_STMT
+  _5 = pxList->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList->uxNumberOfItems = _6;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxIndex = pxList->pxIndex;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem->pxNext = pxIndex;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex->pxPrevious;
+  pxNewListItem->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex->pxPrevious;
+  _2->pxNext = pxNewListItem;
+  # DEBUG BEGIN_STMT
+  pxIndex->pxPrevious = pxNewListItem;
+  # DEBUG BEGIN_STMT
+  pxNewListItem->pvContainer = pxList;
+  # DEBUG BEGIN_STMT
+  _3 = pxList->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList->uxNumberOfItems = _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxItem->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  _1 = &pxList->xListEnd;
+  pxList->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  _2 = &pxList->xListEnd;
+  pxList->xListEnd.pxNext = _2;
+  # DEBUG BEGIN_STMT
+  _3 = &pxList->xListEnd;
+  pxList->xListEnd.pxPrevious = _3;
+  # DEBUG BEGIN_STMT
+  pxList->uxNumberOfItems = 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 205 - 0
Debug_FLASH/FreeRTOS/Source/list.c.022i.opt_local_passes

@@ -0,0 +1,205 @@
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct xLIST_ITEM * _3;
+  struct xLIST_ITEM * _4;
+  struct ListItem_t * _5;
+  struct xLIST_ITEM * _6;
+  long unsigned int _7;
+  long unsigned int _8;
+  UBaseType_t _18;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxList_12 = pxItemToRemove_11(D)->pvContainer;
+  # DEBUG pxList => pxList_12
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_11(D)->pxNext;
+  _2 = pxItemToRemove_11(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _3 = pxItemToRemove_11(D)->pxPrevious;
+  _4 = pxItemToRemove_11(D)->pxNext;
+  _3->pxNext = _4;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = pxList_12->pxIndex;
+  if (pxItemToRemove_11(D) == _5)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _6 = pxItemToRemove_11(D)->pxPrevious;
+  pxList_12->pxIndex = _6;
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_11(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _7 ={v} pxList_12->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList_12->uxNumberOfItems ={v} _8;
+  # DEBUG BEGIN_STMT
+  _18 ={v} pxList_12->uxNumberOfItems;
+  return _18;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  struct xLIST_ITEM * _4;
+  long unsigned int _5;
+  long unsigned int _6;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_11
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_11 == 4294967295)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_15
+  goto <bb 7>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = &pxList_12(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxIterator_14 = pxIterator_7->pxNext;
+  # DEBUG pxIterator => pxIterator_14
+
+  <bb 6> :
+  # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_7->pxNext;
+  _2 = _1->xItemValue;
+  if (xValueOfInsertion_11 >= _2)
+    goto <bb 5>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
+  # DEBUG pxIterator => pxIterator_8
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_8->pxNext;
+  pxNewListItem_10(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _4 = pxNewListItem_10(D)->pxNext;
+  _4->pxPrevious = pxNewListItem_10(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_10(D)->pxPrevious = pxIterator_8;
+  # DEBUG BEGIN_STMT
+  pxIterator_8->pxNext = pxNewListItem_10(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_10(D)->pvContainer = pxList_12(D);
+  # DEBUG BEGIN_STMT
+  _5 ={v} pxList_12(D)->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList_12(D)->uxNumberOfItems ={v} _6;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+  struct MiniListItem_t * _2;
+  struct MiniListItem_t * _3;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_4(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  _2 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxNext = _2;
+  # DEBUG BEGIN_STMT
+  _3 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxPrevious = _3;
+  # DEBUG BEGIN_STMT
+  pxList_4(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 240 - 0
Debug_FLASH/FreeRTOS/Source/list.c.048i.remove_symbols

@@ -0,0 +1,240 @@
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 189 - 0
Debug_FLASH/FreeRTOS/Source/list.c.060i.targetclone

@@ -0,0 +1,189 @@
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 189 - 0
Debug_FLASH/FreeRTOS/Source/list.c.064i.free-fnsummary1

@@ -0,0 +1,189 @@
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 250 - 0
Debug_FLASH/FreeRTOS/Source/list.c.068i.whole-program

@@ -0,0 +1,250 @@
+
+Marking local functions:
+
+
+Marking externally visible functions: uxListRemove vListInsert vListInsertEnd vListInitialiseItem vListInitialise
+
+
+Marking externally visible variables:
+
+Clearing variable flags:
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 190 - 0
Debug_FLASH/FreeRTOS/Source/list.c.069i.profile_estimate

@@ -0,0 +1,190 @@
+Histogram:
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 236 - 0
Debug_FLASH/FreeRTOS/Source/list.c.070i.icf

@@ -0,0 +1,236 @@
+Parsed function:uxListRemove
+Parsed function:vListInsert
+Parsed function:vListInsertEnd
+Parsed function:vListInitialiseItem
+Parsed function:vListInitialise
+Dump after hash based groups
+Congruence classes: 5 (unique hash values: 5), with total: 5 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 5 classes
+
+
+Dump after WPA based types groups
+Congruence classes: 5 (unique hash values: 5), with total: 5 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 5 classes
+
+
+Worklist has been filled with: 0
+Address reference subdivision created: 0 new classes.
+Dump after callgraph-based congruence reduction
+Congruence classes: 5 (unique hash values: 5), with total: 5 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 5 classes
+
+
+Init called for 0 items (0.00%).
+Dump after full equality comparison of groups
+Congruence classes: 5 (unique hash values: 5), with total: 5 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 5 classes
+
+
+Worklist has been filled with: 0
+Address reference subdivision created: 0 new classes.
+Congruence classes: 5 (unique hash values: 5), with total: 5 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 5 classes
+
+
+
+Item count: 5
+Congruent classes before: 5, after: 5
+Average class size before: 1.00, after: 1.00
+Average non-singular class size: 0.00, count: 0
+Equal symbols: 0
+Fraction of visited symbols: 0.00%
+
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 236 - 0
Debug_FLASH/FreeRTOS/Source/list.c.071i.devirt

@@ -0,0 +1,236 @@
+Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 330 - 0
Debug_FLASH/FreeRTOS/Source/list.c.072i.cp

@@ -0,0 +1,330 @@
+
+IPA constant propagation start:
+
+IPA structures before propagation:
+
+Jump functions:
+  Jump functions of caller  uxListRemove/8:
+  Jump functions of caller  vListInsert/7:
+  Jump functions of caller  vListInsertEnd/6:
+  Jump functions of caller  vListInitialiseItem/5:
+  Jump functions of caller  vListInitialise/4:
+
+ Propagating constants:
+
+Not considering uxListRemove for cloning; -fipa-cp-clone disabled.
+Not considering vListInsert for cloning; -fipa-cp-clone disabled.
+Not considering vListInsertEnd for cloning; -fipa-cp-clone disabled.
+Not considering vListInitialiseItem for cloning; -fipa-cp-clone disabled.
+Not considering vListInitialise for cloning; -fipa-cp-clone disabled.
+
+overall_size: 63, max_new_size: 11001
+
+IPA lattices after all propagation:
+
+Lattices:
+  Node: uxListRemove/8:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: vListInsert/7:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [1]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: vListInsertEnd/6:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [1]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: vListInitialiseItem/5:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+  Node: vListInitialise/4:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+
+IPA decision stage:
+
+
+IPA constant propagation end
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+
+;; Function vListInitialise (vListInitialise, funcdef_no=4, decl_uid=5982, cgraph_uid=5, symbol_order=4)
+
+Modification phase of node vListInitialise/4
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+
+;; Function vListInitialiseItem (vListInitialiseItem, funcdef_no=5, decl_uid=5984, cgraph_uid=6, symbol_order=5)
+
+Modification phase of node vListInitialiseItem/5
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+
+;; Function vListInsertEnd (vListInsertEnd, funcdef_no=6, decl_uid=5990, cgraph_uid=7, symbol_order=6)
+
+Modification phase of node vListInsertEnd/6
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+
+;; Function vListInsert (vListInsert, funcdef_no=7, decl_uid=5987, cgraph_uid=8, symbol_order=7)
+
+Modification phase of node vListInsert/7
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+
+;; Function uxListRemove (uxListRemove, funcdef_no=8, decl_uid=5992, cgraph_uid=9, symbol_order=8)
+
+Modification phase of node uxListRemove/8
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+

+ 380 - 0
Debug_FLASH/FreeRTOS/Source/list.c.075i.fnsummary

@@ -0,0 +1,380 @@
+
+Analyzing function: uxListRemove/8
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4
+;; 2 succs { 3 4 }
+;; 3 succs { 4 }
+;; 4 succs { 1 }
+
+Analyzing function body size: uxListRemove
+
+IPA function summary for uxListRemove/8 inlinable
+  global time:     15.300000
+  self size:       17
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:10.500000, time:9.800000
+    size:3.500000, time:2.500000,  executed if:(not inlined)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 128] changed) && (not inlined)
+    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 128] changed)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
+    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 64] changed) && (not inlined)
+    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 64] changed)
+  calls:
+
+
+Analyzing function: vListInsert/7
+;; 2 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 5 7 6
+;;
+;; Loop 1
+;;  header 5, latch 7
+;;  depth 1, outer 0
+;;  nodes: 5 7
+;; 2 succs { 3 4 }
+;; 3 succs { 6 }
+;; 4 succs { 5 }
+;; 5 succs { 7 6 }
+;; 7 succs { 5 }
+;; 6 succs { 1 }
+
+Analyzing function body size: vListInsert
+
+IPA function summary for vListInsert/7 inlinable
+  global time:     38.340000
+  self size:       20
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:5.000000, time:5.000000
+    size:5.000000, time:4.000000,  executed if:(not inlined)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op1[ref offset: 0] changed) && (not inlined)
+    size:2.500000, time:2.500000,  nonconst if:(op1[ref offset: 0] changed)
+    size:4.000000, time:24.000000,  executed if:(op1[ref offset: 0] != 4294967295)
+    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295) && (not inlined),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295) && (not inlined)
+    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
+    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
+  calls:
+
+
+Analyzing function: vListInsertEnd/6
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: vListInsertEnd
+
+IPA function summary for vListInsertEnd/6 inlinable
+  global time:     13.000000
+  self size:       14
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:6.000000, time:6.000000
+    size:5.000000, time:4.000000,  executed if:(not inlined)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
+    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
+    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
+  calls:
+
+
+Analyzing function: vListInitialiseItem/5
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: vListInitialiseItem
+
+IPA function summary for vListInitialiseItem/5 inlinable
+  global time:     3.000000
+  self size:       4
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.500000, time:0.500000
+    size:3.500000, time:2.500000,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: vListInitialise/4
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: vListInitialise
+
+IPA function summary for vListInitialise/4 inlinable
+  global time:     7.000000
+  self size:       8
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:2.500000, time:2.500000
+    size:5.500000, time:4.500000,  executed if:(not inlined)
+  calls:
+
+Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 414 - 0
Debug_FLASH/FreeRTOS/Source/list.c.076i.inline

@@ -0,0 +1,414 @@
+IPA function summary for uxListRemove/8 inlinable
+  global time:     15.300000
+  self size:       17
+  global size:     17
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:10.500000, time:9.800000
+    size:3.500000, time:2.500000,  executed if:(not inlined)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 128] changed) && (not inlined)
+    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 128] changed)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
+    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 64] changed) && (not inlined)
+    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 64] changed)
+  calls:
+
+IPA function summary for vListInsert/7 inlinable
+  global time:     38.340000
+  self size:       20
+  global size:     20
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:5.000000, time:5.000000
+    size:5.000000, time:4.000000,  executed if:(not inlined)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op1[ref offset: 0] changed) && (not inlined)
+    size:2.500000, time:2.500000,  nonconst if:(op1[ref offset: 0] changed)
+    size:4.000000, time:24.000000,  executed if:(op1[ref offset: 0] != 4294967295)
+    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295) && (not inlined),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295) && (not inlined)
+    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
+    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
+  calls:
+
+IPA function summary for vListInsertEnd/6 inlinable
+  global time:     13.000000
+  self size:       14
+  global size:     14
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:6.000000, time:6.000000
+    size:5.000000, time:4.000000,  executed if:(not inlined)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
+    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
+    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
+  calls:
+
+IPA function summary for vListInitialiseItem/5 inlinable
+  global time:     3.000000
+  self size:       4
+  global size:     4
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.500000, time:0.500000
+    size:3.500000, time:2.500000,  executed if:(not inlined)
+  calls:
+
+IPA function summary for vListInitialise/4 inlinable
+  global time:     7.000000
+  self size:       8
+  global size:     8
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:2.500000, time:2.500000
+    size:5.500000, time:4.500000,  executed if:(not inlined)
+  calls:
+
+
+Flattening functions:
+Overall time estimate: 76.640000 weighted by profile: 0.000000
+
+Deciding on inlining of small functions.  Starting with size 0.
+Enqueueing calls in uxListRemove/8.
+Enqueueing calls in vListInsert/7.
+Enqueueing calls in vListInsertEnd/6.
+Enqueueing calls in vListInitialiseItem/5.
+Enqueueing calls in vListInitialise/4.
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+
+Deciding on functions to be inlined into all callers and removing useless speculations:
+Overall time estimate: 76.640000 weighted by profile: 0.000000
+
+Why inlining failed?
+IPA function summary for uxListRemove/8 inlinable
+  global time:     15.300000
+  self size:       17
+  global size:     17
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:10.500000, time:9.800000
+    size:3.500000, time:2.500000,  executed if:(not inlined)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 128] changed) && (not inlined)
+    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 128] changed)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
+    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 64] changed) && (not inlined)
+    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 64] changed)
+  calls:
+
+IPA function summary for vListInsert/7 inlinable
+  global time:     38.340000
+  self size:       20
+  global size:     20
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:5.000000, time:5.000000
+    size:5.000000, time:4.000000,  executed if:(not inlined)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op1[ref offset: 0] changed) && (not inlined)
+    size:2.500000, time:2.500000,  nonconst if:(op1[ref offset: 0] changed)
+    size:4.000000, time:24.000000,  executed if:(op1[ref offset: 0] != 4294967295)
+    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295) && (not inlined),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295) && (not inlined)
+    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
+    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
+  calls:
+
+IPA function summary for vListInsertEnd/6 inlinable
+  global time:     13.000000
+  self size:       14
+  global size:     14
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:6.000000, time:6.000000
+    size:5.000000, time:4.000000,  executed if:(not inlined)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
+    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
+    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
+    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
+  calls:
+
+IPA function summary for vListInitialiseItem/5 inlinable
+  global time:     3.000000
+  self size:       4
+  global size:     4
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:0.500000, time:0.500000
+    size:3.500000, time:2.500000,  executed if:(not inlined)
+  calls:
+
+IPA function summary for vListInitialise/4 inlinable
+  global time:     7.000000
+  self size:       8
+  global size:     8
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:2.500000, time:2.500000
+    size:5.500000, time:4.500000,  executed if:(not inlined)
+  calls:
+
+Symbol table:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+
+;; Function vListInitialise (vListInitialise, funcdef_no=4, decl_uid=5982, cgraph_uid=5, symbol_order=4)
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+
+;; Function vListInitialiseItem (vListInitialiseItem, funcdef_no=5, decl_uid=5984, cgraph_uid=6, symbol_order=5)
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+
+;; Function vListInsertEnd (vListInsertEnd, funcdef_no=6, decl_uid=5990, cgraph_uid=7, symbol_order=6)
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+
+;; Function vListInsert (vListInsert, funcdef_no=7, decl_uid=5987, cgraph_uid=8, symbol_order=7)
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+
+;; Function uxListRemove (uxListRemove, funcdef_no=8, decl_uid=5992, cgraph_uid=9, symbol_order=8)
+
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+

+ 536 - 0
Debug_FLASH/FreeRTOS/Source/list.c.077i.pure-const

@@ -0,0 +1,536 @@
+
+
+ local analysis of uxListRemove
+   scanning: pxList_9 = pxItemToRemove_8(D)->pvContainer;
+    Indirect ref read is not const
+  scanning: _1 = pxItemToRemove_8(D)->pxNext;
+    Indirect ref read is not const
+  scanning: _2 = pxItemToRemove_8(D)->pxPrevious;
+    Indirect ref read is not const
+  scanning: _1->pxPrevious = _2;
+    Indirect ref write is not const/pure
+  scanning: _2->pxNext = _1;
+    Indirect ref write is not const/pure
+  scanning: _3 = pxList_9->pxIndex;
+    Indirect ref read is not const
+  scanning: if (_3 == pxItemToRemove_8(D))
+  scanning: pxList_9->pxIndex = _2;
+    Indirect ref write is not const/pure
+  scanning: pxItemToRemove_8(D)->pvContainer = 0B;
+    Indirect ref write is not const/pure
+  scanning: _4 ={v} pxList_9->uxNumberOfItems;
+    Volatile stmt is not const/pure
+    Indirect ref read is not const
+  scanning: _5 = _4 + 4294967295;
+  scanning: pxList_9->uxNumberOfItems ={v} _5;
+    Volatile stmt is not const/pure
+    Indirect ref write is not const/pure
+  scanning: _15 ={v} pxList_9->uxNumberOfItems;
+    Volatile stmt is not const/pure
+    Indirect ref read is not const
+  scanning: return _15;
+
+
+ local analysis of vListInsert
+   scanning: xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+    Indirect ref read is not const
+  scanning: if (xValueOfInsertion_10 == 4294967295)
+  scanning: pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+    Indirect ref read is not const
+  scanning: pxIterator_12 = &pxList_11(D)->xListEnd;
+  scanning: _1 = pxIterator_6->pxNext;
+    Indirect ref read is not const
+  scanning: _2 = _1->xItemValue;
+    Indirect ref read is not const
+  scanning: if (_2 <= xValueOfInsertion_10)
+  scanning: _3 = pxIterator_7->pxNext;
+    Indirect ref read is not const
+  scanning: pxNewListItem_9(D)->pxNext = _3;
+    Indirect ref write is not const/pure
+  scanning: _3->pxPrevious = pxNewListItem_9(D);
+    Indirect ref write is not const/pure
+  scanning: pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+    Indirect ref write is not const/pure
+  scanning: pxIterator_7->pxNext = pxNewListItem_9(D);
+    Indirect ref write is not const/pure
+  scanning: pxNewListItem_9(D)->pvContainer = pxList_11(D);
+    Indirect ref write is not const/pure
+  scanning: _4 ={v} pxList_11(D)->uxNumberOfItems;
+    Volatile stmt is not const/pure
+    Indirect ref read is not const
+  scanning: _5 = _4 + 1;
+  scanning: pxList_11(D)->uxNumberOfItems ={v} _5;
+    Volatile stmt is not const/pure
+    Indirect ref write is not const/pure
+  scanning: return;
+
+
+ local analysis of vListInsertEnd
+   scanning: pxIndex_7 = pxList_6(D)->pxIndex;
+    Indirect ref read is not const
+  scanning: pxNewListItem_8(D)->pxNext = pxIndex_7;
+    Indirect ref write is not const/pure
+  scanning: _1 = pxIndex_7->pxPrevious;
+    Indirect ref read is not const
+  scanning: pxNewListItem_8(D)->pxPrevious = _1;
+    Indirect ref write is not const/pure
+  scanning: _2 = pxIndex_7->pxPrevious;
+    Indirect ref read is not const
+  scanning: _2->pxNext = pxNewListItem_8(D);
+    Indirect ref write is not const/pure
+  scanning: pxIndex_7->pxPrevious = pxNewListItem_8(D);
+    Indirect ref write is not const/pure
+  scanning: pxNewListItem_8(D)->pvContainer = pxList_6(D);
+    Indirect ref write is not const/pure
+  scanning: _3 ={v} pxList_6(D)->uxNumberOfItems;
+    Volatile stmt is not const/pure
+    Indirect ref read is not const
+  scanning: _4 = _3 + 1;
+  scanning: pxList_6(D)->uxNumberOfItems ={v} _4;
+    Volatile stmt is not const/pure
+    Indirect ref write is not const/pure
+  scanning: return;
+
+
+ local analysis of vListInitialiseItem
+   scanning: pxItem_2(D)->pvContainer = 0B;
+    Indirect ref write is not const/pure
+  scanning: return;
+
+
+ local analysis of vListInitialise
+   scanning: _1 = &pxList_2(D)->xListEnd;
+  scanning: pxList_2(D)->pxIndex = _1;
+    Indirect ref write is not const/pure
+  scanning: pxList_2(D)->xListEnd.xItemValue = 4294967295;
+    Indirect ref write is not const/pure
+  scanning: pxList_2(D)->xListEnd.pxNext = _1;
+    Indirect ref write is not const/pure
+  scanning: pxList_2(D)->xListEnd.pxPrevious = _1;
+    Indirect ref write is not const/pure
+  scanning: pxList_2(D)->uxNumberOfItems ={v} 0;
+    Volatile stmt is not const/pure
+    Indirect ref write is not const/pure
+  scanning: return;
+callgraph:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745100
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745240
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06744ea0
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06744f00
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06744f40
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+
+
+ ordered call graph: reduced for nothrow
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745100
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745240
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06744ea0
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06744f00
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06744f40
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+
+
+
+MALLOC LATTICE Initial:
+uxListRemove: malloc_bottom
+vListInsert: malloc_bottom
+vListInsertEnd: malloc_bottom
+vListInitialiseItem: malloc_bottom
+vListInitialise: malloc_bottom
+
+
+MALLOC LATTICE after propagation:
+uxListRemove: malloc_bottom
+vListInsert: malloc_bottom
+vListInsertEnd: malloc_bottom
+vListInitialiseItem: malloc_bottom
+vListInitialise: malloc_bottom
+callgraph:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @067451a0
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06744f00
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745040
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745140
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745120
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+
+
+ ordered call graph: reduced
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @067451a0
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06744f00
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745040
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745140
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745120
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+
+Function found not to call free: vListInitialise
+Function found not to call free: vListInitialiseItem
+Function found not to call free: vListInsertEnd
+Function found not to call free: vListInsert
+Function found not to call free: uxListRemove
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 189 - 0
Debug_FLASH/FreeRTOS/Source/list.c.078i.free-fnsummary2

@@ -0,0 +1,189 @@
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 336 - 0
Debug_FLASH/FreeRTOS/Source/list.c.079i.static-var

@@ -0,0 +1,336 @@
+callgraph:
+
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+Clearing variable flags:
+
+Function name:uxListRemove/8:
+  locals read: 
+  locals written: 
+Function name:vListInsert/7:
+  locals read: 
+  locals written: 
+Function name:vListInsertEnd/6:
+  locals read: 
+  locals written: 
+Function name:vListInitialiseItem/5:
+  locals read: 
+  locals written: 
+Function name:vListInitialise/4:
+  locals read: 
+  locals written: 
+
+ ordered call graph: reduced
+uxListRemove/8 (uxListRemove) @06b71380
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745040
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInsert/7 (vListInsert) @06b71d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745100
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:178956970 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInsertEnd/6 (vListInsertEnd) @06b71a80
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745120
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInitialiseItem/5 (vListInitialiseItem) @06b717e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745140
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+vListInitialise/4 (vListInitialise) @06b71540
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  Aux: @06745160
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+
+
+Function name:vListInitialise/4:
+    locals read: 
+    locals written: 
+  globals read: 
+  globals written: 
+
+Function name:vListInitialiseItem/5:
+    locals read: 
+    locals written: 
+  globals read: 
+  globals written: 
+
+Function name:vListInsertEnd/6:
+    locals read: 
+    locals written: 
+  globals read: 
+  globals written: 
+
+Function name:vListInsert/7:
+    locals read: 
+    locals written: 
+  globals read: 
+  globals written: 
+
+Function name:uxListRemove/8:
+    locals read: 
+    locals written: 
+  globals read: 
+  globals written: 
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 189 - 0
Debug_FLASH/FreeRTOS/Source/list.c.080i.single-use

@@ -0,0 +1,189 @@
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 189 - 0
Debug_FLASH/FreeRTOS/Source/list.c.081i.comdats

@@ -0,0 +1,189 @@
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 189 - 0
Debug_FLASH/FreeRTOS/Source/list.c.082i.materialize-all-clones

@@ -0,0 +1,189 @@
+uxListRemove (struct ListItem_t * const pxItemToRemove)
+{
+  struct List_t * const pxList;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  struct ListItem_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  UBaseType_t _15;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxList_9 = pxItemToRemove_8(D)->pvContainer;
+  # DEBUG pxList => pxList_9
+  # DEBUG BEGIN_STMT
+  _1 = pxItemToRemove_8(D)->pxNext;
+  _2 = pxItemToRemove_8(D)->pxPrevious;
+  _1->pxPrevious = _2;
+  # DEBUG BEGIN_STMT
+  _2->pxNext = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = pxList_9->pxIndex;
+  if (_3 == pxItemToRemove_8(D))
+    goto <bb 3>; [30.00%]
+  else
+    goto <bb 4>; [70.00%]
+
+  <bb 3> [local count: 322122547]:
+  # DEBUG BEGIN_STMT
+  pxList_9->pxIndex = _2;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxItemToRemove_8(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_9->uxNumberOfItems;
+  _5 = _4 + 4294967295;
+  pxList_9->uxNumberOfItems ={v} _5;
+  # DEBUG BEGIN_STMT
+  _15 ={v} pxList_9->uxNumberOfItems;
+  return _15;
+
+}
+
+
+vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  const TickType_t xValueOfInsertion;
+  struct ListItem_t * pxIterator;
+  struct xLIST_ITEM * _1;
+  long unsigned int _2;
+  struct xLIST_ITEM * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+
+  <bb 2> [local count: 178956970]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
+  # DEBUG xValueOfInsertion => xValueOfInsertion_10
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  if (xValueOfInsertion_10 == 4294967295)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 4>; [66.00%]
+
+  <bb 3> [local count: 60845370]:
+  # DEBUG BEGIN_STMT
+  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
+  # DEBUG pxIterator => pxIterator_13
+  goto <bb 6>; [100.00%]
+
+  <bb 4> [local count: 118111600]:
+  # DEBUG BEGIN_STMT
+  pxIterator_12 = &pxList_11(D)->xListEnd;
+  # DEBUG pxIterator => pxIterator_12
+
+  <bb 5> [local count: 1073741824]:
+  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
+  # DEBUG pxIterator => pxIterator_6
+  # DEBUG BEGIN_STMT
+  _1 = pxIterator_6->pxNext;
+  _2 = _1->xItemValue;
+  if (_2 <= xValueOfInsertion_10)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 955630223]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 178956970]:
+  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
+  # DEBUG pxIterator => pxIterator_7
+  # DEBUG BEGIN_STMT
+  _3 = pxIterator_7->pxNext;
+  pxNewListItem_9(D)->pxNext = _3;
+  # DEBUG BEGIN_STMT
+  _3->pxPrevious = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
+  # DEBUG BEGIN_STMT
+  pxIterator_7->pxNext = pxNewListItem_9(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_9(D)->pvContainer = pxList_11(D);
+  # DEBUG BEGIN_STMT
+  _4 ={v} pxList_11(D)->uxNumberOfItems;
+  _5 = _4 + 1;
+  pxList_11(D)->uxNumberOfItems ={v} _5;
+  return;
+
+}
+
+
+vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
+{
+  struct ListItem_t * const pxIndex;
+  struct xLIST_ITEM * _1;
+  struct xLIST_ITEM * _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxIndex_7 = pxList_6(D)->pxIndex;
+  # DEBUG pxIndex => pxIndex_7
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pxNext = pxIndex_7;
+  # DEBUG BEGIN_STMT
+  _1 = pxIndex_7->pxPrevious;
+  pxNewListItem_8(D)->pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = pxIndex_7->pxPrevious;
+  _2->pxNext = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxIndex_7->pxPrevious = pxNewListItem_8(D);
+  # DEBUG BEGIN_STMT
+  pxNewListItem_8(D)->pvContainer = pxList_6(D);
+  # DEBUG BEGIN_STMT
+  _3 ={v} pxList_6(D)->uxNumberOfItems;
+  _4 = _3 + 1;
+  pxList_6(D)->uxNumberOfItems ={v} _4;
+  return;
+
+}
+
+
+vListInitialiseItem (struct ListItem_t * const pxItem)
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  pxItem_2(D)->pvContainer = 0B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vListInitialise (struct List_t * const pxList)
+{
+  struct MiniListItem_t * _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  _1 = &pxList_2(D)->xListEnd;
+  pxList_2(D)->pxIndex = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.xItemValue = 4294967295;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxNext = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->xListEnd.pxPrevious = _1;
+  # DEBUG BEGIN_STMT
+  pxList_2(D)->uxNumberOfItems ={v} 0;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 25 - 0
Debug_FLASH/FreeRTOS/Source/list.d

@@ -0,0 +1,25 @@
+FreeRTOS/Source/list.o: ../FreeRTOS/Source/list.c \
+ ../FreeRTOS/Source/include/FreeRTOS.h \
+ ../FreeRTOS/Source/include/FreeRTOSConfig.h \
+ ../FreeRTOS/Source/include/projdefs.h \
+ ../FreeRTOS/Source/include/portable.h \
+ ../FreeRTOS/Source/include/deprecated_definitions.h \
+ D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
+ ../FreeRTOS/Source/include/mpu_wrappers.h \
+ ../FreeRTOS/Source/include/list.h
+
+../FreeRTOS/Source/include/FreeRTOS.h:
+
+../FreeRTOS/Source/include/FreeRTOSConfig.h:
+
+../FreeRTOS/Source/include/projdefs.h:
+
+../FreeRTOS/Source/include/portable.h:
+
+../FreeRTOS/Source/include/deprecated_definitions.h:
+
+D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
+
+../FreeRTOS/Source/include/mpu_wrappers.h:
+
+../FreeRTOS/Source/include/list.h:

BIN
Debug_FLASH/FreeRTOS/Source/list.o


+ 5 - 0
Debug_FLASH/FreeRTOS/Source/list.su

@@ -0,0 +1,5 @@
+list.c:50:6:vListInitialise	0	static
+list.c:75:6:vListInitialiseItem	0	static
+list.c:87:6:vListInsertEnd	0	static
+list.c:117:6:vListInsert	12	static
+list.c:188:13:uxListRemove	0	static

+ 47 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.args

@@ -0,0 +1,47 @@
+-std=c99
+-DCPU_S32K144HFT0VLLT
+-DI_CACHE_ENABLE
+-DENABLE_FPU
+-DGCC
+-DS32K1XX
+-DS32K144
+-I../FreeRTOS/Source/include
+-I"D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/include"
+-I"D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F"
+-I../RTD/include
+-I"D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/include"
+-I"D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F"
+-ID:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/generate/include
+-ID:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/RTD/include
+-I"D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/board"
+-I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/header"
+-I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include"
+-I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include"
+-I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include"
+-Os
+-funsigned-char
+-fstack-usage
+-fdump-ipa-all
+-fomit-frame-pointer
+-ggdb3
+-pedantic
+-Wall
+-Wextra
+-c
+-fno-short-enums
+-funsigned-bitfields
+-fno-common
+-Wunused
+-Wstrict-prototypes
+-Wsign-compare
+-Werror=implicit-function-declaration
+-Wundef
+-Wdouble-promotion
+-mcpu=cortex-m4
+-mthumb
+-mlittle-endian
+-mfloat-abi=hard
+-mfpu=fpv4-sp-d16
+-specs=nano.specs
+-specs=nosys.specs
+--sysroot="C:/NXP/S32DS.3.4/S32DS/build_tools/gcc_v9.2/gcc-9.2-arm32-eabi/arm-none-eabi/newlib"

+ 1049 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.000i.cgraph

@@ -0,0 +1,1049 @@
+Trivially needed symbols: vPortValidateInterruptPriority vPortSetupTimerInterrupt SysTick_Handler PendSV_Handler vPortExitCritical vPortEnterCritical vPortEndScheduler xPortStartScheduler SVC_Handler pxPortInitialiseStack
+
+
+Initial Symbol table:
+
+xTaskIncrementTick/22 (xTaskIncrementTick) @06ad29a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: SysTick_Handler/17 
+  Calls: 
+vTaskSwitchContext/21 (vTaskSwitchContext) @06ad20e0
+  Type: function
+  Visibility: force_output external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06ac7b60
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @01733ea0
+  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+vPortEnableVFP/19 (vPortEnableVFP) @06ac77e0
+  Type: function definition analyzed
+  Visibility:
+  Aux: @06abb540
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06ac7460
+  Type: function definition analyzed
+  Visibility: public weak
+  Aux: @06ac7b60
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+SysTick_Handler/17 (SysTick_Handler) @06ac71c0
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06ac7460
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 xTaskIncrementTick/22 vPortRaiseBASEPRI/1 
+PendSV_Handler/16 (PendSV_Handler) @06abbee0
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06ac71c0
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/15 (vPortExitCritical) @06abb620
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06abbee0
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)uxCriticalNesting/4 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 
+vPortEnterCritical/14 (vPortEnterCritical) @06abbe00
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06abb620
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)uxCriticalNesting/4 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+vPortEndScheduler/13 (vPortEndScheduler) @06abbb60
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06abbe00
+  References: uxCriticalNesting/4 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 
+xPortStartScheduler/12 (xPortStartScheduler) @06abb7e0
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06abbb60
+  References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: prvTaskExitError/9 vTaskSwitchContext/21 prvPortStartFirstTask/11 vPortEnableVFP/19 vPortSetupTimerInterrupt/18 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06abb540
+  Type: function definition analyzed
+  Visibility:
+  Aux: @06abbb60
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+SVC_Handler/10 (SVC_Handler) @06abb1c0
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06abb7e0
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+prvTaskExitError/9 (prvTaskExitError) @06ab6e00
+  Type: function definition analyzed
+  Visibility:
+  Address is taken.
+  Aux: @06abb1c0
+  References: uxCriticalNesting/4 (read)
+  Referring: pxPortInitialiseStack/8 (addr)
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06ab6d20
+  Type: function definition analyzed
+  Visibility: public
+  Aux: @06abb1c0
+  References: prvTaskExitError/9 (addr)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+pcInterruptPriorityRegisters/7 (pcInterruptPriorityRegisters) @06ab5438
+  Type: variable definition
+  Visibility:
+  References: 
+  Referring: 
+  Availability: not-ready
+  Varpool flags: initialized read-only const-value-known
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06ab53a8
+  Type: variable definition analyzed
+  Visibility:
+  Aux: @06ab5318
+  References: 
+  Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: not-ready
+  Varpool flags: initialized
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06ab5318
+  Type: variable definition analyzed
+  Visibility:
+  Aux: @06ac77e0
+  References: 
+  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: not-ready
+  Varpool flags: initialized
+uxCriticalNesting/4 (uxCriticalNesting) @06ab51b0
+  Type: variable definition analyzed
+  Visibility:
+  Aux: @06a55620
+  References: 
+  Referring: prvTaskExitError/9 (read)xPortStartScheduler/12 (write)vPortEndScheduler/13 (read)vPortEnterCritical/14 (read)vPortEnterCritical/14 (write)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)vPortExitCritical/15 (read)vPortExitCritical/15 (write)vPortExitCritical/15 (read)
+  Availability: not-ready
+  Varpool flags: initialized
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06a55c40
+  Type: function definition analyzed
+  Visibility:
+  Aux: @06abbee0
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: SysTick_Handler/17 vPortExitCritical/15 
+  Calls: 
+ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06a559a0
+  Type: function definition
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06a55620
+  Type: function definition analyzed
+  Visibility:
+  Aux: @06abb1c0
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vPortValidateInterruptPriority/20 vPortValidateInterruptPriority/20 SysTick_Handler/17 vPortExitCritical/15 vPortEnterCritical/14 vPortEnterCritical/14 vPortEndScheduler/13 xPortStartScheduler/12 xPortStartScheduler/12 xPortStartScheduler/12 prvTaskExitError/9 prvTaskExitError/9 
+  Calls: 
+xPortIsInsideInterrupt/0 (xPortIsInsideInterrupt) @06a55380
+  Type: function definition
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+
+Removing unused symbols: pcInterruptPriorityRegisters ulPortRaiseBASEPRI xPortIsInsideInterrupt
+
+Reclaimed Symbol table:
+
+xTaskIncrementTick/22 (xTaskIncrementTick) @06ad29a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: SysTick_Handler/17 
+  Calls: 
+vTaskSwitchContext/21 (vTaskSwitchContext) @06ad20e0
+  Type: function
+  Visibility: force_output external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06ac7b60
+  Type: function definition analyzed
+  Visibility: public
+  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+vPortEnableVFP/19 (vPortEnableVFP) @06ac77e0
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06ac7460
+  Type: function definition analyzed
+  Visibility: public weak
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+SysTick_Handler/17 (SysTick_Handler) @06ac71c0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 xTaskIncrementTick/22 vPortRaiseBASEPRI/1 
+PendSV_Handler/16 (PendSV_Handler) @06abbee0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/15 (vPortExitCritical) @06abb620
+  Type: function definition analyzed
+  Visibility: public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)uxCriticalNesting/4 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 
+vPortEnterCritical/14 (vPortEnterCritical) @06abbe00
+  Type: function definition analyzed
+  Visibility: public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)uxCriticalNesting/4 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+vPortEndScheduler/13 (vPortEndScheduler) @06abbb60
+  Type: function definition analyzed
+  Visibility: public
+  References: uxCriticalNesting/4 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 
+xPortStartScheduler/12 (xPortStartScheduler) @06abb7e0
+  Type: function definition analyzed
+  Visibility: public
+  References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: prvTaskExitError/9 vTaskSwitchContext/21 prvPortStartFirstTask/11 vPortEnableVFP/19 vPortSetupTimerInterrupt/18 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06abb540
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+SVC_Handler/10 (SVC_Handler) @06abb1c0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+prvTaskExitError/9 (prvTaskExitError) @06ab6e00
+  Type: function definition analyzed
+  Visibility:
+  Address is taken.
+  References: uxCriticalNesting/4 (read)
+  Referring: pxPortInitialiseStack/8 (addr)
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06ab6d20
+  Type: function definition analyzed
+  Visibility: public
+  References: prvTaskExitError/9 (addr)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06ab53a8
+  Type: variable definition analyzed
+  Visibility:
+  References: 
+  Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: not-ready
+  Varpool flags: initialized
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06ab5318
+  Type: variable definition analyzed
+  Visibility:
+  References: 
+  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: not-ready
+  Varpool flags: initialized
+uxCriticalNesting/4 (uxCriticalNesting) @06ab51b0
+  Type: variable definition analyzed
+  Visibility:
+  References: 
+  Referring: prvTaskExitError/9 (read)xPortStartScheduler/12 (write)vPortEndScheduler/13 (read)vPortEnterCritical/14 (read)vPortEnterCritical/14 (write)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)vPortExitCritical/15 (read)vPortExitCritical/15 (write)vPortExitCritical/15 (read)
+  Availability: not-ready
+  Varpool flags: initialized
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06a55c40
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: SysTick_Handler/17 vPortExitCritical/15 
+  Calls: 
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06a55620
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vPortValidateInterruptPriority/20 vPortValidateInterruptPriority/20 SysTick_Handler/17 vPortExitCritical/15 vPortEnterCritical/14 vPortEnterCritical/14 vPortEndScheduler/13 xPortStartScheduler/12 xPortStartScheduler/12 xPortStartScheduler/12 prvTaskExitError/9 prvTaskExitError/9 
+  Calls: 
+
+
+Initial Symbol table:
+
+xTaskIncrementTick/22 (xTaskIncrementTick) @06ad29a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: SysTick_Handler/17 
+  Calls: 
+vTaskSwitchContext/21 (vTaskSwitchContext) @06ad20e0
+  Type: function
+  Visibility: force_output external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06ac7b60
+  Type: function definition analyzed
+  Visibility: public
+  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+vPortEnableVFP/19 (vPortEnableVFP) @06ac77e0
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06ac7460
+  Type: function definition analyzed
+  Visibility: public weak
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+SysTick_Handler/17 (SysTick_Handler) @06ac71c0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 xTaskIncrementTick/22 vPortRaiseBASEPRI/1 
+PendSV_Handler/16 (PendSV_Handler) @06abbee0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/15 (vPortExitCritical) @06abb620
+  Type: function definition analyzed
+  Visibility: public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)uxCriticalNesting/4 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 
+vPortEnterCritical/14 (vPortEnterCritical) @06abbe00
+  Type: function definition analyzed
+  Visibility: public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)uxCriticalNesting/4 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+vPortEndScheduler/13 (vPortEndScheduler) @06abbb60
+  Type: function definition analyzed
+  Visibility: public
+  References: uxCriticalNesting/4 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 
+xPortStartScheduler/12 (xPortStartScheduler) @06abb7e0
+  Type: function definition analyzed
+  Visibility: public
+  References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: prvTaskExitError/9 vTaskSwitchContext/21 prvPortStartFirstTask/11 vPortEnableVFP/19 vPortSetupTimerInterrupt/18 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06abb540
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+SVC_Handler/10 (SVC_Handler) @06abb1c0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+prvTaskExitError/9 (prvTaskExitError) @06ab6e00
+  Type: function definition analyzed
+  Visibility:
+  Address is taken.
+  References: uxCriticalNesting/4 (read)
+  Referring: pxPortInitialiseStack/8 (addr)
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06ab6d20
+  Type: function definition analyzed
+  Visibility: public
+  References: prvTaskExitError/9 (addr)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06ab53a8
+  Type: variable definition analyzed
+  Visibility:
+  References: 
+  Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: not-ready
+  Varpool flags: initialized
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06ab5318
+  Type: variable definition analyzed
+  Visibility:
+  References: 
+  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: not-ready
+  Varpool flags: initialized
+uxCriticalNesting/4 (uxCriticalNesting) @06ab51b0
+  Type: variable definition analyzed
+  Visibility:
+  References: 
+  Referring: prvTaskExitError/9 (read)xPortStartScheduler/12 (write)vPortEndScheduler/13 (read)vPortEnterCritical/14 (read)vPortEnterCritical/14 (write)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)vPortExitCritical/15 (read)vPortExitCritical/15 (write)vPortExitCritical/15 (read)
+  Availability: not-ready
+  Varpool flags: initialized
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06a55c40
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: SysTick_Handler/17 vPortExitCritical/15 
+  Calls: 
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06a55620
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vPortValidateInterruptPriority/20 vPortValidateInterruptPriority/20 SysTick_Handler/17 vPortExitCritical/15 vPortEnterCritical/14 vPortEnterCritical/14 vPortEndScheduler/13 xPortStartScheduler/12 xPortStartScheduler/12 xPortStartScheduler/12 prvTaskExitError/9 prvTaskExitError/9 
+  Calls: 
+
+Removing unused symbols:
+
+Reclaimed Symbol table:
+
+xTaskIncrementTick/22 (xTaskIncrementTick) @06ad29a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: SysTick_Handler/17 
+  Calls: 
+vTaskSwitchContext/21 (vTaskSwitchContext) @06ad20e0
+  Type: function
+  Visibility: force_output external public
+  References: 
+  Referring: 
+  Function flags: optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06ac7b60
+  Type: function definition analyzed
+  Visibility: public
+  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+vPortEnableVFP/19 (vPortEnableVFP) @06ac77e0
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06ac7460
+  Type: function definition analyzed
+  Visibility: public weak
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+SysTick_Handler/17 (SysTick_Handler) @06ac71c0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 xTaskIncrementTick/22 vPortRaiseBASEPRI/1 
+PendSV_Handler/16 (PendSV_Handler) @06abbee0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/15 (vPortExitCritical) @06abb620
+  Type: function definition analyzed
+  Visibility: public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)uxCriticalNesting/4 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 
+vPortEnterCritical/14 (vPortEnterCritical) @06abbe00
+  Type: function definition analyzed
+  Visibility: public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)uxCriticalNesting/4 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+vPortEndScheduler/13 (vPortEndScheduler) @06abbb60
+  Type: function definition analyzed
+  Visibility: public
+  References: uxCriticalNesting/4 (read)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 
+xPortStartScheduler/12 (xPortStartScheduler) @06abb7e0
+  Type: function definition analyzed
+  Visibility: public
+  References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: prvTaskExitError/9 vTaskSwitchContext/21 prvPortStartFirstTask/11 vPortEnableVFP/19 vPortSetupTimerInterrupt/18 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06abb540
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+SVC_Handler/10 (SVC_Handler) @06abb1c0
+  Type: function definition analyzed
+  Visibility: public
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+prvTaskExitError/9 (prvTaskExitError) @06ab6e00
+  Type: function definition analyzed
+  Visibility:
+  Address is taken.
+  References: uxCriticalNesting/4 (read)
+  Referring: pxPortInitialiseStack/8 (addr)
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06ab6d20
+  Type: function definition analyzed
+  Visibility: public
+  References: prvTaskExitError/9 (addr)
+  Referring: 
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06ab53a8
+  Type: variable definition analyzed
+  Visibility:
+  References: 
+  Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: not-ready
+  Varpool flags: initialized
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06ab5318
+  Type: variable definition analyzed
+  Visibility:
+  References: 
+  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: not-ready
+  Varpool flags: initialized
+uxCriticalNesting/4 (uxCriticalNesting) @06ab51b0
+  Type: variable definition analyzed
+  Visibility:
+  References: 
+  Referring: prvTaskExitError/9 (read)xPortStartScheduler/12 (write)vPortEndScheduler/13 (read)vPortEnterCritical/14 (read)vPortEnterCritical/14 (write)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)vPortExitCritical/15 (read)vPortExitCritical/15 (write)vPortExitCritical/15 (read)
+  Availability: not-ready
+  Varpool flags: initialized
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06a55c40
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: SysTick_Handler/17 vPortExitCritical/15 
+  Calls: 
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06a55620
+  Type: function definition analyzed
+  Visibility:
+  References: 
+  Referring: 
+  Function flags: body optimize_size
+  Called by: vPortValidateInterruptPriority/20 vPortValidateInterruptPriority/20 SysTick_Handler/17 vPortExitCritical/15 vPortEnterCritical/14 vPortEnterCritical/14 vPortEndScheduler/13 xPortStartScheduler/12 xPortStartScheduler/12 xPortStartScheduler/12 prvTaskExitError/9 prvTaskExitError/9 
+  Calls: 
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Optimized Symbol table:
+
+prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06a55380
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Function prvTaskExitError.part.0/25 is inline copy in prvTaskExitError/9
+  Availability: local
+  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: prvTaskExitError/9 (inlined) (107374 (estimated locally),0.66 per call) 
+  Calls: 
+xTaskIncrementTick/22 (xTaskIncrementTick) @06ad29a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: SysTick_Handler/17 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vTaskSwitchContext/21 (vTaskSwitchContext) @06ad20e0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06ac7b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
+  Referring: 
+  Availability: available
+  Function flags: count:286331 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEnableVFP/19 (vPortEnableVFP) @06ac77e0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06ac7460
+  Type: function definition analyzed
+  Visibility: externally_visible public weak
+  References: 
+  Referring: 
+  Availability: overwritable
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+SysTick_Handler/17 (SysTick_Handler) @06ac71c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskIncrementTick/22 (1073741824 (estimated locally),1.00 per call) 
+PendSV_Handler/16 (PendSV_Handler) @06abbee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/15 (vPortExitCritical) @06abb620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEnterCritical/14 (vPortEnterCritical) @06abbe00
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:631612 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEndScheduler/13 (vPortEndScheduler) @06abbb60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)
+  Referring: 
+  Availability: available
+  Function flags: count:162688 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xPortStartScheduler/12 (xPortStartScheduler) @06abb7e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:309048 (estimated locally) body optimize_size
+  Called by: 
+  Calls: prvTaskExitError/9 (27247 (estimated locally),0.09 per call) vTaskSwitchContext/21 (27247 (estimated locally),0.09 per call) prvPortStartFirstTask/11 (27247 (estimated locally),0.09 per call) vPortEnableVFP/19 (27247 (estimated locally),0.09 per call) vPortSetupTimerInterrupt/18 (27247 (estimated locally),0.09 per call) 
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06abb540
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+SVC_Handler/10 (SVC_Handler) @06abb1c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+prvTaskExitError/9 (prvTaskExitError) @06ab6e00
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  Address is taken.
+  References: uxCriticalNesting/4 (read)
+  Referring: pxPortInitialiseStack/8 (addr)
+  Availability: available
+  Function flags: count:162688 (estimated locally) body optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: prvTaskExitError.part.0/25 (inlined) (107374 (estimated locally),0.66 per call) 
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06ab6d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: prvTaskExitError/9 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06ab53a8
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06ab5318
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+uxCriticalNesting/4 (uxCriticalNesting) @06ab51b0
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: vPortEndScheduler/13 (read)vPortEnterCritical/14 (write)vPortExitCritical/15 (write)prvTaskExitError/9 (read)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)xPortStartScheduler/12 (write)
+  Availability: available
+  Varpool flags: initialized
+Materializing clones
+Materialization Call site updates done.
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Time profile order in expand_all_functions:prvPortStartFirstTask:0
+Time profile order in expand_all_functions:vPortEnableVFP:0
+Time profile order in expand_all_functions:prvTaskExitError:0
+Time profile order in expand_all_functions:pxPortInitialiseStack:0
+Time profile order in expand_all_functions:SVC_Handler:0
+Time profile order in expand_all_functions:vPortEndScheduler:0
+Time profile order in expand_all_functions:vPortEnterCritical:0
+Time profile order in expand_all_functions:vPortExitCritical:0
+Time profile order in expand_all_functions:PendSV_Handler:0
+Time profile order in expand_all_functions:SysTick_Handler:0
+Time profile order in expand_all_functions:vPortSetupTimerInterrupt:0
+Time profile order in expand_all_functions:xPortStartScheduler:0
+Time profile order in expand_all_functions:vPortValidateInterruptPriority:0
+Trivially needed variables: ulMaxPRIGROUPValue ucMaxSysCallPriority uxCriticalNesting
+Removing variables:
+
+Final Symbol table:
+
+xTaskIncrementTick/22 (xTaskIncrementTick) @06ad29a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+vTaskSwitchContext/21 (vTaskSwitchContext) @06ad20e0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: 
+  Calls: 
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06ac7b60
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:286331 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+vPortEnableVFP/19 (vPortEnableVFP) @06ac77e0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly asm_written
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) local optimize_size
+  Called by: 
+  Calls: 
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06ac7460
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public weak
+  References: 
+  Referring: 
+  Availability: overwritable
+  Function flags: count:1073741824 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+SysTick_Handler/17 (SysTick_Handler) @06ac71c0
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+PendSV_Handler/16 (PendSV_Handler) @06abbee0
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/15 (vPortExitCritical) @06abb620
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+vPortEnterCritical/14 (vPortEnterCritical) @06abbe00
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:631612 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+vPortEndScheduler/13 (vPortEndScheduler) @06abbb60
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:162688 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+xPortStartScheduler/12 (xPortStartScheduler) @06abb7e0
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:309048 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06abb540
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly asm_written
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) local optimize_size
+  Called by: 
+  Calls: 
+SVC_Handler/10 (SVC_Handler) @06abb1c0
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+prvTaskExitError/9 (prvTaskExitError) @06ab6e00
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly asm_written
+  Address is taken.
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:162688 (estimated locally) optimize_size
+  Called by: 
+  Calls: 
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06ab6d20
+  Type: function definition analyzed
+  Visibility: externally_visible asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Called by: 
+  Calls: 
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06ab53a8
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly asm_written
+  Aux: @00000001
+  References: 
+  Referring: 
+  Availability: available
+  Varpool flags: initialized
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06ab5318
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly asm_written
+  Aux: @06ab53a8
+  References: 
+  Referring: 
+  Availability: available
+  Varpool flags: initialized
+uxCriticalNesting/4 (uxCriticalNesting) @06ab51b0
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly asm_written
+  Aux: @06ab5318
+  References: 
+  Referring: 
+  Availability: available
+  Varpool flags: initialized

+ 21 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.000i.ipa-clones

@@ -0,0 +1,21 @@
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;prvTaskExitError;9;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;prvTaskExitError;9;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13;inlining to
+Callgraph clone;prvTaskExitError;9;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13;prvTaskExitError.part.0;25;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13;part
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortEndScheduler;13;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;402;6;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortEnterCritical;14;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;410;6;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortEnterCritical;14;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;410;6;inlining to
+Callgraph clone;vPortSetBASEPRI;3;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;230;34;vPortExitCritical;15;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;427;6;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortExitCritical;15;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;427;6;inlining to
+Callgraph clone;vPortSetBASEPRI;3;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;230;34;SysTick_Handler;17;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;496;6;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;SysTick_Handler;17;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;496;6;inlining to
+Callgraph removal;vPortSetBASEPRI;3;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;230;34
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xPortStartScheduler;12;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;293;12;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xPortStartScheduler;12;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;293;12;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xPortStartScheduler;12;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;293;12;inlining to
+Callgraph removal;vPortRaiseBASEPRI;32;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortValidateInterruptPriority;20;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;729;10;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortValidateInterruptPriority;20;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;729;10;inlining to
+Callgraph removal;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph removal;vPortRaiseBASEPRI;35;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_Project_CAN_UART_DIO_WithFreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph clone;prvTaskExitError.part.0;25;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13;prvTaskExitError;9;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13;inlining to
+Callgraph removal;prvTaskExitError.part.0;25;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13

+ 0 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.000i.type-inheritance


+ 809 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.016i.visibility

@@ -0,0 +1,809 @@
+
+Marking local functions: vPortEnableVFP prvPortStartFirstTask vPortSetBASEPRI vPortRaiseBASEPRI
+
+
+Marking externally visible functions: vPortValidateInterruptPriority vPortSetupTimerInterrupt SysTick_Handler PendSV_Handler vPortExitCritical vPortEnterCritical vPortEndScheduler xPortStartScheduler SVC_Handler pxPortInitialiseStack
+
+
+Marking externally visible variables:
+
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+
+xTaskIncrementTick/22 (xTaskIncrementTick) @06ad29a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: SysTick_Handler/17 
+  Calls: 
+vTaskSwitchContext/21 (vTaskSwitchContext) @06ad20e0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06ac7b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+vPortEnableVFP/19 (vPortEnableVFP) @06ac77e0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: body local optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06ac7460
+  Type: function definition analyzed
+  Visibility: externally_visible public weak
+  References: 
+  Referring: 
+  Availability: overwritable
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+SysTick_Handler/17 (SysTick_Handler) @06ac71c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 xTaskIncrementTick/22 vPortRaiseBASEPRI/1 
+PendSV_Handler/16 (PendSV_Handler) @06abbee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/15 (vPortExitCritical) @06abb620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)uxCriticalNesting/4 (read)
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 
+vPortEnterCritical/14 (vPortEnterCritical) @06abbe00
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)uxCriticalNesting/4 (read)
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+vPortEndScheduler/13 (vPortEndScheduler) @06abbb60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: vPortRaiseBASEPRI/1 
+xPortStartScheduler/12 (xPortStartScheduler) @06abb7e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: prvTaskExitError/9 vTaskSwitchContext/21 prvPortStartFirstTask/11 vPortEnableVFP/19 vPortSetupTimerInterrupt/18 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06abb540
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: body local optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: 
+SVC_Handler/10 (SVC_Handler) @06abb1c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+prvTaskExitError/9 (prvTaskExitError) @06ab6e00
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  Address is taken.
+  References: uxCriticalNesting/4 (read)
+  Referring: pxPortInitialiseStack/8 (addr)
+  Availability: available
+  Function flags: body optimize_size
+  Called by: xPortStartScheduler/12 
+  Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06ab6d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: prvTaskExitError/9 (addr)
+  Referring: 
+  Availability: available
+  Function flags: body optimize_size
+  Called by: 
+  Calls: 
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06ab53a8
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06ab5318
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+uxCriticalNesting/4 (uxCriticalNesting) @06ab51b0
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: prvTaskExitError/9 (read)xPortStartScheduler/12 (write)vPortEndScheduler/13 (read)vPortEnterCritical/14 (read)vPortEnterCritical/14 (write)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)vPortExitCritical/15 (read)vPortExitCritical/15 (write)vPortExitCritical/15 (read)
+  Availability: available
+  Varpool flags: initialized
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06a55c40
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: body local optimize_size
+  Called by: SysTick_Handler/17 vPortExitCritical/15 
+  Calls: 
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06a55620
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: body local optimize_size
+  Called by: vPortValidateInterruptPriority/20 vPortValidateInterruptPriority/20 SysTick_Handler/17 vPortExitCritical/15 vPortEnterCritical/14 vPortEnterCritical/14 vPortEndScheduler/13 xPortStartScheduler/12 xPortStartScheduler/12 xPortStartScheduler/12 prvTaskExitError/9 prvTaskExitError/9 
+  Calls: 
+vPortValidateInterruptPriority ()
+{
+  uint8_t ucCurrentPriority;
+  uint32_t ulCurrentInterrupt;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt :  : "memory");
+  # DEBUG BEGIN_STMT
+  if (ulCurrentInterrupt > 15)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 6>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _1 = 3758154736B + ulCurrentInterrupt;
+  ucCurrentPriority = *_1;
+  # DEBUG BEGIN_STMT
+  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
+  if (ucCurrentPriority < ucMaxSysCallPriority.19_2)
+    goto <bb 4>; [INV]
+  else
+    goto <bb 6>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 5>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = 3758157068B;
+  _4 = *_3;
+  _5 = _4 & 1792;
+  ulMaxPRIGROUPValue.20_6 = ulMaxPRIGROUPValue;
+  if (_5 > ulMaxPRIGROUPValue.20_6)
+    goto <bb 7>; [INV]
+  else
+    goto <bb 9>; [INV]
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 8>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+vPortEnableVFP ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
+	ldr r1, [r0]				
+								
+	orr r1, r1, #( 0xf << 20 )	
+	str r1, [r0]				
+	bx r14						
+	.ltorg						
+");
+  return;
+
+}
+
+
+__attribute__((weak))
+vPortSetupTimerInterrupt ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  _1 = 3758153744B;
+  *_1 = 0;
+  # DEBUG BEGIN_STMT
+  _2 = 3758153752B;
+  *_2 = 0;
+  # DEBUG BEGIN_STMT
+  _3 = 3758153748B;
+  *_3 = 47999;
+  # DEBUG BEGIN_STMT
+  _4 = 3758153744B;
+  *_4 = 7;
+  return;
+
+}
+
+
+SysTick_Handler ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+  # DEBUG BEGIN_STMT
+  _1 = xTaskIncrementTick ();
+  if (_1 != 0)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _2 = 3758157060B;
+  *_2 = 268435456;
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  vPortSetBASEPRI (0);
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+PendSV_Handler ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs r0, psp							
+	isb									
+										
+	ldr	r3, pxCurrentTCBConst			
+	ldr	r2, [r3]						
+										
+	tst r14, #0x10						
+	it eq								
+	vstmdbeq r0!, {s16-s31}				
+										
+	stmdb r0!, {r4-r11, r14}			
+	str r0, [r2]						
+										
+	stmdb sp!, {r0, r3}					
+	mov r0, %0 							
+	msr basepri, r0						
+	dsb									
+	isb									
+	bl vTaskSwitchContext				
+	mov r0, #0							
+	msr basepri, r0						
+	ldmia sp!, {r0, r3}					
+										
+	ldr r1, [r3]						
+	ldr r0, [r1]						
+										
+	ldmia r0!, {r4-r11, r14}			
+										
+	tst r14, #0x10						
+	it eq								
+	vldmiaeq r0!, {s16-s31}				
+										
+	msr psp, r0							
+	isb									
+										
+										
+	bx r14								
+										
+	.align 4							
+pxCurrentTCBConst: .word pxCurrentTCB	
+" :  : "i" 16);
+  return;
+
+}
+
+
+vPortExitCritical ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.16_1 = uxCriticalNesting;
+  if (uxCriticalNesting.16_1 == 0)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.17_2 = uxCriticalNesting;
+  _3 = uxCriticalNesting.17_2 + 4294967295;
+  uxCriticalNesting = _3;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.18_4 = uxCriticalNesting;
+  if (uxCriticalNesting.18_4 == 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortSetBASEPRI (0);
+
+  <bb 7> :
+  return;
+
+}
+
+
+vPortEnterCritical ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.14_1 = uxCriticalNesting;
+  _2 = uxCriticalNesting.14_1 + 1;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.15_3 = uxCriticalNesting;
+  if (uxCriticalNesting.15_3 == 1)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 6>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _4 = 3758157060B;
+  _5 = *_4;
+  _6 = _5 & 255;
+  if (_6 != 0)
+    goto <bb 4>; [INV]
+  else
+    goto <bb 6>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 5>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vPortEndScheduler ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.13_1 = uxCriticalNesting;
+  if (uxCriticalNesting.13_1 != 1000)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+xPortStartScheduler ()
+{
+  volatile uint8_t ucMaxPriorityValue;
+  volatile uint8_t * const pucFirstUserPriorityRegister;
+  volatile uint32_t ulOriginalPriority;
+  BaseType_t D.5855;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = 3758157056B;
+  _2 = *_1;
+  if (_2 == 1091551857)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = 3758157056B;
+  _4 = *_3;
+  if (_4 == 1091551856)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pucFirstUserPriorityRegister = 3758154752B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = 3758154752B;
+  _6 = *_5;
+  _7 = (long unsigned int) _6;
+  ulOriginalPriority = _7;
+  # DEBUG BEGIN_STMT
+  _8 = 3758154752B;
+  *_8 = 255;
+  # DEBUG BEGIN_STMT
+  _9 = 3758154752B;
+  _10 = *_9;
+  ucMaxPriorityValue = _10;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.5_11 = ucMaxPriorityValue;
+  _12 = ucMaxPriorityValue.5_11 & 16;
+  ucMaxSysCallPriority = _12;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue = 7;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.6_13 = ulMaxPRIGROUPValue;
+  _14 = ulMaxPRIGROUPValue.6_13 + 4294967295;
+  ulMaxPRIGROUPValue = _14;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.7_15 = ucMaxPriorityValue;
+  _16 = ucMaxPriorityValue.7_15 << 1;
+  ucMaxPriorityValue = _16;
+
+  <bb 10> :
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.8_17 = ucMaxPriorityValue;
+  _18 = (int) ucMaxPriorityValue.8_17;
+  _19 = _18 & 128;
+  if (_19 == 128)
+    goto <bb 9>; [INV]
+  else
+    goto <bb 11>; [INV]
+
+  <bb 11> :
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.9_20 = ulMaxPRIGROUPValue;
+  _21 = 7 - ulMaxPRIGROUPValue.9_20;
+  if (_21 != 4)
+    goto <bb 12>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 12> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 13> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 13>; [INV]
+
+  <bb 14> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.10_22 = ulMaxPRIGROUPValue;
+  _23 = ulMaxPRIGROUPValue.10_22 << 8;
+  ulMaxPRIGROUPValue = _23;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.11_24 = ulMaxPRIGROUPValue;
+  _25 = ulMaxPRIGROUPValue.11_24 & 1792;
+  ulMaxPRIGROUPValue = _25;
+  # DEBUG BEGIN_STMT
+  ulOriginalPriority.12_26 = ulOriginalPriority;
+  _27 = 3758154752B;
+  _28 = (unsigned char) ulOriginalPriority.12_26;
+  *_27 = _28;
+  # DEBUG BEGIN_STMT
+  _29 = 3758157088B;
+  _30 = *_29;
+  _31 = 3758157088B;
+  _32 = _30 | 15728640;
+  *_31 = _32;
+  # DEBUG BEGIN_STMT
+  _33 = 3758157088B;
+  _34 = *_33;
+  _35 = 3758157088B;
+  _36 = _34 | 4026531840;
+  *_35 = _36;
+  # DEBUG BEGIN_STMT
+  vPortSetupTimerInterrupt ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting = 0;
+  # DEBUG BEGIN_STMT
+  vPortEnableVFP ();
+  # DEBUG BEGIN_STMT
+  _37 = 3758157620B;
+  _38 = *_37;
+  _39 = 3758157620B;
+  _40 = _38 | 3221225472;
+  *_39 = _40;
+  # DEBUG BEGIN_STMT
+  prvPortStartFirstTask ();
+  # DEBUG BEGIN_STMT
+  vTaskSwitchContext ();
+  # DEBUG BEGIN_STMT
+  prvTaskExitError ();
+  # DEBUG BEGIN_STMT
+  D.5855 = 0;
+  return D.5855;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+prvPortStartFirstTask ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
+ ldr r0, [r0] 			
+ ldr r0, [r0] 			
+ msr msp, r0			
+ mov r0, #0			
+ msr control, r0		
+ cpsie i				
+ cpsie f				
+ dsb					
+ isb					
+ svc 0					
+ nop					
+ .ltorg				
+");
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+SVC_Handler ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
+	ldr r1, [r3]					
+	ldr r0, [r1]					
+	ldmia r0!, {r4-r11, r14}		
+	msr psp, r0						
+	isb								
+	mov r0, #0 						
+	msr	basepri, r0					
+	bx r14							
+									
+	.align 4						
+pxCurrentTCBConst2: .word pxCurrentTCB				
+");
+  return;
+
+}
+
+
+prvTaskExitError ()
+{
+  volatile uint32_t ulDummy;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  ulDummy = 0;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.3_1 = uxCriticalNesting;
+  if (uxCriticalNesting.3_1 != 4294967295)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+  # DEBUG BEGIN_STMT
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulDummy.4_2 = ulDummy;
+  if (ulDummy.4_2 == 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  return;
+
+}
+
+
+pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
+{
+  StackType_t * D.5843;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxTopOfStack = pxTopOfStack + 4294967292;
+  # DEBUG BEGIN_STMT
+  *pxTopOfStack = 16777216;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack = pxTopOfStack + 4294967292;
+  # DEBUG BEGIN_STMT
+  pxCode.0_1 = (long unsigned int) pxCode;
+  _2 = pxCode.0_1 & 4294967294;
+  *pxTopOfStack = _2;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack = pxTopOfStack + 4294967292;
+  # DEBUG BEGIN_STMT
+  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
+  *pxTopOfStack = prvTaskExitError.1_3;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack = pxTopOfStack + 4294967276;
+  # DEBUG BEGIN_STMT
+  pvParameters.2_4 = (long unsigned int) pvParameters;
+  *pxTopOfStack = pvParameters.2_4;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack = pxTopOfStack + 4294967292;
+  # DEBUG BEGIN_STMT
+  *pxTopOfStack = 4294967293;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack = pxTopOfStack + 4294967264;
+  # DEBUG BEGIN_STMT
+  D.5843 = pxTopOfStack;
+  return D.5843;
+
+}
+
+
+__attribute__((always_inline))
+vPortSetBASEPRI (uint32_t ulNewMaskValue)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue : "memory");
+  return;
+
+}
+
+
+__attribute__((always_inline))
+vPortRaiseBASEPRI ()
+{
+  uint32_t ulNewBASEPRI;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI : "i" 16 : "memory");
+  return;
+
+}
+
+

+ 619 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.017i.build_ssa_passes

@@ -0,0 +1,619 @@
+vPortValidateInterruptPriority ()
+{
+  uint8_t ucCurrentPriority;
+  uint32_t ulCurrentInterrupt;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt :  : "memory");
+  # DEBUG BEGIN_STMT
+  if (ulCurrentInterrupt > 15)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 6>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _1 = 3758154736B + ulCurrentInterrupt;
+  ucCurrentPriority = *_1;
+  # DEBUG BEGIN_STMT
+  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
+  if (ucCurrentPriority < ucMaxSysCallPriority.19_2)
+    goto <bb 4>; [INV]
+  else
+    goto <bb 6>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 5>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = 3758157068B;
+  _4 = *_3;
+  _5 = _4 & 1792;
+  ulMaxPRIGROUPValue.20_6 = ulMaxPRIGROUPValue;
+  if (_5 > ulMaxPRIGROUPValue.20_6)
+    goto <bb 7>; [INV]
+  else
+    goto <bb 9>; [INV]
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 8>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+vPortEnableVFP ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
+	ldr r1, [r0]				
+								
+	orr r1, r1, #( 0xf << 20 )	
+	str r1, [r0]				
+	bx r14						
+	.ltorg						
+");
+  return;
+
+}
+
+
+__attribute__((weak))
+vPortSetupTimerInterrupt ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  _1 = 3758153744B;
+  *_1 = 0;
+  # DEBUG BEGIN_STMT
+  _2 = 3758153752B;
+  *_2 = 0;
+  # DEBUG BEGIN_STMT
+  _3 = 3758153748B;
+  *_3 = 47999;
+  # DEBUG BEGIN_STMT
+  _4 = 3758153744B;
+  *_4 = 7;
+  return;
+
+}
+
+
+SysTick_Handler ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+  # DEBUG BEGIN_STMT
+  _1 = xTaskIncrementTick ();
+  if (_1 != 0)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _2 = 3758157060B;
+  *_2 = 268435456;
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  vPortSetBASEPRI (0);
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+PendSV_Handler ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs r0, psp							
+	isb									
+										
+	ldr	r3, pxCurrentTCBConst			
+	ldr	r2, [r3]						
+										
+	tst r14, #0x10						
+	it eq								
+	vstmdbeq r0!, {s16-s31}				
+										
+	stmdb r0!, {r4-r11, r14}			
+	str r0, [r2]						
+										
+	stmdb sp!, {r0, r3}					
+	mov r0, %0 							
+	msr basepri, r0						
+	dsb									
+	isb									
+	bl vTaskSwitchContext				
+	mov r0, #0							
+	msr basepri, r0						
+	ldmia sp!, {r0, r3}					
+										
+	ldr r1, [r3]						
+	ldr r0, [r1]						
+										
+	ldmia r0!, {r4-r11, r14}			
+										
+	tst r14, #0x10						
+	it eq								
+	vldmiaeq r0!, {s16-s31}				
+										
+	msr psp, r0							
+	isb									
+										
+										
+	bx r14								
+										
+	.align 4							
+pxCurrentTCBConst: .word pxCurrentTCB	
+" :  : "i" 16);
+  return;
+
+}
+
+
+vPortExitCritical ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.16_1 = uxCriticalNesting;
+  if (uxCriticalNesting.16_1 == 0)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.17_2 = uxCriticalNesting;
+  _3 = uxCriticalNesting.17_2 + 4294967295;
+  uxCriticalNesting = _3;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.18_4 = uxCriticalNesting;
+  if (uxCriticalNesting.18_4 == 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortSetBASEPRI (0);
+
+  <bb 7> :
+  return;
+
+}
+
+
+vPortEnterCritical ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.14_1 = uxCriticalNesting;
+  _2 = uxCriticalNesting.14_1 + 1;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.15_3 = uxCriticalNesting;
+  if (uxCriticalNesting.15_3 == 1)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 6>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _4 = 3758157060B;
+  _5 = *_4;
+  _6 = _5 & 255;
+  if (_6 != 0)
+    goto <bb 4>; [INV]
+  else
+    goto <bb 6>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 5>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vPortEndScheduler ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.13_1 = uxCriticalNesting;
+  if (uxCriticalNesting.13_1 != 1000)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+xPortStartScheduler ()
+{
+  volatile uint8_t ucMaxPriorityValue;
+  volatile uint8_t * const pucFirstUserPriorityRegister;
+  volatile uint32_t ulOriginalPriority;
+  BaseType_t D.5855;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = 3758157056B;
+  _2 = *_1;
+  if (_2 == 1091551857)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = 3758157056B;
+  _4 = *_3;
+  if (_4 == 1091551856)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pucFirstUserPriorityRegister = 3758154752B;
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = 3758154752B;
+  _6 = *_5;
+  _7 = (long unsigned int) _6;
+  ulOriginalPriority = _7;
+  # DEBUG BEGIN_STMT
+  _8 = 3758154752B;
+  *_8 = 255;
+  # DEBUG BEGIN_STMT
+  _9 = 3758154752B;
+  _10 = *_9;
+  ucMaxPriorityValue = _10;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.5_11 = ucMaxPriorityValue;
+  _12 = ucMaxPriorityValue.5_11 & 16;
+  ucMaxSysCallPriority = _12;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue = 7;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.6_13 = ulMaxPRIGROUPValue;
+  _14 = ulMaxPRIGROUPValue.6_13 + 4294967295;
+  ulMaxPRIGROUPValue = _14;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.7_15 = ucMaxPriorityValue;
+  _16 = ucMaxPriorityValue.7_15 << 1;
+  ucMaxPriorityValue = _16;
+
+  <bb 10> :
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.8_17 = ucMaxPriorityValue;
+  _18 = (int) ucMaxPriorityValue.8_17;
+  _19 = _18 & 128;
+  if (_19 == 128)
+    goto <bb 9>; [INV]
+  else
+    goto <bb 11>; [INV]
+
+  <bb 11> :
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.9_20 = ulMaxPRIGROUPValue;
+  _21 = 7 - ulMaxPRIGROUPValue.9_20;
+  if (_21 != 4)
+    goto <bb 12>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 12> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 13> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 13>; [INV]
+
+  <bb 14> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.10_22 = ulMaxPRIGROUPValue;
+  _23 = ulMaxPRIGROUPValue.10_22 << 8;
+  ulMaxPRIGROUPValue = _23;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.11_24 = ulMaxPRIGROUPValue;
+  _25 = ulMaxPRIGROUPValue.11_24 & 1792;
+  ulMaxPRIGROUPValue = _25;
+  # DEBUG BEGIN_STMT
+  ulOriginalPriority.12_26 = ulOriginalPriority;
+  _27 = 3758154752B;
+  _28 = (unsigned char) ulOriginalPriority.12_26;
+  *_27 = _28;
+  # DEBUG BEGIN_STMT
+  _29 = 3758157088B;
+  _30 = *_29;
+  _31 = 3758157088B;
+  _32 = _30 | 15728640;
+  *_31 = _32;
+  # DEBUG BEGIN_STMT
+  _33 = 3758157088B;
+  _34 = *_33;
+  _35 = 3758157088B;
+  _36 = _34 | 4026531840;
+  *_35 = _36;
+  # DEBUG BEGIN_STMT
+  vPortSetupTimerInterrupt ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting = 0;
+  # DEBUG BEGIN_STMT
+  vPortEnableVFP ();
+  # DEBUG BEGIN_STMT
+  _37 = 3758157620B;
+  _38 = *_37;
+  _39 = 3758157620B;
+  _40 = _38 | 3221225472;
+  *_39 = _40;
+  # DEBUG BEGIN_STMT
+  prvPortStartFirstTask ();
+  # DEBUG BEGIN_STMT
+  vTaskSwitchContext ();
+  # DEBUG BEGIN_STMT
+  prvTaskExitError ();
+  # DEBUG BEGIN_STMT
+  D.5855 = 0;
+  return D.5855;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+prvPortStartFirstTask ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
+ ldr r0, [r0] 			
+ ldr r0, [r0] 			
+ msr msp, r0			
+ mov r0, #0			
+ msr control, r0		
+ cpsie i				
+ cpsie f				
+ dsb					
+ isb					
+ svc 0					
+ nop					
+ .ltorg				
+");
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+SVC_Handler ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
+	ldr r1, [r3]					
+	ldr r0, [r1]					
+	ldmia r0!, {r4-r11, r14}		
+	msr psp, r0						
+	isb								
+	mov r0, #0 						
+	msr	basepri, r0					
+	bx r14							
+									
+	.align 4						
+pxCurrentTCBConst2: .word pxCurrentTCB				
+");
+  return;
+
+}
+
+
+prvTaskExitError ()
+{
+  volatile uint32_t ulDummy;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  ulDummy = 0;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.3_1 = uxCriticalNesting;
+  if (uxCriticalNesting.3_1 != 4294967295)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+  # DEBUG BEGIN_STMT
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulDummy.4_2 = ulDummy;
+  if (ulDummy.4_2 == 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  return;
+
+}
+
+
+pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
+{
+  StackType_t * D.5843;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxTopOfStack = pxTopOfStack + 4294967292;
+  # DEBUG BEGIN_STMT
+  *pxTopOfStack = 16777216;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack = pxTopOfStack + 4294967292;
+  # DEBUG BEGIN_STMT
+  pxCode.0_1 = (long unsigned int) pxCode;
+  _2 = pxCode.0_1 & 4294967294;
+  *pxTopOfStack = _2;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack = pxTopOfStack + 4294967292;
+  # DEBUG BEGIN_STMT
+  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
+  *pxTopOfStack = prvTaskExitError.1_3;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack = pxTopOfStack + 4294967276;
+  # DEBUG BEGIN_STMT
+  pvParameters.2_4 = (long unsigned int) pvParameters;
+  *pxTopOfStack = pvParameters.2_4;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack = pxTopOfStack + 4294967292;
+  # DEBUG BEGIN_STMT
+  *pxTopOfStack = 4294967293;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack = pxTopOfStack + 4294967264;
+  # DEBUG BEGIN_STMT
+  D.5843 = pxTopOfStack;
+  return D.5843;
+
+}
+
+
+__attribute__((always_inline))
+vPortSetBASEPRI (uint32_t ulNewMaskValue)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue : "memory");
+  return;
+
+}
+
+
+__attribute__((always_inline))
+vPortRaiseBASEPRI ()
+{
+  uint32_t ulNewBASEPRI;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI : "i" 16 : "memory");
+  return;
+
+}
+
+

+ 703 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.022i.opt_local_passes

@@ -0,0 +1,703 @@
+vPortValidateInterruptPriority ()
+{
+  uint8_t ucCurrentPriority;
+  uint32_t ulCurrentInterrupt;
+  const uint8_t * _1;
+  unsigned char ucMaxSysCallPriority.19_2;
+  volatile uint32_t * _3;
+  long unsigned int _4;
+  long unsigned int _5;
+  long unsigned int ulMaxPRIGROUPValue.20_6;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_9 :  : "memory");
+  # DEBUG ulCurrentInterrupt => ulCurrentInterrupt_9
+  # DEBUG BEGIN_STMT
+  if (ulCurrentInterrupt_9 > 15)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 6>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _1 = 3758154736B + ulCurrentInterrupt_9;
+  ucCurrentPriority_10 ={v} *_1;
+  # DEBUG ucCurrentPriority => ucCurrentPriority_10
+  # DEBUG BEGIN_STMT
+  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
+  if (ucCurrentPriority_10 < ucMaxSysCallPriority.19_2)
+    goto <bb 4>; [INV]
+  else
+    goto <bb 6>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 5>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = 3758157068B;
+  _4 ={v} *_3;
+  _5 = _4 & 1792;
+  ulMaxPRIGROUPValue.20_6 = ulMaxPRIGROUPValue;
+  if (_5 > ulMaxPRIGROUPValue.20_6)
+    goto <bb 7>; [INV]
+  else
+    goto <bb 9>; [INV]
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 8>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+vPortEnableVFP ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
+	ldr r1, [r0]				
+								
+	orr r1, r1, #( 0xf << 20 )	
+	str r1, [r0]				
+	bx r14						
+	.ltorg						
+");
+  return;
+
+}
+
+
+__attribute__((weak))
+vPortSetupTimerInterrupt ()
+{
+  volatile uint32_t * _1;
+  volatile uint32_t * _2;
+  volatile uint32_t * _3;
+  volatile uint32_t * _4;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  _1 = 3758153744B;
+  *_1 ={v} 0;
+  # DEBUG BEGIN_STMT
+  _2 = 3758153752B;
+  *_2 ={v} 0;
+  # DEBUG BEGIN_STMT
+  _3 = 3758153748B;
+  *_3 ={v} 47999;
+  # DEBUG BEGIN_STMT
+  _4 = 3758153744B;
+  *_4 ={v} 7;
+  return;
+
+}
+
+
+SysTick_Handler ()
+{
+  long int _1;
+  volatile uint32_t * _2;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+  # DEBUG BEGIN_STMT
+  _1 = xTaskIncrementTick ();
+  if (_1 != 0)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _2 = 3758157060B;
+  *_2 ={v} 268435456;
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  vPortSetBASEPRI (0);
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+PendSV_Handler ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs r0, psp							
+	isb									
+										
+	ldr	r3, pxCurrentTCBConst			
+	ldr	r2, [r3]						
+										
+	tst r14, #0x10						
+	it eq								
+	vstmdbeq r0!, {s16-s31}				
+										
+	stmdb r0!, {r4-r11, r14}			
+	str r0, [r2]						
+										
+	stmdb sp!, {r0, r3}					
+	mov r0, %0 							
+	msr basepri, r0						
+	dsb									
+	isb									
+	bl vTaskSwitchContext				
+	mov r0, #0							
+	msr basepri, r0						
+	ldmia sp!, {r0, r3}					
+										
+	ldr r1, [r3]						
+	ldr r0, [r1]						
+										
+	ldmia r0!, {r4-r11, r14}			
+										
+	tst r14, #0x10						
+	it eq								
+	vldmiaeq r0!, {s16-s31}				
+										
+	msr psp, r0							
+	isb									
+										
+										
+	bx r14								
+										
+	.align 4							
+pxCurrentTCBConst: .word pxCurrentTCB	
+" :  : "i" 16);
+  return;
+
+}
+
+
+vPortExitCritical ()
+{
+  long unsigned int uxCriticalNesting.16_1;
+  long unsigned int uxCriticalNesting.17_2;
+  long unsigned int _3;
+  long unsigned int uxCriticalNesting.18_4;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.16_1 = uxCriticalNesting;
+  if (uxCriticalNesting.16_1 == 0)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.17_2 = uxCriticalNesting;
+  _3 = uxCriticalNesting.17_2 + 4294967295;
+  uxCriticalNesting = _3;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.18_4 = uxCriticalNesting;
+  if (uxCriticalNesting.18_4 == 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortSetBASEPRI (0);
+
+  <bb 7> :
+  return;
+
+}
+
+
+vPortEnterCritical ()
+{
+  long unsigned int uxCriticalNesting.14_1;
+  long unsigned int _2;
+  long unsigned int uxCriticalNesting.15_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.14_1 = uxCriticalNesting;
+  _2 = uxCriticalNesting.14_1 + 1;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.15_3 = uxCriticalNesting;
+  if (uxCriticalNesting.15_3 == 1)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 6>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  _4 = 3758157060B;
+  _5 ={v} *_4;
+  _6 = _5 & 255;
+  if (_6 != 0)
+    goto <bb 4>; [INV]
+  else
+    goto <bb 6>; [INV]
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 5>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vPortEndScheduler ()
+{
+  long unsigned int uxCriticalNesting.13_1;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.13_1 = uxCriticalNesting;
+  if (uxCriticalNesting.13_1 != 1000)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+xPortStartScheduler ()
+{
+  volatile uint8_t ucMaxPriorityValue;
+  volatile uint8_t * const pucFirstUserPriorityRegister;
+  volatile uint32_t ulOriginalPriority;
+  volatile uint32_t * _1;
+  long unsigned int _2;
+  volatile uint32_t * _3;
+  long unsigned int _4;
+  volatile uint8_t * _5;
+  unsigned char _6;
+  long unsigned int _7;
+  volatile uint8_t * _8;
+  volatile uint8_t * _9;
+  unsigned char _10;
+  unsigned char ucMaxPriorityValue.5_11;
+  unsigned char _12;
+  long unsigned int ulMaxPRIGROUPValue.6_13;
+  long unsigned int _14;
+  unsigned char ucMaxPriorityValue.7_15;
+  unsigned char _16;
+  unsigned char ucMaxPriorityValue.8_17;
+  int _18;
+  int _19;
+  long unsigned int ulMaxPRIGROUPValue.9_20;
+  long unsigned int _21;
+  long unsigned int ulMaxPRIGROUPValue.10_22;
+  long unsigned int _23;
+  long unsigned int ulMaxPRIGROUPValue.11_24;
+  long unsigned int _25;
+  long unsigned int ulOriginalPriority.12_26;
+  volatile uint8_t * _27;
+  unsigned char _28;
+  volatile uint32_t * _29;
+  long unsigned int _30;
+  volatile uint32_t * _31;
+  long unsigned int _32;
+  volatile uint32_t * _33;
+  long unsigned int _34;
+  volatile uint32_t * _35;
+  long unsigned int _36;
+  volatile uint32_t * _37;
+  long unsigned int _38;
+  volatile uint32_t * _39;
+  long unsigned int _40;
+  BaseType_t _61;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 = 3758157056B;
+  _2 ={v} *_1;
+  if (_2 == 1091551857)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 = 3758157056B;
+  _4 ={v} *_3;
+  if (_4 == 1091551856)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 7> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 7>; [INV]
+
+  <bb 8> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  pucFirstUserPriorityRegister_43 = 3758154752B;
+  # DEBUG pucFirstUserPriorityRegister => pucFirstUserPriorityRegister_43
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _5 = 3758154752B;
+  _6 ={v} *_5;
+  _7 = (long unsigned int) _6;
+  ulOriginalPriority ={v} _7;
+  # DEBUG BEGIN_STMT
+  _8 = 3758154752B;
+  *_8 ={v} 255;
+  # DEBUG BEGIN_STMT
+  _9 = 3758154752B;
+  _10 ={v} *_9;
+  ucMaxPriorityValue ={v} _10;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.5_11 ={v} ucMaxPriorityValue;
+  _12 = ucMaxPriorityValue.5_11 & 16;
+  ucMaxSysCallPriority = _12;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue = 7;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [INV]
+
+  <bb 9> :
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.6_13 = ulMaxPRIGROUPValue;
+  _14 = ulMaxPRIGROUPValue.6_13 + 4294967295;
+  ulMaxPRIGROUPValue = _14;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.7_15 ={v} ucMaxPriorityValue;
+  _16 = ucMaxPriorityValue.7_15 << 1;
+  ucMaxPriorityValue ={v} _16;
+
+  <bb 10> :
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.8_17 ={v} ucMaxPriorityValue;
+  _18 = (int) ucMaxPriorityValue.8_17;
+  _19 = _18 & 128;
+  if (_19 == 128)
+    goto <bb 9>; [INV]
+  else
+    goto <bb 11>; [INV]
+
+  <bb 11> :
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.9_20 = ulMaxPRIGROUPValue;
+  _21 = 7 - ulMaxPRIGROUPValue.9_20;
+  if (_21 != 4)
+    goto <bb 12>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 12> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 13> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 13>; [INV]
+
+  <bb 14> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.10_22 = ulMaxPRIGROUPValue;
+  _23 = ulMaxPRIGROUPValue.10_22 << 8;
+  ulMaxPRIGROUPValue = _23;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.11_24 = ulMaxPRIGROUPValue;
+  _25 = ulMaxPRIGROUPValue.11_24 & 1792;
+  ulMaxPRIGROUPValue = _25;
+  # DEBUG BEGIN_STMT
+  ulOriginalPriority.12_26 ={v} ulOriginalPriority;
+  _27 = 3758154752B;
+  _28 = (unsigned char) ulOriginalPriority.12_26;
+  *_27 ={v} _28;
+  # DEBUG BEGIN_STMT
+  _29 = 3758157088B;
+  _30 ={v} *_29;
+  _31 = 3758157088B;
+  _32 = _30 | 15728640;
+  *_31 ={v} _32;
+  # DEBUG BEGIN_STMT
+  _33 = 3758157088B;
+  _34 ={v} *_33;
+  _35 = 3758157088B;
+  _36 = _34 | 4026531840;
+  *_35 ={v} _36;
+  # DEBUG BEGIN_STMT
+  vPortSetupTimerInterrupt ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting = 0;
+  # DEBUG BEGIN_STMT
+  vPortEnableVFP ();
+  # DEBUG BEGIN_STMT
+  _37 = 3758157620B;
+  _38 ={v} *_37;
+  _39 = 3758157620B;
+  _40 = _38 | 3221225472;
+  *_39 ={v} _40;
+  # DEBUG BEGIN_STMT
+  prvPortStartFirstTask ();
+  # DEBUG BEGIN_STMT
+  vTaskSwitchContext ();
+  # DEBUG BEGIN_STMT
+  prvTaskExitError ();
+  # DEBUG BEGIN_STMT
+  _61 = 0;
+  return _61;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+prvPortStartFirstTask ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
+ ldr r0, [r0] 			
+ ldr r0, [r0] 			
+ msr msp, r0			
+ mov r0, #0			
+ msr control, r0		
+ cpsie i				
+ cpsie f				
+ dsb					
+ isb					
+ svc 0					
+ nop					
+ .ltorg				
+");
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+SVC_Handler ()
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
+	ldr r1, [r3]					
+	ldr r0, [r1]					
+	ldmia r0!, {r4-r11, r14}		
+	msr psp, r0						
+	isb								
+	mov r0, #0 						
+	msr	basepri, r0					
+	bx r14							
+									
+	.align 4						
+pxCurrentTCBConst2: .word pxCurrentTCB				
+");
+  return;
+
+}
+
+
+prvTaskExitError ()
+{
+  volatile uint32_t ulDummy;
+  long unsigned int uxCriticalNesting.3_1;
+  long unsigned int ulDummy.4_2;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  ulDummy ={v} 0;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.3_1 = uxCriticalNesting;
+  if (uxCriticalNesting.3_1 != 4294967295)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 3> :
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+
+  <bb 4> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  goto <bb 4>; [INV]
+
+  <bb 5> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  vPortRaiseBASEPRI ();
+  # DEBUG BEGIN_STMT
+
+  <bb 6> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulDummy.4_2 ={v} ulDummy;
+  if (ulDummy.4_2 == 0)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  return;
+
+}
+
+
+pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
+{
+  long unsigned int pxCode.0_1;
+  long unsigned int _2;
+  long unsigned int prvTaskExitError.1_3;
+  long unsigned int pvParameters.2_4;
+  StackType_t * _20;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_6 = pxTopOfStack_5(D) + 4294967292;
+  # DEBUG pxTopOfStack => pxTopOfStack_6
+  # DEBUG BEGIN_STMT
+  *pxTopOfStack_6 = 16777216;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_9 = pxTopOfStack_6 + 4294967292;
+  # DEBUG pxTopOfStack => pxTopOfStack_9
+  # DEBUG BEGIN_STMT
+  pxCode.0_1 = (long unsigned int) pxCode_10(D);
+  _2 = pxCode.0_1 & 4294967294;
+  *pxTopOfStack_9 = _2;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_12 = pxTopOfStack_9 + 4294967292;
+  # DEBUG pxTopOfStack => pxTopOfStack_12
+  # DEBUG BEGIN_STMT
+  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
+  *pxTopOfStack_12 = prvTaskExitError.1_3;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_14 = pxTopOfStack_12 + 4294967276;
+  # DEBUG pxTopOfStack => pxTopOfStack_14
+  # DEBUG BEGIN_STMT
+  pvParameters.2_4 = (long unsigned int) pvParameters_15(D);
+  *pxTopOfStack_14 = pvParameters.2_4;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_17 = pxTopOfStack_14 + 4294967292;
+  # DEBUG pxTopOfStack => pxTopOfStack_17
+  # DEBUG BEGIN_STMT
+  *pxTopOfStack_17 = 4294967293;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_19 = pxTopOfStack_17 + 4294967264;
+  # DEBUG pxTopOfStack => pxTopOfStack_19
+  # DEBUG BEGIN_STMT
+  _20 = pxTopOfStack_19;
+  return _20;
+
+}
+
+
+__attribute__((always_inline))
+vPortSetBASEPRI (uint32_t ulNewMaskValue)
+{
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_2(D) : "memory");
+  return;
+
+}
+
+
+__attribute__((always_inline))
+vPortRaiseBASEPRI ()
+{
+  uint32_t ulNewBASEPRI;
+
+  <bb 2> :
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3
+  return;
+
+}
+
+

+ 942 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.048i.remove_symbols

@@ -0,0 +1,942 @@
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+
+prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06a55380
+  Type: function definition analyzed
+  Visibility: artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: prvTaskExitError/9 (107374 (estimated locally),0.66 per call) 
+  Calls: 
+xTaskIncrementTick/22 (xTaskIncrementTick) @06ad29a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: SysTick_Handler/17 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vTaskSwitchContext/21 (vTaskSwitchContext) @06ad20e0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06ac7b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
+  Referring: 
+  Availability: available
+  Function flags: count:286331 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEnableVFP/19 (vPortEnableVFP) @06ac77e0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06ac7460
+  Type: function definition analyzed
+  Visibility: externally_visible public weak
+  References: 
+  Referring: 
+  Availability: overwritable
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+SysTick_Handler/17 (SysTick_Handler) @06ac71c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskIncrementTick/22 (1073741824 (estimated locally),1.00 per call) 
+PendSV_Handler/16 (PendSV_Handler) @06abbee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/15 (vPortExitCritical) @06abb620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEnterCritical/14 (vPortEnterCritical) @06abbe00
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:631612 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEndScheduler/13 (vPortEndScheduler) @06abbb60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)
+  Referring: 
+  Availability: available
+  Function flags: count:162688 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xPortStartScheduler/12 (xPortStartScheduler) @06abb7e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:309048 (estimated locally) body optimize_size
+  Called by: 
+  Calls: prvTaskExitError/9 (27247 (estimated locally),0.09 per call) vTaskSwitchContext/21 (27247 (estimated locally),0.09 per call) prvPortStartFirstTask/11 (27247 (estimated locally),0.09 per call) vPortEnableVFP/19 (27247 (estimated locally),0.09 per call) vPortSetupTimerInterrupt/18 (27247 (estimated locally),0.09 per call) 
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06abb540
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+SVC_Handler/10 (SVC_Handler) @06abb1c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+prvTaskExitError/9 (prvTaskExitError) @06ab6e00
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  Address is taken.
+  References: uxCriticalNesting/4 (read)
+  Referring: pxPortInitialiseStack/8 (addr)
+  Availability: available
+  Function flags: count:162688 (estimated locally) body optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: prvTaskExitError.part.0/25 (107374 (estimated locally),0.66 per call) 
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06ab6d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: prvTaskExitError/9 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06ab53a8
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06ab5318
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+uxCriticalNesting/4 (uxCriticalNesting) @06ab51b0
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: vPortEndScheduler/13 (read)vPortEnterCritical/14 (write)vPortExitCritical/15 (write)prvTaskExitError/9 (read)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)xPortStartScheduler/12 (write)
+  Availability: available
+  Varpool flags: initialized
+prvTaskExitError.part.0 ()
+{
+  volatile uint32_t ulDummy;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+
+  <bb 5> [local count: 107374]:
+
+  <bb 2> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
+
+  <bb 3> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  goto <bb 3>; [100.00%]
+
+}
+
+
+vPortValidateInterruptPriority ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint8_t ucCurrentPriority;
+  uint32_t ulCurrentInterrupt;
+  const uint8_t * _1;
+  unsigned char ucMaxSysCallPriority.19_2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int ulMaxPRIGROUPValue.20_5;
+
+  <bb 2> [local count: 286331]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_8 :  : "memory");
+  # DEBUG ulCurrentInterrupt => ulCurrentInterrupt_8
+  # DEBUG BEGIN_STMT
+  if (ulCurrentInterrupt_8 > 15)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 3> [local count: 143165]:
+  # DEBUG BEGIN_STMT
+  _1 = 3758154736B + ulCurrentInterrupt_8;
+  ucCurrentPriority_9 ={v} *_1;
+  # DEBUG ucCurrentPriority => ucCurrentPriority_9
+  # DEBUG BEGIN_STMT
+  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
+  if (ucMaxSysCallPriority.19_2 > ucCurrentPriority_9)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 71583]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
+
+  <bb 5> [local count: 715827883]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 715827883]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157068B];
+  _4 = _3 & 1792;
+  ulMaxPRIGROUPValue.20_5 = ulMaxPRIGROUPValue;
+  if (_4 > ulMaxPRIGROUPValue.20_5)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 7> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 8> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 11> [local count: 1073741823]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+vPortEnableVFP ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
+	ldr r1, [r0]				
+								
+	orr r1, r1, #( 0xf << 20 )	
+	str r1, [r0]				
+	bx r14						
+	.ltorg						
+");
+  return;
+
+}
+
+
+__attribute__((weak))
+vPortSetupTimerInterrupt ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153752B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153748B] ={v} 47999;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 7;
+  return;
+
+}
+
+
+SysTick_Handler ()
+{
+  uint32_t ulNewBASEPRI;
+  long int _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  _1 = xTaskIncrementTick ();
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 4>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+PendSV_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs r0, psp							
+	isb									
+										
+	ldr	r3, pxCurrentTCBConst			
+	ldr	r2, [r3]						
+										
+	tst r14, #0x10						
+	it eq								
+	vstmdbeq r0!, {s16-s31}				
+										
+	stmdb r0!, {r4-r11, r14}			
+	str r0, [r2]						
+										
+	stmdb sp!, {r0, r3}					
+	mov r0, %0 							
+	msr basepri, r0						
+	dsb									
+	isb									
+	bl vTaskSwitchContext				
+	mov r0, #0							
+	msr basepri, r0						
+	ldmia sp!, {r0, r3}					
+										
+	ldr r1, [r3]						
+	ldr r0, [r1]						
+										
+	ldmia r0!, {r4-r11, r14}			
+										
+	tst r14, #0x10						
+	it eq								
+	vldmiaeq r0!, {s16-s31}				
+										
+	msr psp, r0							
+	isb									
+										
+										
+	bx r14								
+										
+	.align 4							
+pxCurrentTCBConst: .word pxCurrentTCB	
+" :  : "i" 16);
+  return;
+
+}
+
+
+vPortExitCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.16_1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.16_1 = uxCriticalNesting;
+  if (uxCriticalNesting.16_1 == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 8> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = uxCriticalNesting.16_1 + 4294967295;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 6> [local count: 53687]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+
+  <bb 7> [local count: 107374]:
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+vPortEnterCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.14_1;
+  long unsigned int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 631612]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.14_1 = uxCriticalNesting;
+  _2 = uxCriticalNesting.14_1 + 1;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 1)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 6>; [66.00%]
+
+  <bb 3> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157060B];
+  _4 = _3 & 255;
+  if (_4 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 5> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 7> [local count: 1073741824]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 524238]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vPortEndScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.13_1;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.13_1 = uxCriticalNesting;
+  if (uxCriticalNesting.13_1 != 1000)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 5>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 6> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+xPortStartScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  volatile uint8_t ucMaxPriorityValue;
+  volatile uint32_t ulOriginalPriority;
+  long unsigned int _1;
+  signed char _2;
+  long unsigned int _3;
+  unsigned char _4;
+  long unsigned int _5;
+  unsigned char _6;
+  unsigned char ucMaxPriorityValue.5_7;
+  unsigned char _8;
+  long unsigned int ulMaxPRIGROUPValue.6_9;
+  long unsigned int _10;
+  unsigned char ucMaxPriorityValue.7_11;
+  unsigned char _12;
+  unsigned char ucMaxPriorityValue.8_13;
+  long unsigned int ulMaxPRIGROUPValue.9_14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _17;
+  long unsigned int ulOriginalPriority.12_18;
+  unsigned char _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _22;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 2> [local count: 309048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_1 == 1091551857)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 5>; [66.00%]
+
+  <bb 3> [local count: 105076]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_46 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_46
+
+  <bb 4> [local count: 1050765414]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 15> [local count: 1050765414]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 203972]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_3 == 1091551856)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 8>; [66.00%]
+
+  <bb 6> [local count: 69350]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 7> [local count: 693505173]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 16> [local count: 693505172]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pucFirstUserPriorityRegister => 3758154752B
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _4 ={v} MEM[(volatile uint8_t *)3758154752B];
+  _5 = (long unsigned int) _4;
+  ulOriginalPriority ={v} _5;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint8_t *)3758154752B] ={v} 255;
+  # DEBUG BEGIN_STMT
+  _6 ={v} MEM[(volatile uint8_t *)3758154752B];
+  ucMaxPriorityValue ={v} _6;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.5_7 ={v} ucMaxPriorityValue;
+  _8 = ucMaxPriorityValue.5_7 & 16;
+  ucMaxSysCallPriority = _8;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue = 7;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 9> [local count: 1089209]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.6_9 = ulMaxPRIGROUPValue;
+  _10 = ulMaxPRIGROUPValue.6_9 + 4294967295;
+  ulMaxPRIGROUPValue = _10;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.7_11 ={v} ucMaxPriorityValue;
+  _12 = ucMaxPriorityValue.7_11 << 1;
+  ucMaxPriorityValue ={v} _12;
+
+  <bb 10> [local count: 1223831]:
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.8_13 ={v} ucMaxPriorityValue;
+  _2 = (signed char) ucMaxPriorityValue.8_13;
+  if (_2 < 0)
+    goto <bb 9>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.9_14 = ulMaxPRIGROUPValue;
+  _15 = 7 - ulMaxPRIGROUPValue.9_14;
+  if (_15 != 4)
+    goto <bb 12>; [79.76%]
+  else
+    goto <bb 14>; [20.24%]
+
+  <bb 12> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 13> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 17> [local count: 1073741824]:
+  goto <bb 13>; [100.00%]
+
+  <bb 14> [local count: 27247]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _16 = ulMaxPRIGROUPValue.9_14 << 8;
+  # DEBUG BEGIN_STMT
+  _17 = _16 & 1792;
+  ulMaxPRIGROUPValue = _17;
+  # DEBUG BEGIN_STMT
+  ulOriginalPriority.12_18 ={v} ulOriginalPriority;
+  _19 = (unsigned char) ulOriginalPriority.12_18;
+  MEM[(volatile uint8_t *)3758154752B] ={v} _19;
+  # DEBUG BEGIN_STMT
+  _20 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _21 = _20 | 15728640;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _21;
+  # DEBUG BEGIN_STMT
+  _22 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _23 = _22 | 4026531840;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _23;
+  # DEBUG BEGIN_STMT
+  vPortSetupTimerInterrupt ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting = 0;
+  # DEBUG BEGIN_STMT
+  vPortEnableVFP ();
+  # DEBUG BEGIN_STMT
+  _24 ={v} MEM[(volatile uint32_t *)3758157620B];
+  _25 = _24 | 3221225472;
+  MEM[(volatile uint32_t *)3758157620B] ={v} _25;
+  # DEBUG BEGIN_STMT
+  prvPortStartFirstTask ();
+  # DEBUG BEGIN_STMT
+  vTaskSwitchContext ();
+  # DEBUG BEGIN_STMT
+  prvTaskExitError ();
+  # DEBUG BEGIN_STMT
+  return 0;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+prvPortStartFirstTask ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
+ ldr r0, [r0] 			
+ ldr r0, [r0] 			
+ msr msp, r0			
+ mov r0, #0			
+ msr control, r0		
+ cpsie i				
+ cpsie f				
+ dsb					
+ isb					
+ svc 0					
+ nop					
+ .ltorg				
+");
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+SVC_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
+	ldr r1, [r3]					
+	ldr r0, [r1]					
+	ldmia r0!, {r4-r11, r14}		
+	msr psp, r0						
+	isb								
+	mov r0, #0 						
+	msr	basepri, r0					
+	bx r14							
+									
+	.align 4						
+pxCurrentTCBConst2: .word pxCurrentTCB				
+");
+  return;
+
+}
+
+
+prvTaskExitError ()
+{
+  uint32_t ulNewBASEPRI;
+  volatile uint32_t ulDummy;
+  long unsigned int uxCriticalNesting.3_1;
+  long unsigned int ulDummy.4_2;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  ulDummy ={v} 0;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.3_1 = uxCriticalNesting;
+  if (uxCriticalNesting.3_1 != 4294967295)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 4>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  prvTaskExitError.part.0 ();
+
+  <bb 4> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 5> [local count: 502853]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulDummy.4_2 ={v} ulDummy;
+  if (ulDummy.4_2 == 0)
+    goto <bb 5>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 6> [local count: 55314]:
+  return;
+
+}
+
+
+pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
+{
+  long unsigned int pxCode.0_1;
+  long unsigned int _2;
+  long unsigned int prvTaskExitError.1_3;
+  long unsigned int pvParameters.2_4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxTopOfStack => pxTopOfStack_5(D) + 4294967292
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967292B] = 16777216;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#4 => &MEM[(void *)pxTopOfStack_5(D) + 4294967288B]
+  # DEBUG pxTopOfStack => D#4
+  # DEBUG BEGIN_STMT
+  pxCode.0_1 = (long unsigned int) pxCode_8(D);
+  _2 = pxCode.0_1 & 4294967294;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967288B] = _2;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#3 => &MEM[(void *)pxTopOfStack_5(D) + 4294967284B]
+  # DEBUG pxTopOfStack => D#3
+  # DEBUG BEGIN_STMT
+  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967284B] = prvTaskExitError.1_3;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(void *)pxTopOfStack_5(D) + 4294967264B]
+  # DEBUG pxTopOfStack => D#2
+  # DEBUG BEGIN_STMT
+  pvParameters.2_4 = (long unsigned int) pvParameters_11(D);
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967264B] = pvParameters.2_4;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(void *)pxTopOfStack_5(D) + 4294967260B]
+  # DEBUG pxTopOfStack => D#1
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967260B] = 4294967293;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_14 = &MEM[(void *)pxTopOfStack_5(D) + 4294967228B];
+  # DEBUG pxTopOfStack => pxTopOfStack_14
+  # DEBUG BEGIN_STMT
+  return pxTopOfStack_14;
+
+}
+
+

+ 770 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.060i.targetclone

@@ -0,0 +1,770 @@
+prvTaskExitError.part.0 ()
+{
+  volatile uint32_t ulDummy;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+
+  <bb 5> [local count: 107374]:
+
+  <bb 2> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
+
+  <bb 3> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  goto <bb 3>; [100.00%]
+
+}
+
+
+vPortValidateInterruptPriority ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint8_t ucCurrentPriority;
+  uint32_t ulCurrentInterrupt;
+  const uint8_t * _1;
+  unsigned char ucMaxSysCallPriority.19_2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int ulMaxPRIGROUPValue.20_5;
+
+  <bb 2> [local count: 286331]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_8 :  : "memory");
+  # DEBUG ulCurrentInterrupt => ulCurrentInterrupt_8
+  # DEBUG BEGIN_STMT
+  if (ulCurrentInterrupt_8 > 15)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 3> [local count: 143165]:
+  # DEBUG BEGIN_STMT
+  _1 = 3758154736B + ulCurrentInterrupt_8;
+  ucCurrentPriority_9 ={v} *_1;
+  # DEBUG ucCurrentPriority => ucCurrentPriority_9
+  # DEBUG BEGIN_STMT
+  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
+  if (ucMaxSysCallPriority.19_2 > ucCurrentPriority_9)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 71583]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
+
+  <bb 5> [local count: 715827883]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 715827883]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157068B];
+  _4 = _3 & 1792;
+  ulMaxPRIGROUPValue.20_5 = ulMaxPRIGROUPValue;
+  if (_4 > ulMaxPRIGROUPValue.20_5)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 7> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 8> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 11> [local count: 1073741823]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+vPortEnableVFP ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
+	ldr r1, [r0]				
+								
+	orr r1, r1, #( 0xf << 20 )	
+	str r1, [r0]				
+	bx r14						
+	.ltorg						
+");
+  return;
+
+}
+
+
+__attribute__((weak))
+vPortSetupTimerInterrupt ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153752B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153748B] ={v} 47999;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 7;
+  return;
+
+}
+
+
+SysTick_Handler ()
+{
+  uint32_t ulNewBASEPRI;
+  long int _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  _1 = xTaskIncrementTick ();
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 4>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+PendSV_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs r0, psp							
+	isb									
+										
+	ldr	r3, pxCurrentTCBConst			
+	ldr	r2, [r3]						
+										
+	tst r14, #0x10						
+	it eq								
+	vstmdbeq r0!, {s16-s31}				
+										
+	stmdb r0!, {r4-r11, r14}			
+	str r0, [r2]						
+										
+	stmdb sp!, {r0, r3}					
+	mov r0, %0 							
+	msr basepri, r0						
+	dsb									
+	isb									
+	bl vTaskSwitchContext				
+	mov r0, #0							
+	msr basepri, r0						
+	ldmia sp!, {r0, r3}					
+										
+	ldr r1, [r3]						
+	ldr r0, [r1]						
+										
+	ldmia r0!, {r4-r11, r14}			
+										
+	tst r14, #0x10						
+	it eq								
+	vldmiaeq r0!, {s16-s31}				
+										
+	msr psp, r0							
+	isb									
+										
+										
+	bx r14								
+										
+	.align 4							
+pxCurrentTCBConst: .word pxCurrentTCB	
+" :  : "i" 16);
+  return;
+
+}
+
+
+vPortExitCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.16_1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.16_1 = uxCriticalNesting;
+  if (uxCriticalNesting.16_1 == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 8> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = uxCriticalNesting.16_1 + 4294967295;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 6> [local count: 53687]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+
+  <bb 7> [local count: 107374]:
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+vPortEnterCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.14_1;
+  long unsigned int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 631612]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.14_1 = uxCriticalNesting;
+  _2 = uxCriticalNesting.14_1 + 1;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 1)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 6>; [66.00%]
+
+  <bb 3> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157060B];
+  _4 = _3 & 255;
+  if (_4 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 5> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 7> [local count: 1073741824]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 524238]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vPortEndScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.13_1;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.13_1 = uxCriticalNesting;
+  if (uxCriticalNesting.13_1 != 1000)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 5>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 6> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+xPortStartScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  volatile uint8_t ucMaxPriorityValue;
+  volatile uint32_t ulOriginalPriority;
+  long unsigned int _1;
+  signed char _2;
+  long unsigned int _3;
+  unsigned char _4;
+  long unsigned int _5;
+  unsigned char _6;
+  unsigned char ucMaxPriorityValue.5_7;
+  unsigned char _8;
+  long unsigned int ulMaxPRIGROUPValue.6_9;
+  long unsigned int _10;
+  unsigned char ucMaxPriorityValue.7_11;
+  unsigned char _12;
+  unsigned char ucMaxPriorityValue.8_13;
+  long unsigned int ulMaxPRIGROUPValue.9_14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _17;
+  long unsigned int ulOriginalPriority.12_18;
+  unsigned char _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _22;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 2> [local count: 309048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_1 == 1091551857)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 5>; [66.00%]
+
+  <bb 3> [local count: 105076]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_46 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_46
+
+  <bb 4> [local count: 1050765414]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 15> [local count: 1050765414]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 203972]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_3 == 1091551856)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 8>; [66.00%]
+
+  <bb 6> [local count: 69350]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 7> [local count: 693505173]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 16> [local count: 693505172]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pucFirstUserPriorityRegister => 3758154752B
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _4 ={v} MEM[(volatile uint8_t *)3758154752B];
+  _5 = (long unsigned int) _4;
+  ulOriginalPriority ={v} _5;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint8_t *)3758154752B] ={v} 255;
+  # DEBUG BEGIN_STMT
+  _6 ={v} MEM[(volatile uint8_t *)3758154752B];
+  ucMaxPriorityValue ={v} _6;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.5_7 ={v} ucMaxPriorityValue;
+  _8 = ucMaxPriorityValue.5_7 & 16;
+  ucMaxSysCallPriority = _8;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue = 7;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 9> [local count: 1089209]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.6_9 = ulMaxPRIGROUPValue;
+  _10 = ulMaxPRIGROUPValue.6_9 + 4294967295;
+  ulMaxPRIGROUPValue = _10;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.7_11 ={v} ucMaxPriorityValue;
+  _12 = ucMaxPriorityValue.7_11 << 1;
+  ucMaxPriorityValue ={v} _12;
+
+  <bb 10> [local count: 1223831]:
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.8_13 ={v} ucMaxPriorityValue;
+  _2 = (signed char) ucMaxPriorityValue.8_13;
+  if (_2 < 0)
+    goto <bb 9>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.9_14 = ulMaxPRIGROUPValue;
+  _15 = 7 - ulMaxPRIGROUPValue.9_14;
+  if (_15 != 4)
+    goto <bb 12>; [79.76%]
+  else
+    goto <bb 14>; [20.24%]
+
+  <bb 12> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 13> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 17> [local count: 1073741824]:
+  goto <bb 13>; [100.00%]
+
+  <bb 14> [local count: 27247]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _16 = ulMaxPRIGROUPValue.9_14 << 8;
+  # DEBUG BEGIN_STMT
+  _17 = _16 & 1792;
+  ulMaxPRIGROUPValue = _17;
+  # DEBUG BEGIN_STMT
+  ulOriginalPriority.12_18 ={v} ulOriginalPriority;
+  _19 = (unsigned char) ulOriginalPriority.12_18;
+  MEM[(volatile uint8_t *)3758154752B] ={v} _19;
+  # DEBUG BEGIN_STMT
+  _20 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _21 = _20 | 15728640;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _21;
+  # DEBUG BEGIN_STMT
+  _22 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _23 = _22 | 4026531840;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _23;
+  # DEBUG BEGIN_STMT
+  vPortSetupTimerInterrupt ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting = 0;
+  # DEBUG BEGIN_STMT
+  vPortEnableVFP ();
+  # DEBUG BEGIN_STMT
+  _24 ={v} MEM[(volatile uint32_t *)3758157620B];
+  _25 = _24 | 3221225472;
+  MEM[(volatile uint32_t *)3758157620B] ={v} _25;
+  # DEBUG BEGIN_STMT
+  prvPortStartFirstTask ();
+  # DEBUG BEGIN_STMT
+  vTaskSwitchContext ();
+  # DEBUG BEGIN_STMT
+  prvTaskExitError ();
+  # DEBUG BEGIN_STMT
+  return 0;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+prvPortStartFirstTask ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
+ ldr r0, [r0] 			
+ ldr r0, [r0] 			
+ msr msp, r0			
+ mov r0, #0			
+ msr control, r0		
+ cpsie i				
+ cpsie f				
+ dsb					
+ isb					
+ svc 0					
+ nop					
+ .ltorg				
+");
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+SVC_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
+	ldr r1, [r3]					
+	ldr r0, [r1]					
+	ldmia r0!, {r4-r11, r14}		
+	msr psp, r0						
+	isb								
+	mov r0, #0 						
+	msr	basepri, r0					
+	bx r14							
+									
+	.align 4						
+pxCurrentTCBConst2: .word pxCurrentTCB				
+");
+  return;
+
+}
+
+
+prvTaskExitError ()
+{
+  uint32_t ulNewBASEPRI;
+  volatile uint32_t ulDummy;
+  long unsigned int uxCriticalNesting.3_1;
+  long unsigned int ulDummy.4_2;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  ulDummy ={v} 0;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.3_1 = uxCriticalNesting;
+  if (uxCriticalNesting.3_1 != 4294967295)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 4>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  prvTaskExitError.part.0 ();
+
+  <bb 4> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 5> [local count: 502853]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulDummy.4_2 ={v} ulDummy;
+  if (ulDummy.4_2 == 0)
+    goto <bb 5>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 6> [local count: 55314]:
+  return;
+
+}
+
+
+pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
+{
+  long unsigned int pxCode.0_1;
+  long unsigned int _2;
+  long unsigned int prvTaskExitError.1_3;
+  long unsigned int pvParameters.2_4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxTopOfStack => pxTopOfStack_5(D) + 4294967292
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967292B] = 16777216;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#4 => &MEM[(void *)pxTopOfStack_5(D) + 4294967288B]
+  # DEBUG pxTopOfStack => D#4
+  # DEBUG BEGIN_STMT
+  pxCode.0_1 = (long unsigned int) pxCode_8(D);
+  _2 = pxCode.0_1 & 4294967294;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967288B] = _2;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#3 => &MEM[(void *)pxTopOfStack_5(D) + 4294967284B]
+  # DEBUG pxTopOfStack => D#3
+  # DEBUG BEGIN_STMT
+  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967284B] = prvTaskExitError.1_3;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(void *)pxTopOfStack_5(D) + 4294967264B]
+  # DEBUG pxTopOfStack => D#2
+  # DEBUG BEGIN_STMT
+  pvParameters.2_4 = (long unsigned int) pvParameters_11(D);
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967264B] = pvParameters.2_4;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(void *)pxTopOfStack_5(D) + 4294967260B]
+  # DEBUG pxTopOfStack => D#1
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967260B] = 4294967293;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_14 = &MEM[(void *)pxTopOfStack_5(D) + 4294967228B];
+  # DEBUG pxTopOfStack => pxTopOfStack_14
+  # DEBUG BEGIN_STMT
+  return pxTopOfStack_14;
+
+}
+
+

+ 770 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.064i.free-fnsummary1

@@ -0,0 +1,770 @@
+prvTaskExitError.part.0 ()
+{
+  volatile uint32_t ulDummy;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+
+  <bb 5> [local count: 107374]:
+
+  <bb 2> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
+
+  <bb 3> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  goto <bb 3>; [100.00%]
+
+}
+
+
+vPortValidateInterruptPriority ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint8_t ucCurrentPriority;
+  uint32_t ulCurrentInterrupt;
+  const uint8_t * _1;
+  unsigned char ucMaxSysCallPriority.19_2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int ulMaxPRIGROUPValue.20_5;
+
+  <bb 2> [local count: 286331]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_8 :  : "memory");
+  # DEBUG ulCurrentInterrupt => ulCurrentInterrupt_8
+  # DEBUG BEGIN_STMT
+  if (ulCurrentInterrupt_8 > 15)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 3> [local count: 143165]:
+  # DEBUG BEGIN_STMT
+  _1 = 3758154736B + ulCurrentInterrupt_8;
+  ucCurrentPriority_9 ={v} *_1;
+  # DEBUG ucCurrentPriority => ucCurrentPriority_9
+  # DEBUG BEGIN_STMT
+  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
+  if (ucMaxSysCallPriority.19_2 > ucCurrentPriority_9)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 71583]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
+
+  <bb 5> [local count: 715827883]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 715827883]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157068B];
+  _4 = _3 & 1792;
+  ulMaxPRIGROUPValue.20_5 = ulMaxPRIGROUPValue;
+  if (_4 > ulMaxPRIGROUPValue.20_5)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 7> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 8> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 11> [local count: 1073741823]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+vPortEnableVFP ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
+	ldr r1, [r0]				
+								
+	orr r1, r1, #( 0xf << 20 )	
+	str r1, [r0]				
+	bx r14						
+	.ltorg						
+");
+  return;
+
+}
+
+
+__attribute__((weak))
+vPortSetupTimerInterrupt ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153752B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153748B] ={v} 47999;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 7;
+  return;
+
+}
+
+
+SysTick_Handler ()
+{
+  uint32_t ulNewBASEPRI;
+  long int _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  _1 = xTaskIncrementTick ();
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 4>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+PendSV_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs r0, psp							
+	isb									
+										
+	ldr	r3, pxCurrentTCBConst			
+	ldr	r2, [r3]						
+										
+	tst r14, #0x10						
+	it eq								
+	vstmdbeq r0!, {s16-s31}				
+										
+	stmdb r0!, {r4-r11, r14}			
+	str r0, [r2]						
+										
+	stmdb sp!, {r0, r3}					
+	mov r0, %0 							
+	msr basepri, r0						
+	dsb									
+	isb									
+	bl vTaskSwitchContext				
+	mov r0, #0							
+	msr basepri, r0						
+	ldmia sp!, {r0, r3}					
+										
+	ldr r1, [r3]						
+	ldr r0, [r1]						
+										
+	ldmia r0!, {r4-r11, r14}			
+										
+	tst r14, #0x10						
+	it eq								
+	vldmiaeq r0!, {s16-s31}				
+										
+	msr psp, r0							
+	isb									
+										
+										
+	bx r14								
+										
+	.align 4							
+pxCurrentTCBConst: .word pxCurrentTCB	
+" :  : "i" 16);
+  return;
+
+}
+
+
+vPortExitCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.16_1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.16_1 = uxCriticalNesting;
+  if (uxCriticalNesting.16_1 == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 8> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = uxCriticalNesting.16_1 + 4294967295;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 6> [local count: 53687]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+
+  <bb 7> [local count: 107374]:
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+vPortEnterCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.14_1;
+  long unsigned int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 631612]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.14_1 = uxCriticalNesting;
+  _2 = uxCriticalNesting.14_1 + 1;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 1)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 6>; [66.00%]
+
+  <bb 3> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157060B];
+  _4 = _3 & 255;
+  if (_4 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 5> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 7> [local count: 1073741824]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 524238]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vPortEndScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.13_1;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.13_1 = uxCriticalNesting;
+  if (uxCriticalNesting.13_1 != 1000)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 5>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 6> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+xPortStartScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  volatile uint8_t ucMaxPriorityValue;
+  volatile uint32_t ulOriginalPriority;
+  long unsigned int _1;
+  signed char _2;
+  long unsigned int _3;
+  unsigned char _4;
+  long unsigned int _5;
+  unsigned char _6;
+  unsigned char ucMaxPriorityValue.5_7;
+  unsigned char _8;
+  long unsigned int ulMaxPRIGROUPValue.6_9;
+  long unsigned int _10;
+  unsigned char ucMaxPriorityValue.7_11;
+  unsigned char _12;
+  unsigned char ucMaxPriorityValue.8_13;
+  long unsigned int ulMaxPRIGROUPValue.9_14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _17;
+  long unsigned int ulOriginalPriority.12_18;
+  unsigned char _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _22;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 2> [local count: 309048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_1 == 1091551857)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 5>; [66.00%]
+
+  <bb 3> [local count: 105076]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_46 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_46
+
+  <bb 4> [local count: 1050765414]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 15> [local count: 1050765414]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 203972]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_3 == 1091551856)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 8>; [66.00%]
+
+  <bb 6> [local count: 69350]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 7> [local count: 693505173]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 16> [local count: 693505172]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pucFirstUserPriorityRegister => 3758154752B
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _4 ={v} MEM[(volatile uint8_t *)3758154752B];
+  _5 = (long unsigned int) _4;
+  ulOriginalPriority ={v} _5;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint8_t *)3758154752B] ={v} 255;
+  # DEBUG BEGIN_STMT
+  _6 ={v} MEM[(volatile uint8_t *)3758154752B];
+  ucMaxPriorityValue ={v} _6;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.5_7 ={v} ucMaxPriorityValue;
+  _8 = ucMaxPriorityValue.5_7 & 16;
+  ucMaxSysCallPriority = _8;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue = 7;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 9> [local count: 1089209]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.6_9 = ulMaxPRIGROUPValue;
+  _10 = ulMaxPRIGROUPValue.6_9 + 4294967295;
+  ulMaxPRIGROUPValue = _10;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.7_11 ={v} ucMaxPriorityValue;
+  _12 = ucMaxPriorityValue.7_11 << 1;
+  ucMaxPriorityValue ={v} _12;
+
+  <bb 10> [local count: 1223831]:
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.8_13 ={v} ucMaxPriorityValue;
+  _2 = (signed char) ucMaxPriorityValue.8_13;
+  if (_2 < 0)
+    goto <bb 9>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.9_14 = ulMaxPRIGROUPValue;
+  _15 = 7 - ulMaxPRIGROUPValue.9_14;
+  if (_15 != 4)
+    goto <bb 12>; [79.76%]
+  else
+    goto <bb 14>; [20.24%]
+
+  <bb 12> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 13> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 17> [local count: 1073741824]:
+  goto <bb 13>; [100.00%]
+
+  <bb 14> [local count: 27247]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _16 = ulMaxPRIGROUPValue.9_14 << 8;
+  # DEBUG BEGIN_STMT
+  _17 = _16 & 1792;
+  ulMaxPRIGROUPValue = _17;
+  # DEBUG BEGIN_STMT
+  ulOriginalPriority.12_18 ={v} ulOriginalPriority;
+  _19 = (unsigned char) ulOriginalPriority.12_18;
+  MEM[(volatile uint8_t *)3758154752B] ={v} _19;
+  # DEBUG BEGIN_STMT
+  _20 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _21 = _20 | 15728640;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _21;
+  # DEBUG BEGIN_STMT
+  _22 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _23 = _22 | 4026531840;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _23;
+  # DEBUG BEGIN_STMT
+  vPortSetupTimerInterrupt ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting = 0;
+  # DEBUG BEGIN_STMT
+  vPortEnableVFP ();
+  # DEBUG BEGIN_STMT
+  _24 ={v} MEM[(volatile uint32_t *)3758157620B];
+  _25 = _24 | 3221225472;
+  MEM[(volatile uint32_t *)3758157620B] ={v} _25;
+  # DEBUG BEGIN_STMT
+  prvPortStartFirstTask ();
+  # DEBUG BEGIN_STMT
+  vTaskSwitchContext ();
+  # DEBUG BEGIN_STMT
+  prvTaskExitError ();
+  # DEBUG BEGIN_STMT
+  return 0;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+prvPortStartFirstTask ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
+ ldr r0, [r0] 			
+ ldr r0, [r0] 			
+ msr msp, r0			
+ mov r0, #0			
+ msr control, r0		
+ cpsie i				
+ cpsie f				
+ dsb					
+ isb					
+ svc 0					
+ nop					
+ .ltorg				
+");
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+SVC_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
+	ldr r1, [r3]					
+	ldr r0, [r1]					
+	ldmia r0!, {r4-r11, r14}		
+	msr psp, r0						
+	isb								
+	mov r0, #0 						
+	msr	basepri, r0					
+	bx r14							
+									
+	.align 4						
+pxCurrentTCBConst2: .word pxCurrentTCB				
+");
+  return;
+
+}
+
+
+prvTaskExitError ()
+{
+  uint32_t ulNewBASEPRI;
+  volatile uint32_t ulDummy;
+  long unsigned int uxCriticalNesting.3_1;
+  long unsigned int ulDummy.4_2;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  ulDummy ={v} 0;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.3_1 = uxCriticalNesting;
+  if (uxCriticalNesting.3_1 != 4294967295)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 4>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  prvTaskExitError.part.0 ();
+
+  <bb 4> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 5> [local count: 502853]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulDummy.4_2 ={v} ulDummy;
+  if (ulDummy.4_2 == 0)
+    goto <bb 5>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 6> [local count: 55314]:
+  return;
+
+}
+
+
+pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
+{
+  long unsigned int pxCode.0_1;
+  long unsigned int _2;
+  long unsigned int prvTaskExitError.1_3;
+  long unsigned int pvParameters.2_4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxTopOfStack => pxTopOfStack_5(D) + 4294967292
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967292B] = 16777216;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#4 => &MEM[(void *)pxTopOfStack_5(D) + 4294967288B]
+  # DEBUG pxTopOfStack => D#4
+  # DEBUG BEGIN_STMT
+  pxCode.0_1 = (long unsigned int) pxCode_8(D);
+  _2 = pxCode.0_1 & 4294967294;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967288B] = _2;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#3 => &MEM[(void *)pxTopOfStack_5(D) + 4294967284B]
+  # DEBUG pxTopOfStack => D#3
+  # DEBUG BEGIN_STMT
+  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967284B] = prvTaskExitError.1_3;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(void *)pxTopOfStack_5(D) + 4294967264B]
+  # DEBUG pxTopOfStack => D#2
+  # DEBUG BEGIN_STMT
+  pvParameters.2_4 = (long unsigned int) pvParameters_11(D);
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967264B] = pvParameters.2_4;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(void *)pxTopOfStack_5(D) + 4294967260B]
+  # DEBUG pxTopOfStack => D#1
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967260B] = 4294967293;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_14 = &MEM[(void *)pxTopOfStack_5(D) + 4294967228B];
+  # DEBUG pxTopOfStack => pxTopOfStack_14
+  # DEBUG BEGIN_STMT
+  return pxTopOfStack_14;
+
+}
+
+

+ 955 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.068i.whole-program

@@ -0,0 +1,955 @@
+
+Marking local functions: prvTaskExitError.part.0 vPortEnableVFP prvPortStartFirstTask
+
+
+Marking externally visible functions: vPortValidateInterruptPriority vPortSetupTimerInterrupt SysTick_Handler PendSV_Handler vPortExitCritical vPortEnterCritical vPortEndScheduler xPortStartScheduler SVC_Handler pxPortInitialiseStack
+
+
+Marking externally visible variables:
+
+Clearing variable flags:
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+
+prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06a55380
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: prvTaskExitError/9 (107374 (estimated locally),0.66 per call) 
+  Calls: 
+xTaskIncrementTick/22 (xTaskIncrementTick) @06ad29a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: SysTick_Handler/17 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vTaskSwitchContext/21 (vTaskSwitchContext) @06ad20e0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06ac7b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
+  Referring: 
+  Availability: available
+  Function flags: count:286331 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEnableVFP/19 (vPortEnableVFP) @06ac77e0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06ac7460
+  Type: function definition analyzed
+  Visibility: externally_visible public weak
+  References: 
+  Referring: 
+  Availability: overwritable
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+SysTick_Handler/17 (SysTick_Handler) @06ac71c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskIncrementTick/22 (1073741824 (estimated locally),1.00 per call) 
+PendSV_Handler/16 (PendSV_Handler) @06abbee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/15 (vPortExitCritical) @06abb620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEnterCritical/14 (vPortEnterCritical) @06abbe00
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:631612 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEndScheduler/13 (vPortEndScheduler) @06abbb60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)
+  Referring: 
+  Availability: available
+  Function flags: count:162688 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xPortStartScheduler/12 (xPortStartScheduler) @06abb7e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:309048 (estimated locally) body optimize_size
+  Called by: 
+  Calls: prvTaskExitError/9 (27247 (estimated locally),0.09 per call) vTaskSwitchContext/21 (27247 (estimated locally),0.09 per call) prvPortStartFirstTask/11 (27247 (estimated locally),0.09 per call) vPortEnableVFP/19 (27247 (estimated locally),0.09 per call) vPortSetupTimerInterrupt/18 (27247 (estimated locally),0.09 per call) 
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06abb540
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+SVC_Handler/10 (SVC_Handler) @06abb1c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+prvTaskExitError/9 (prvTaskExitError) @06ab6e00
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  Address is taken.
+  References: uxCriticalNesting/4 (read)
+  Referring: pxPortInitialiseStack/8 (addr)
+  Availability: available
+  Function flags: count:162688 (estimated locally) body optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: prvTaskExitError.part.0/25 (107374 (estimated locally),0.66 per call) 
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06ab6d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: prvTaskExitError/9 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06ab53a8
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06ab5318
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+uxCriticalNesting/4 (uxCriticalNesting) @06ab51b0
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: vPortEndScheduler/13 (read)vPortEnterCritical/14 (write)vPortExitCritical/15 (write)prvTaskExitError/9 (read)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)xPortStartScheduler/12 (write)
+  Availability: available
+  Varpool flags: initialized
+prvTaskExitError.part.0 ()
+{
+  volatile uint32_t ulDummy;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+
+  <bb 5> [local count: 107374]:
+
+  <bb 2> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
+
+  <bb 3> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  goto <bb 3>; [100.00%]
+
+}
+
+
+vPortValidateInterruptPriority ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint8_t ucCurrentPriority;
+  uint32_t ulCurrentInterrupt;
+  const uint8_t * _1;
+  unsigned char ucMaxSysCallPriority.19_2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int ulMaxPRIGROUPValue.20_5;
+
+  <bb 2> [local count: 286331]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_8 :  : "memory");
+  # DEBUG ulCurrentInterrupt => ulCurrentInterrupt_8
+  # DEBUG BEGIN_STMT
+  if (ulCurrentInterrupt_8 > 15)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 3> [local count: 143165]:
+  # DEBUG BEGIN_STMT
+  _1 = 3758154736B + ulCurrentInterrupt_8;
+  ucCurrentPriority_9 ={v} *_1;
+  # DEBUG ucCurrentPriority => ucCurrentPriority_9
+  # DEBUG BEGIN_STMT
+  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
+  if (ucMaxSysCallPriority.19_2 > ucCurrentPriority_9)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 71583]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
+
+  <bb 5> [local count: 715827883]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 715827883]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157068B];
+  _4 = _3 & 1792;
+  ulMaxPRIGROUPValue.20_5 = ulMaxPRIGROUPValue;
+  if (_4 > ulMaxPRIGROUPValue.20_5)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 7> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 8> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 11> [local count: 1073741823]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+vPortEnableVFP ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
+	ldr r1, [r0]				
+								
+	orr r1, r1, #( 0xf << 20 )	
+	str r1, [r0]				
+	bx r14						
+	.ltorg						
+");
+  return;
+
+}
+
+
+__attribute__((weak))
+vPortSetupTimerInterrupt ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153752B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153748B] ={v} 47999;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 7;
+  return;
+
+}
+
+
+SysTick_Handler ()
+{
+  uint32_t ulNewBASEPRI;
+  long int _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  _1 = xTaskIncrementTick ();
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 4>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+PendSV_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs r0, psp							
+	isb									
+										
+	ldr	r3, pxCurrentTCBConst			
+	ldr	r2, [r3]						
+										
+	tst r14, #0x10						
+	it eq								
+	vstmdbeq r0!, {s16-s31}				
+										
+	stmdb r0!, {r4-r11, r14}			
+	str r0, [r2]						
+										
+	stmdb sp!, {r0, r3}					
+	mov r0, %0 							
+	msr basepri, r0						
+	dsb									
+	isb									
+	bl vTaskSwitchContext				
+	mov r0, #0							
+	msr basepri, r0						
+	ldmia sp!, {r0, r3}					
+										
+	ldr r1, [r3]						
+	ldr r0, [r1]						
+										
+	ldmia r0!, {r4-r11, r14}			
+										
+	tst r14, #0x10						
+	it eq								
+	vldmiaeq r0!, {s16-s31}				
+										
+	msr psp, r0							
+	isb									
+										
+										
+	bx r14								
+										
+	.align 4							
+pxCurrentTCBConst: .word pxCurrentTCB	
+" :  : "i" 16);
+  return;
+
+}
+
+
+vPortExitCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.16_1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.16_1 = uxCriticalNesting;
+  if (uxCriticalNesting.16_1 == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 8> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = uxCriticalNesting.16_1 + 4294967295;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 6> [local count: 53687]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+
+  <bb 7> [local count: 107374]:
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+vPortEnterCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.14_1;
+  long unsigned int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 631612]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.14_1 = uxCriticalNesting;
+  _2 = uxCriticalNesting.14_1 + 1;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 1)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 6>; [66.00%]
+
+  <bb 3> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157060B];
+  _4 = _3 & 255;
+  if (_4 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 5> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 7> [local count: 1073741824]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 524238]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vPortEndScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.13_1;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.13_1 = uxCriticalNesting;
+  if (uxCriticalNesting.13_1 != 1000)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 5>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 6> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+xPortStartScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  volatile uint8_t ucMaxPriorityValue;
+  volatile uint32_t ulOriginalPriority;
+  long unsigned int _1;
+  signed char _2;
+  long unsigned int _3;
+  unsigned char _4;
+  long unsigned int _5;
+  unsigned char _6;
+  unsigned char ucMaxPriorityValue.5_7;
+  unsigned char _8;
+  long unsigned int ulMaxPRIGROUPValue.6_9;
+  long unsigned int _10;
+  unsigned char ucMaxPriorityValue.7_11;
+  unsigned char _12;
+  unsigned char ucMaxPriorityValue.8_13;
+  long unsigned int ulMaxPRIGROUPValue.9_14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _17;
+  long unsigned int ulOriginalPriority.12_18;
+  unsigned char _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _22;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 2> [local count: 309048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_1 == 1091551857)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 5>; [66.00%]
+
+  <bb 3> [local count: 105076]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_46 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_46
+
+  <bb 4> [local count: 1050765414]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 15> [local count: 1050765414]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 203972]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_3 == 1091551856)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 8>; [66.00%]
+
+  <bb 6> [local count: 69350]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 7> [local count: 693505173]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 16> [local count: 693505172]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pucFirstUserPriorityRegister => 3758154752B
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _4 ={v} MEM[(volatile uint8_t *)3758154752B];
+  _5 = (long unsigned int) _4;
+  ulOriginalPriority ={v} _5;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint8_t *)3758154752B] ={v} 255;
+  # DEBUG BEGIN_STMT
+  _6 ={v} MEM[(volatile uint8_t *)3758154752B];
+  ucMaxPriorityValue ={v} _6;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.5_7 ={v} ucMaxPriorityValue;
+  _8 = ucMaxPriorityValue.5_7 & 16;
+  ucMaxSysCallPriority = _8;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue = 7;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 9> [local count: 1089209]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.6_9 = ulMaxPRIGROUPValue;
+  _10 = ulMaxPRIGROUPValue.6_9 + 4294967295;
+  ulMaxPRIGROUPValue = _10;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.7_11 ={v} ucMaxPriorityValue;
+  _12 = ucMaxPriorityValue.7_11 << 1;
+  ucMaxPriorityValue ={v} _12;
+
+  <bb 10> [local count: 1223831]:
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.8_13 ={v} ucMaxPriorityValue;
+  _2 = (signed char) ucMaxPriorityValue.8_13;
+  if (_2 < 0)
+    goto <bb 9>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.9_14 = ulMaxPRIGROUPValue;
+  _15 = 7 - ulMaxPRIGROUPValue.9_14;
+  if (_15 != 4)
+    goto <bb 12>; [79.76%]
+  else
+    goto <bb 14>; [20.24%]
+
+  <bb 12> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 13> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 17> [local count: 1073741824]:
+  goto <bb 13>; [100.00%]
+
+  <bb 14> [local count: 27247]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _16 = ulMaxPRIGROUPValue.9_14 << 8;
+  # DEBUG BEGIN_STMT
+  _17 = _16 & 1792;
+  ulMaxPRIGROUPValue = _17;
+  # DEBUG BEGIN_STMT
+  ulOriginalPriority.12_18 ={v} ulOriginalPriority;
+  _19 = (unsigned char) ulOriginalPriority.12_18;
+  MEM[(volatile uint8_t *)3758154752B] ={v} _19;
+  # DEBUG BEGIN_STMT
+  _20 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _21 = _20 | 15728640;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _21;
+  # DEBUG BEGIN_STMT
+  _22 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _23 = _22 | 4026531840;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _23;
+  # DEBUG BEGIN_STMT
+  vPortSetupTimerInterrupt ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting = 0;
+  # DEBUG BEGIN_STMT
+  vPortEnableVFP ();
+  # DEBUG BEGIN_STMT
+  _24 ={v} MEM[(volatile uint32_t *)3758157620B];
+  _25 = _24 | 3221225472;
+  MEM[(volatile uint32_t *)3758157620B] ={v} _25;
+  # DEBUG BEGIN_STMT
+  prvPortStartFirstTask ();
+  # DEBUG BEGIN_STMT
+  vTaskSwitchContext ();
+  # DEBUG BEGIN_STMT
+  prvTaskExitError ();
+  # DEBUG BEGIN_STMT
+  return 0;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+prvPortStartFirstTask ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
+ ldr r0, [r0] 			
+ ldr r0, [r0] 			
+ msr msp, r0			
+ mov r0, #0			
+ msr control, r0		
+ cpsie i				
+ cpsie f				
+ dsb					
+ isb					
+ svc 0					
+ nop					
+ .ltorg				
+");
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+SVC_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
+	ldr r1, [r3]					
+	ldr r0, [r1]					
+	ldmia r0!, {r4-r11, r14}		
+	msr psp, r0						
+	isb								
+	mov r0, #0 						
+	msr	basepri, r0					
+	bx r14							
+									
+	.align 4						
+pxCurrentTCBConst2: .word pxCurrentTCB				
+");
+  return;
+
+}
+
+
+prvTaskExitError ()
+{
+  uint32_t ulNewBASEPRI;
+  volatile uint32_t ulDummy;
+  long unsigned int uxCriticalNesting.3_1;
+  long unsigned int ulDummy.4_2;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  ulDummy ={v} 0;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.3_1 = uxCriticalNesting;
+  if (uxCriticalNesting.3_1 != 4294967295)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 4>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  prvTaskExitError.part.0 ();
+
+  <bb 4> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 5> [local count: 502853]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulDummy.4_2 ={v} ulDummy;
+  if (ulDummy.4_2 == 0)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 447539]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 55314]:
+  return;
+
+}
+
+
+pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
+{
+  long unsigned int pxCode.0_1;
+  long unsigned int _2;
+  long unsigned int prvTaskExitError.1_3;
+  long unsigned int pvParameters.2_4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxTopOfStack => pxTopOfStack_5(D) + 4294967292
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967292B] = 16777216;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#4 => &MEM[(void *)pxTopOfStack_5(D) + 4294967288B]
+  # DEBUG pxTopOfStack => D#4
+  # DEBUG BEGIN_STMT
+  pxCode.0_1 = (long unsigned int) pxCode_8(D);
+  _2 = pxCode.0_1 & 4294967294;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967288B] = _2;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#3 => &MEM[(void *)pxTopOfStack_5(D) + 4294967284B]
+  # DEBUG pxTopOfStack => D#3
+  # DEBUG BEGIN_STMT
+  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967284B] = prvTaskExitError.1_3;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(void *)pxTopOfStack_5(D) + 4294967264B]
+  # DEBUG pxTopOfStack => D#2
+  # DEBUG BEGIN_STMT
+  pvParameters.2_4 = (long unsigned int) pvParameters_11(D);
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967264B] = pvParameters.2_4;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(void *)pxTopOfStack_5(D) + 4294967260B]
+  # DEBUG pxTopOfStack => D#1
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967260B] = 4294967293;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_14 = &MEM[(void *)pxTopOfStack_5(D) + 4294967228B];
+  # DEBUG pxTopOfStack => pxTopOfStack_14
+  # DEBUG BEGIN_STMT
+  return pxTopOfStack_14;
+
+}
+
+

+ 774 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.069i.profile_estimate

@@ -0,0 +1,774 @@
+Histogram:
+prvTaskExitError.part.0 ()
+{
+  volatile uint32_t ulDummy;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+
+  <bb 5> [local count: 107374]:
+
+  <bb 2> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
+
+  <bb 3> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  goto <bb 3>; [100.00%]
+
+}
+
+
+vPortValidateInterruptPriority ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint8_t ucCurrentPriority;
+  uint32_t ulCurrentInterrupt;
+  const uint8_t * _1;
+  unsigned char ucMaxSysCallPriority.19_2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int ulMaxPRIGROUPValue.20_5;
+
+  <bb 2> [local count: 286331]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_8 :  : "memory");
+  # DEBUG ulCurrentInterrupt => ulCurrentInterrupt_8
+  # DEBUG BEGIN_STMT
+  if (ulCurrentInterrupt_8 > 15)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 3> [local count: 143165]:
+  # DEBUG BEGIN_STMT
+  _1 = 3758154736B + ulCurrentInterrupt_8;
+  ucCurrentPriority_9 ={v} *_1;
+  # DEBUG ucCurrentPriority => ucCurrentPriority_9
+  # DEBUG BEGIN_STMT
+  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
+  if (ucMaxSysCallPriority.19_2 > ucCurrentPriority_9)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 71583]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
+
+  <bb 5> [local count: 715827883]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 715827883]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157068B];
+  _4 = _3 & 1792;
+  ulMaxPRIGROUPValue.20_5 = ulMaxPRIGROUPValue;
+  if (_4 > ulMaxPRIGROUPValue.20_5)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 7> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 8> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 11> [local count: 1073741823]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+vPortEnableVFP ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
+	ldr r1, [r0]				
+								
+	orr r1, r1, #( 0xf << 20 )	
+	str r1, [r0]				
+	bx r14						
+	.ltorg						
+");
+  return;
+
+}
+
+
+__attribute__((weak))
+vPortSetupTimerInterrupt ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153752B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153748B] ={v} 47999;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 7;
+  return;
+
+}
+
+
+SysTick_Handler ()
+{
+  uint32_t ulNewBASEPRI;
+  long int _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  _1 = xTaskIncrementTick ();
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 4>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+PendSV_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs r0, psp							
+	isb									
+										
+	ldr	r3, pxCurrentTCBConst			
+	ldr	r2, [r3]						
+										
+	tst r14, #0x10						
+	it eq								
+	vstmdbeq r0!, {s16-s31}				
+										
+	stmdb r0!, {r4-r11, r14}			
+	str r0, [r2]						
+										
+	stmdb sp!, {r0, r3}					
+	mov r0, %0 							
+	msr basepri, r0						
+	dsb									
+	isb									
+	bl vTaskSwitchContext				
+	mov r0, #0							
+	msr basepri, r0						
+	ldmia sp!, {r0, r3}					
+										
+	ldr r1, [r3]						
+	ldr r0, [r1]						
+										
+	ldmia r0!, {r4-r11, r14}			
+										
+	tst r14, #0x10						
+	it eq								
+	vldmiaeq r0!, {s16-s31}				
+										
+	msr psp, r0							
+	isb									
+										
+										
+	bx r14								
+										
+	.align 4							
+pxCurrentTCBConst: .word pxCurrentTCB	
+" :  : "i" 16);
+  return;
+
+}
+
+
+vPortExitCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.16_1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.16_1 = uxCriticalNesting;
+  if (uxCriticalNesting.16_1 == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 8> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = uxCriticalNesting.16_1 + 4294967295;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 6> [local count: 53687]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+
+  <bb 7> [local count: 107374]:
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+vPortEnterCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.14_1;
+  long unsigned int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 631612]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.14_1 = uxCriticalNesting;
+  _2 = uxCriticalNesting.14_1 + 1;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 1)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 6>; [66.00%]
+
+  <bb 3> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157060B];
+  _4 = _3 & 255;
+  if (_4 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 5> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 7> [local count: 1073741824]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 524238]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vPortEndScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.13_1;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.13_1 = uxCriticalNesting;
+  if (uxCriticalNesting.13_1 != 1000)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 5>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 6> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+xPortStartScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  volatile uint8_t ucMaxPriorityValue;
+  volatile uint32_t ulOriginalPriority;
+  long unsigned int _1;
+  signed char _2;
+  long unsigned int _3;
+  unsigned char _4;
+  long unsigned int _5;
+  unsigned char _6;
+  unsigned char ucMaxPriorityValue.5_7;
+  unsigned char _8;
+  long unsigned int ulMaxPRIGROUPValue.6_9;
+  long unsigned int _10;
+  unsigned char ucMaxPriorityValue.7_11;
+  unsigned char _12;
+  unsigned char ucMaxPriorityValue.8_13;
+  long unsigned int ulMaxPRIGROUPValue.9_14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _17;
+  long unsigned int ulOriginalPriority.12_18;
+  unsigned char _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _22;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 2> [local count: 309048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_1 == 1091551857)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 5>; [66.00%]
+
+  <bb 3> [local count: 105076]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_46 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_46
+
+  <bb 4> [local count: 1050765414]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 15> [local count: 1050765414]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 203972]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_3 == 1091551856)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 8>; [66.00%]
+
+  <bb 6> [local count: 69350]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 7> [local count: 693505173]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 16> [local count: 693505172]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pucFirstUserPriorityRegister => 3758154752B
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _4 ={v} MEM[(volatile uint8_t *)3758154752B];
+  _5 = (long unsigned int) _4;
+  ulOriginalPriority ={v} _5;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint8_t *)3758154752B] ={v} 255;
+  # DEBUG BEGIN_STMT
+  _6 ={v} MEM[(volatile uint8_t *)3758154752B];
+  ucMaxPriorityValue ={v} _6;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.5_7 ={v} ucMaxPriorityValue;
+  _8 = ucMaxPriorityValue.5_7 & 16;
+  ucMaxSysCallPriority = _8;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue = 7;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 9> [local count: 1089209]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.6_9 = ulMaxPRIGROUPValue;
+  _10 = ulMaxPRIGROUPValue.6_9 + 4294967295;
+  ulMaxPRIGROUPValue = _10;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.7_11 ={v} ucMaxPriorityValue;
+  _12 = ucMaxPriorityValue.7_11 << 1;
+  ucMaxPriorityValue ={v} _12;
+
+  <bb 10> [local count: 1223831]:
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.8_13 ={v} ucMaxPriorityValue;
+  _2 = (signed char) ucMaxPriorityValue.8_13;
+  if (_2 < 0)
+    goto <bb 9>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.9_14 = ulMaxPRIGROUPValue;
+  _15 = 7 - ulMaxPRIGROUPValue.9_14;
+  if (_15 != 4)
+    goto <bb 12>; [79.76%]
+  else
+    goto <bb 14>; [20.24%]
+
+  <bb 12> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 13> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 17> [local count: 1073741824]:
+  goto <bb 13>; [100.00%]
+
+  <bb 14> [local count: 27247]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _16 = ulMaxPRIGROUPValue.9_14 << 8;
+  # DEBUG BEGIN_STMT
+  _17 = _16 & 1792;
+  ulMaxPRIGROUPValue = _17;
+  # DEBUG BEGIN_STMT
+  ulOriginalPriority.12_18 ={v} ulOriginalPriority;
+  _19 = (unsigned char) ulOriginalPriority.12_18;
+  MEM[(volatile uint8_t *)3758154752B] ={v} _19;
+  # DEBUG BEGIN_STMT
+  _20 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _21 = _20 | 15728640;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _21;
+  # DEBUG BEGIN_STMT
+  _22 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _23 = _22 | 4026531840;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _23;
+  # DEBUG BEGIN_STMT
+  vPortSetupTimerInterrupt ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting = 0;
+  # DEBUG BEGIN_STMT
+  vPortEnableVFP ();
+  # DEBUG BEGIN_STMT
+  _24 ={v} MEM[(volatile uint32_t *)3758157620B];
+  _25 = _24 | 3221225472;
+  MEM[(volatile uint32_t *)3758157620B] ={v} _25;
+  # DEBUG BEGIN_STMT
+  prvPortStartFirstTask ();
+  # DEBUG BEGIN_STMT
+  vTaskSwitchContext ();
+  # DEBUG BEGIN_STMT
+  prvTaskExitError ();
+  # DEBUG BEGIN_STMT
+  return 0;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+prvPortStartFirstTask ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
+ ldr r0, [r0] 			
+ ldr r0, [r0] 			
+ msr msp, r0			
+ mov r0, #0			
+ msr control, r0		
+ cpsie i				
+ cpsie f				
+ dsb					
+ isb					
+ svc 0					
+ nop					
+ .ltorg				
+");
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+SVC_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
+	ldr r1, [r3]					
+	ldr r0, [r1]					
+	ldmia r0!, {r4-r11, r14}		
+	msr psp, r0						
+	isb								
+	mov r0, #0 						
+	msr	basepri, r0					
+	bx r14							
+									
+	.align 4						
+pxCurrentTCBConst2: .word pxCurrentTCB				
+");
+  return;
+
+}
+
+
+prvTaskExitError ()
+{
+  uint32_t ulNewBASEPRI;
+  volatile uint32_t ulDummy;
+  long unsigned int uxCriticalNesting.3_1;
+  long unsigned int ulDummy.4_2;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  ulDummy ={v} 0;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.3_1 = uxCriticalNesting;
+  if (uxCriticalNesting.3_1 != 4294967295)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 4>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  prvTaskExitError.part.0 ();
+
+  <bb 4> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 5> [local count: 502853]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulDummy.4_2 ={v} ulDummy;
+  if (ulDummy.4_2 == 0)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 447539]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 55314]:
+  return;
+
+}
+
+
+pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
+{
+  long unsigned int pxCode.0_1;
+  long unsigned int _2;
+  long unsigned int prvTaskExitError.1_3;
+  long unsigned int pvParameters.2_4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxTopOfStack => pxTopOfStack_5(D) + 4294967292
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967292B] = 16777216;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#4 => &MEM[(void *)pxTopOfStack_5(D) + 4294967288B]
+  # DEBUG pxTopOfStack => D#4
+  # DEBUG BEGIN_STMT
+  pxCode.0_1 = (long unsigned int) pxCode_8(D);
+  _2 = pxCode.0_1 & 4294967294;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967288B] = _2;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#3 => &MEM[(void *)pxTopOfStack_5(D) + 4294967284B]
+  # DEBUG pxTopOfStack => D#3
+  # DEBUG BEGIN_STMT
+  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967284B] = prvTaskExitError.1_3;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(void *)pxTopOfStack_5(D) + 4294967264B]
+  # DEBUG pxTopOfStack => D#2
+  # DEBUG BEGIN_STMT
+  pvParameters.2_4 = (long unsigned int) pvParameters_11(D);
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967264B] = pvParameters.2_4;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(void *)pxTopOfStack_5(D) + 4294967260B]
+  # DEBUG pxTopOfStack => D#1
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967260B] = 4294967293;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_14 = &MEM[(void *)pxTopOfStack_5(D) + 4294967228B];
+  # DEBUG pxTopOfStack => pxTopOfStack_14
+  # DEBUG BEGIN_STMT
+  return pxTopOfStack_14;
+
+}
+
+

+ 832 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.070i.icf

@@ -0,0 +1,832 @@
+Parsed function:prvTaskExitError.part.0
+Parsed function:vPortValidateInterruptPriority
+Parsed function:vPortEnableVFP
+Parsed function:vPortSetupTimerInterrupt
+Parsed function:SysTick_Handler
+Parsed function:PendSV_Handler
+Parsed function:vPortExitCritical
+Parsed function:vPortEnterCritical
+Parsed function:vPortEndScheduler
+Parsed function:xPortStartScheduler
+Parsed function:prvPortStartFirstTask
+Parsed function:SVC_Handler
+Parsed function:prvTaskExitError
+Parsed function:pxPortInitialiseStack
+Dump after hash based groups
+Congruence classes: 12 (unique hash values: 12), with total: 14 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 11 classes
+[3]: 1 classes
+
+
+Dump after WPA based types groups
+Congruence classes: 12 (unique hash values: 12), with total: 14 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 11 classes
+[3]: 1 classes
+
+
+Worklist has been filled with: 4
+Address reference subdivision created: 0 new classes.
+Dump after callgraph-based congruence reduction
+Congruence classes: 12 (unique hash values: 12), with total: 14 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 11 classes
+[3]: 1 classes
+
+
+Init called for 3 items (21.43%).
+Dump after full equality comparison of groups
+Congruence classes: 14 (unique hash values: 12), with total: 14 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 14 classes
+
+
+Worklist has been filled with: 5
+Address reference subdivision created: 0 new classes.
+Congruence classes: 14 (unique hash values: 12), with total: 14 items
+Class size histogram [num of members]: number of classe number of classess
+[1]: 14 classes
+
+
+
+Item count: 14
+Congruent classes before: 14, after: 14
+Average class size before: 1.00, after: 1.00
+Average non-singular class size: 0.00, count: 0
+Equal symbols: 0
+Fraction of visited symbols: 0.00%
+
+prvTaskExitError.part.0 ()
+{
+  volatile uint32_t ulDummy;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+
+  <bb 5> [local count: 107374]:
+
+  <bb 2> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
+
+  <bb 3> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  goto <bb 3>; [100.00%]
+
+}
+
+
+vPortValidateInterruptPriority ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint8_t ucCurrentPriority;
+  uint32_t ulCurrentInterrupt;
+  const uint8_t * _1;
+  unsigned char ucMaxSysCallPriority.19_2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int ulMaxPRIGROUPValue.20_5;
+
+  <bb 2> [local count: 286331]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_8 :  : "memory");
+  # DEBUG ulCurrentInterrupt => ulCurrentInterrupt_8
+  # DEBUG BEGIN_STMT
+  if (ulCurrentInterrupt_8 > 15)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 3> [local count: 143165]:
+  # DEBUG BEGIN_STMT
+  _1 = 3758154736B + ulCurrentInterrupt_8;
+  ucCurrentPriority_9 ={v} *_1;
+  # DEBUG ucCurrentPriority => ucCurrentPriority_9
+  # DEBUG BEGIN_STMT
+  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
+  if (ucMaxSysCallPriority.19_2 > ucCurrentPriority_9)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 71583]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
+
+  <bb 5> [local count: 715827883]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 715827883]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157068B];
+  _4 = _3 & 1792;
+  ulMaxPRIGROUPValue.20_5 = ulMaxPRIGROUPValue;
+  if (_4 > ulMaxPRIGROUPValue.20_5)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 7> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 8> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 11> [local count: 1073741823]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+vPortEnableVFP ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
+	ldr r1, [r0]				
+								
+	orr r1, r1, #( 0xf << 20 )	
+	str r1, [r0]				
+	bx r14						
+	.ltorg						
+");
+  return;
+
+}
+
+
+__attribute__((weak))
+vPortSetupTimerInterrupt ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153752B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153748B] ={v} 47999;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 7;
+  return;
+
+}
+
+
+SysTick_Handler ()
+{
+  uint32_t ulNewBASEPRI;
+  long int _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  _1 = xTaskIncrementTick ();
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 4>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+PendSV_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs r0, psp							
+	isb									
+										
+	ldr	r3, pxCurrentTCBConst			
+	ldr	r2, [r3]						
+										
+	tst r14, #0x10						
+	it eq								
+	vstmdbeq r0!, {s16-s31}				
+										
+	stmdb r0!, {r4-r11, r14}			
+	str r0, [r2]						
+										
+	stmdb sp!, {r0, r3}					
+	mov r0, %0 							
+	msr basepri, r0						
+	dsb									
+	isb									
+	bl vTaskSwitchContext				
+	mov r0, #0							
+	msr basepri, r0						
+	ldmia sp!, {r0, r3}					
+										
+	ldr r1, [r3]						
+	ldr r0, [r1]						
+										
+	ldmia r0!, {r4-r11, r14}			
+										
+	tst r14, #0x10						
+	it eq								
+	vldmiaeq r0!, {s16-s31}				
+										
+	msr psp, r0							
+	isb									
+										
+										
+	bx r14								
+										
+	.align 4							
+pxCurrentTCBConst: .word pxCurrentTCB	
+" :  : "i" 16);
+  return;
+
+}
+
+
+vPortExitCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.16_1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.16_1 = uxCriticalNesting;
+  if (uxCriticalNesting.16_1 == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 8> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = uxCriticalNesting.16_1 + 4294967295;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 6> [local count: 53687]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+
+  <bb 7> [local count: 107374]:
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+vPortEnterCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.14_1;
+  long unsigned int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 631612]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.14_1 = uxCriticalNesting;
+  _2 = uxCriticalNesting.14_1 + 1;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 1)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 6>; [66.00%]
+
+  <bb 3> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157060B];
+  _4 = _3 & 255;
+  if (_4 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 5> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 7> [local count: 1073741824]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 524238]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vPortEndScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.13_1;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.13_1 = uxCriticalNesting;
+  if (uxCriticalNesting.13_1 != 1000)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 5>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 6> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+xPortStartScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  volatile uint8_t ucMaxPriorityValue;
+  volatile uint32_t ulOriginalPriority;
+  long unsigned int _1;
+  signed char _2;
+  long unsigned int _3;
+  unsigned char _4;
+  long unsigned int _5;
+  unsigned char _6;
+  unsigned char ucMaxPriorityValue.5_7;
+  unsigned char _8;
+  long unsigned int ulMaxPRIGROUPValue.6_9;
+  long unsigned int _10;
+  unsigned char ucMaxPriorityValue.7_11;
+  unsigned char _12;
+  unsigned char ucMaxPriorityValue.8_13;
+  long unsigned int ulMaxPRIGROUPValue.9_14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _17;
+  long unsigned int ulOriginalPriority.12_18;
+  unsigned char _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _22;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 2> [local count: 309048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_1 == 1091551857)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 5>; [66.00%]
+
+  <bb 3> [local count: 105076]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_46 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_46
+
+  <bb 4> [local count: 1050765414]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 15> [local count: 1050765414]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 203972]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_3 == 1091551856)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 8>; [66.00%]
+
+  <bb 6> [local count: 69350]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 7> [local count: 693505173]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 16> [local count: 693505172]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pucFirstUserPriorityRegister => 3758154752B
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _4 ={v} MEM[(volatile uint8_t *)3758154752B];
+  _5 = (long unsigned int) _4;
+  ulOriginalPriority ={v} _5;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint8_t *)3758154752B] ={v} 255;
+  # DEBUG BEGIN_STMT
+  _6 ={v} MEM[(volatile uint8_t *)3758154752B];
+  ucMaxPriorityValue ={v} _6;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.5_7 ={v} ucMaxPriorityValue;
+  _8 = ucMaxPriorityValue.5_7 & 16;
+  ucMaxSysCallPriority = _8;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue = 7;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 9> [local count: 1089209]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.6_9 = ulMaxPRIGROUPValue;
+  _10 = ulMaxPRIGROUPValue.6_9 + 4294967295;
+  ulMaxPRIGROUPValue = _10;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.7_11 ={v} ucMaxPriorityValue;
+  _12 = ucMaxPriorityValue.7_11 << 1;
+  ucMaxPriorityValue ={v} _12;
+
+  <bb 10> [local count: 1223831]:
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.8_13 ={v} ucMaxPriorityValue;
+  _2 = (signed char) ucMaxPriorityValue.8_13;
+  if (_2 < 0)
+    goto <bb 9>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.9_14 = ulMaxPRIGROUPValue;
+  _15 = 7 - ulMaxPRIGROUPValue.9_14;
+  if (_15 != 4)
+    goto <bb 12>; [79.76%]
+  else
+    goto <bb 14>; [20.24%]
+
+  <bb 12> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 13> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 17> [local count: 1073741824]:
+  goto <bb 13>; [100.00%]
+
+  <bb 14> [local count: 27247]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _16 = ulMaxPRIGROUPValue.9_14 << 8;
+  # DEBUG BEGIN_STMT
+  _17 = _16 & 1792;
+  ulMaxPRIGROUPValue = _17;
+  # DEBUG BEGIN_STMT
+  ulOriginalPriority.12_18 ={v} ulOriginalPriority;
+  _19 = (unsigned char) ulOriginalPriority.12_18;
+  MEM[(volatile uint8_t *)3758154752B] ={v} _19;
+  # DEBUG BEGIN_STMT
+  _20 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _21 = _20 | 15728640;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _21;
+  # DEBUG BEGIN_STMT
+  _22 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _23 = _22 | 4026531840;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _23;
+  # DEBUG BEGIN_STMT
+  vPortSetupTimerInterrupt ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting = 0;
+  # DEBUG BEGIN_STMT
+  vPortEnableVFP ();
+  # DEBUG BEGIN_STMT
+  _24 ={v} MEM[(volatile uint32_t *)3758157620B];
+  _25 = _24 | 3221225472;
+  MEM[(volatile uint32_t *)3758157620B] ={v} _25;
+  # DEBUG BEGIN_STMT
+  prvPortStartFirstTask ();
+  # DEBUG BEGIN_STMT
+  vTaskSwitchContext ();
+  # DEBUG BEGIN_STMT
+  prvTaskExitError ();
+  # DEBUG BEGIN_STMT
+  return 0;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+prvPortStartFirstTask ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
+ ldr r0, [r0] 			
+ ldr r0, [r0] 			
+ msr msp, r0			
+ mov r0, #0			
+ msr control, r0		
+ cpsie i				
+ cpsie f				
+ dsb					
+ isb					
+ svc 0					
+ nop					
+ .ltorg				
+");
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+SVC_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
+	ldr r1, [r3]					
+	ldr r0, [r1]					
+	ldmia r0!, {r4-r11, r14}		
+	msr psp, r0						
+	isb								
+	mov r0, #0 						
+	msr	basepri, r0					
+	bx r14							
+									
+	.align 4						
+pxCurrentTCBConst2: .word pxCurrentTCB				
+");
+  return;
+
+}
+
+
+prvTaskExitError ()
+{
+  uint32_t ulNewBASEPRI;
+  volatile uint32_t ulDummy;
+  long unsigned int uxCriticalNesting.3_1;
+  long unsigned int ulDummy.4_2;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  ulDummy ={v} 0;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.3_1 = uxCriticalNesting;
+  if (uxCriticalNesting.3_1 != 4294967295)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 4>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  prvTaskExitError.part.0 ();
+
+  <bb 4> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 5> [local count: 502853]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulDummy.4_2 ={v} ulDummy;
+  if (ulDummy.4_2 == 0)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 447539]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 55314]:
+  return;
+
+}
+
+
+pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
+{
+  long unsigned int pxCode.0_1;
+  long unsigned int _2;
+  long unsigned int prvTaskExitError.1_3;
+  long unsigned int pvParameters.2_4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxTopOfStack => pxTopOfStack_5(D) + 4294967292
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967292B] = 16777216;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#4 => &MEM[(void *)pxTopOfStack_5(D) + 4294967288B]
+  # DEBUG pxTopOfStack => D#4
+  # DEBUG BEGIN_STMT
+  pxCode.0_1 = (long unsigned int) pxCode_8(D);
+  _2 = pxCode.0_1 & 4294967294;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967288B] = _2;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#3 => &MEM[(void *)pxTopOfStack_5(D) + 4294967284B]
+  # DEBUG pxTopOfStack => D#3
+  # DEBUG BEGIN_STMT
+  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967284B] = prvTaskExitError.1_3;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(void *)pxTopOfStack_5(D) + 4294967264B]
+  # DEBUG pxTopOfStack => D#2
+  # DEBUG BEGIN_STMT
+  pvParameters.2_4 = (long unsigned int) pvParameters_11(D);
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967264B] = pvParameters.2_4;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(void *)pxTopOfStack_5(D) + 4294967260B]
+  # DEBUG pxTopOfStack => D#1
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967260B] = 4294967293;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_14 = &MEM[(void *)pxTopOfStack_5(D) + 4294967228B];
+  # DEBUG pxTopOfStack => pxTopOfStack_14
+  # DEBUG BEGIN_STMT
+  return pxTopOfStack_14;
+
+}
+
+

+ 941 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.071i.devirt

@@ -0,0 +1,941 @@
+Symbol table:
+
+prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06a55380
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: prvTaskExitError/9 (107374 (estimated locally),0.66 per call) 
+  Calls: 
+xTaskIncrementTick/22 (xTaskIncrementTick) @06ad29a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: SysTick_Handler/17 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vTaskSwitchContext/21 (vTaskSwitchContext) @06ad20e0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06ac7b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
+  Referring: 
+  Availability: available
+  Function flags: count:286331 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEnableVFP/19 (vPortEnableVFP) @06ac77e0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06ac7460
+  Type: function definition analyzed
+  Visibility: externally_visible public weak
+  References: 
+  Referring: 
+  Availability: overwritable
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+SysTick_Handler/17 (SysTick_Handler) @06ac71c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskIncrementTick/22 (1073741824 (estimated locally),1.00 per call) 
+PendSV_Handler/16 (PendSV_Handler) @06abbee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/15 (vPortExitCritical) @06abb620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEnterCritical/14 (vPortEnterCritical) @06abbe00
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:631612 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEndScheduler/13 (vPortEndScheduler) @06abbb60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)
+  Referring: 
+  Availability: available
+  Function flags: count:162688 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xPortStartScheduler/12 (xPortStartScheduler) @06abb7e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:309048 (estimated locally) body optimize_size
+  Called by: 
+  Calls: prvTaskExitError/9 (27247 (estimated locally),0.09 per call) vTaskSwitchContext/21 (27247 (estimated locally),0.09 per call) prvPortStartFirstTask/11 (27247 (estimated locally),0.09 per call) vPortEnableVFP/19 (27247 (estimated locally),0.09 per call) vPortSetupTimerInterrupt/18 (27247 (estimated locally),0.09 per call) 
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06abb540
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+SVC_Handler/10 (SVC_Handler) @06abb1c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+prvTaskExitError/9 (prvTaskExitError) @06ab6e00
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  Address is taken.
+  References: uxCriticalNesting/4 (read)
+  Referring: pxPortInitialiseStack/8 (addr)
+  Availability: available
+  Function flags: count:162688 (estimated locally) body optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: prvTaskExitError.part.0/25 (107374 (estimated locally),0.66 per call) 
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06ab6d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: prvTaskExitError/9 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06ab53a8
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06ab5318
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+uxCriticalNesting/4 (uxCriticalNesting) @06ab51b0
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: vPortEndScheduler/13 (read)vPortEnterCritical/14 (write)vPortExitCritical/15 (write)prvTaskExitError/9 (read)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)xPortStartScheduler/12 (write)
+  Availability: available
+  Varpool flags: initialized
+prvTaskExitError.part.0 ()
+{
+  volatile uint32_t ulDummy;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+
+  <bb 5> [local count: 107374]:
+
+  <bb 2> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
+
+  <bb 3> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  goto <bb 3>; [100.00%]
+
+}
+
+
+vPortValidateInterruptPriority ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint8_t ucCurrentPriority;
+  uint32_t ulCurrentInterrupt;
+  const uint8_t * _1;
+  unsigned char ucMaxSysCallPriority.19_2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int ulMaxPRIGROUPValue.20_5;
+
+  <bb 2> [local count: 286331]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_8 :  : "memory");
+  # DEBUG ulCurrentInterrupt => ulCurrentInterrupt_8
+  # DEBUG BEGIN_STMT
+  if (ulCurrentInterrupt_8 > 15)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 3> [local count: 143165]:
+  # DEBUG BEGIN_STMT
+  _1 = 3758154736B + ulCurrentInterrupt_8;
+  ucCurrentPriority_9 ={v} *_1;
+  # DEBUG ucCurrentPriority => ucCurrentPriority_9
+  # DEBUG BEGIN_STMT
+  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
+  if (ucMaxSysCallPriority.19_2 > ucCurrentPriority_9)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 71583]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
+
+  <bb 5> [local count: 715827883]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 715827883]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157068B];
+  _4 = _3 & 1792;
+  ulMaxPRIGROUPValue.20_5 = ulMaxPRIGROUPValue;
+  if (_4 > ulMaxPRIGROUPValue.20_5)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 7> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 8> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 11> [local count: 1073741823]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+vPortEnableVFP ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
+	ldr r1, [r0]				
+								
+	orr r1, r1, #( 0xf << 20 )	
+	str r1, [r0]				
+	bx r14						
+	.ltorg						
+");
+  return;
+
+}
+
+
+__attribute__((weak))
+vPortSetupTimerInterrupt ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153752B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153748B] ={v} 47999;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 7;
+  return;
+
+}
+
+
+SysTick_Handler ()
+{
+  uint32_t ulNewBASEPRI;
+  long int _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  _1 = xTaskIncrementTick ();
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 4>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+PendSV_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs r0, psp							
+	isb									
+										
+	ldr	r3, pxCurrentTCBConst			
+	ldr	r2, [r3]						
+										
+	tst r14, #0x10						
+	it eq								
+	vstmdbeq r0!, {s16-s31}				
+										
+	stmdb r0!, {r4-r11, r14}			
+	str r0, [r2]						
+										
+	stmdb sp!, {r0, r3}					
+	mov r0, %0 							
+	msr basepri, r0						
+	dsb									
+	isb									
+	bl vTaskSwitchContext				
+	mov r0, #0							
+	msr basepri, r0						
+	ldmia sp!, {r0, r3}					
+										
+	ldr r1, [r3]						
+	ldr r0, [r1]						
+										
+	ldmia r0!, {r4-r11, r14}			
+										
+	tst r14, #0x10						
+	it eq								
+	vldmiaeq r0!, {s16-s31}				
+										
+	msr psp, r0							
+	isb									
+										
+										
+	bx r14								
+										
+	.align 4							
+pxCurrentTCBConst: .word pxCurrentTCB	
+" :  : "i" 16);
+  return;
+
+}
+
+
+vPortExitCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.16_1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.16_1 = uxCriticalNesting;
+  if (uxCriticalNesting.16_1 == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 8> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = uxCriticalNesting.16_1 + 4294967295;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 6> [local count: 53687]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+
+  <bb 7> [local count: 107374]:
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+vPortEnterCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.14_1;
+  long unsigned int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 631612]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.14_1 = uxCriticalNesting;
+  _2 = uxCriticalNesting.14_1 + 1;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 1)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 6>; [66.00%]
+
+  <bb 3> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157060B];
+  _4 = _3 & 255;
+  if (_4 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 5> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 7> [local count: 1073741824]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 524238]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vPortEndScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.13_1;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.13_1 = uxCriticalNesting;
+  if (uxCriticalNesting.13_1 != 1000)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 5>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 6> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+xPortStartScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  volatile uint8_t ucMaxPriorityValue;
+  volatile uint32_t ulOriginalPriority;
+  long unsigned int _1;
+  signed char _2;
+  long unsigned int _3;
+  unsigned char _4;
+  long unsigned int _5;
+  unsigned char _6;
+  unsigned char ucMaxPriorityValue.5_7;
+  unsigned char _8;
+  long unsigned int ulMaxPRIGROUPValue.6_9;
+  long unsigned int _10;
+  unsigned char ucMaxPriorityValue.7_11;
+  unsigned char _12;
+  unsigned char ucMaxPriorityValue.8_13;
+  long unsigned int ulMaxPRIGROUPValue.9_14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _17;
+  long unsigned int ulOriginalPriority.12_18;
+  unsigned char _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _22;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 2> [local count: 309048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_1 == 1091551857)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 5>; [66.00%]
+
+  <bb 3> [local count: 105076]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_46 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_46
+
+  <bb 4> [local count: 1050765414]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 15> [local count: 1050765414]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 203972]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_3 == 1091551856)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 8>; [66.00%]
+
+  <bb 6> [local count: 69350]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 7> [local count: 693505173]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 16> [local count: 693505172]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pucFirstUserPriorityRegister => 3758154752B
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _4 ={v} MEM[(volatile uint8_t *)3758154752B];
+  _5 = (long unsigned int) _4;
+  ulOriginalPriority ={v} _5;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint8_t *)3758154752B] ={v} 255;
+  # DEBUG BEGIN_STMT
+  _6 ={v} MEM[(volatile uint8_t *)3758154752B];
+  ucMaxPriorityValue ={v} _6;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.5_7 ={v} ucMaxPriorityValue;
+  _8 = ucMaxPriorityValue.5_7 & 16;
+  ucMaxSysCallPriority = _8;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue = 7;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 9> [local count: 1089209]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.6_9 = ulMaxPRIGROUPValue;
+  _10 = ulMaxPRIGROUPValue.6_9 + 4294967295;
+  ulMaxPRIGROUPValue = _10;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.7_11 ={v} ucMaxPriorityValue;
+  _12 = ucMaxPriorityValue.7_11 << 1;
+  ucMaxPriorityValue ={v} _12;
+
+  <bb 10> [local count: 1223831]:
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.8_13 ={v} ucMaxPriorityValue;
+  _2 = (signed char) ucMaxPriorityValue.8_13;
+  if (_2 < 0)
+    goto <bb 9>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.9_14 = ulMaxPRIGROUPValue;
+  _15 = 7 - ulMaxPRIGROUPValue.9_14;
+  if (_15 != 4)
+    goto <bb 12>; [79.76%]
+  else
+    goto <bb 14>; [20.24%]
+
+  <bb 12> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 13> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 17> [local count: 1073741824]:
+  goto <bb 13>; [100.00%]
+
+  <bb 14> [local count: 27247]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _16 = ulMaxPRIGROUPValue.9_14 << 8;
+  # DEBUG BEGIN_STMT
+  _17 = _16 & 1792;
+  ulMaxPRIGROUPValue = _17;
+  # DEBUG BEGIN_STMT
+  ulOriginalPriority.12_18 ={v} ulOriginalPriority;
+  _19 = (unsigned char) ulOriginalPriority.12_18;
+  MEM[(volatile uint8_t *)3758154752B] ={v} _19;
+  # DEBUG BEGIN_STMT
+  _20 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _21 = _20 | 15728640;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _21;
+  # DEBUG BEGIN_STMT
+  _22 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _23 = _22 | 4026531840;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _23;
+  # DEBUG BEGIN_STMT
+  vPortSetupTimerInterrupt ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting = 0;
+  # DEBUG BEGIN_STMT
+  vPortEnableVFP ();
+  # DEBUG BEGIN_STMT
+  _24 ={v} MEM[(volatile uint32_t *)3758157620B];
+  _25 = _24 | 3221225472;
+  MEM[(volatile uint32_t *)3758157620B] ={v} _25;
+  # DEBUG BEGIN_STMT
+  prvPortStartFirstTask ();
+  # DEBUG BEGIN_STMT
+  vTaskSwitchContext ();
+  # DEBUG BEGIN_STMT
+  prvTaskExitError ();
+  # DEBUG BEGIN_STMT
+  return 0;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+prvPortStartFirstTask ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
+ ldr r0, [r0] 			
+ ldr r0, [r0] 			
+ msr msp, r0			
+ mov r0, #0			
+ msr control, r0		
+ cpsie i				
+ cpsie f				
+ dsb					
+ isb					
+ svc 0					
+ nop					
+ .ltorg				
+");
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+SVC_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
+	ldr r1, [r3]					
+	ldr r0, [r1]					
+	ldmia r0!, {r4-r11, r14}		
+	msr psp, r0						
+	isb								
+	mov r0, #0 						
+	msr	basepri, r0					
+	bx r14							
+									
+	.align 4						
+pxCurrentTCBConst2: .word pxCurrentTCB				
+");
+  return;
+
+}
+
+
+prvTaskExitError ()
+{
+  uint32_t ulNewBASEPRI;
+  volatile uint32_t ulDummy;
+  long unsigned int uxCriticalNesting.3_1;
+  long unsigned int ulDummy.4_2;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  ulDummy ={v} 0;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.3_1 = uxCriticalNesting;
+  if (uxCriticalNesting.3_1 != 4294967295)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 4>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  prvTaskExitError.part.0 ();
+
+  <bb 4> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 5> [local count: 502853]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulDummy.4_2 ={v} ulDummy;
+  if (ulDummy.4_2 == 0)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 447539]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 55314]:
+  return;
+
+}
+
+
+pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
+{
+  long unsigned int pxCode.0_1;
+  long unsigned int _2;
+  long unsigned int prvTaskExitError.1_3;
+  long unsigned int pvParameters.2_4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxTopOfStack => pxTopOfStack_5(D) + 4294967292
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967292B] = 16777216;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#4 => &MEM[(void *)pxTopOfStack_5(D) + 4294967288B]
+  # DEBUG pxTopOfStack => D#4
+  # DEBUG BEGIN_STMT
+  pxCode.0_1 = (long unsigned int) pxCode_8(D);
+  _2 = pxCode.0_1 & 4294967294;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967288B] = _2;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#3 => &MEM[(void *)pxTopOfStack_5(D) + 4294967284B]
+  # DEBUG pxTopOfStack => D#3
+  # DEBUG BEGIN_STMT
+  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967284B] = prvTaskExitError.1_3;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(void *)pxTopOfStack_5(D) + 4294967264B]
+  # DEBUG pxTopOfStack => D#2
+  # DEBUG BEGIN_STMT
+  pvParameters.2_4 = (long unsigned int) pvParameters_11(D);
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967264B] = pvParameters.2_4;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(void *)pxTopOfStack_5(D) + 4294967260B]
+  # DEBUG pxTopOfStack => D#1
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967260B] = 4294967293;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_14 = &MEM[(void *)pxTopOfStack_5(D) + 4294967228B];
+  # DEBUG pxTopOfStack => pxTopOfStack_14
+  # DEBUG BEGIN_STMT
+  return pxTopOfStack_14;
+
+}
+
+

+ 1048 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.072i.cp

@@ -0,0 +1,1048 @@
+
+IPA constant propagation start:
+
+IPA structures before propagation:
+
+Jump functions:
+  Jump functions of caller  prvTaskExitError.part.0/25:
+  Jump functions of caller  xTaskIncrementTick/22:
+  Jump functions of caller  vTaskSwitchContext/21:
+  Jump functions of caller  vPortValidateInterruptPriority/20:
+  Jump functions of caller  vPortEnableVFP/19:
+  Jump functions of caller  vPortSetupTimerInterrupt/18:
+  Jump functions of caller  SysTick_Handler/17:
+  Jump functions of caller  PendSV_Handler/16:
+  Jump functions of caller  vPortExitCritical/15:
+  Jump functions of caller  vPortEnterCritical/14:
+  Jump functions of caller  vPortEndScheduler/13:
+  Jump functions of caller  xPortStartScheduler/12:
+    callsite  xPortStartScheduler/12 -> prvTaskExitError/9 : 
+    callsite  xPortStartScheduler/12 -> prvPortStartFirstTask/11 : 
+    callsite  xPortStartScheduler/12 -> vPortEnableVFP/19 : 
+    callsite  xPortStartScheduler/12 -> vPortSetupTimerInterrupt/18 : 
+  Jump functions of caller  prvPortStartFirstTask/11:
+  Jump functions of caller  SVC_Handler/10:
+  Jump functions of caller  prvTaskExitError/9:
+    callsite  prvTaskExitError/9 -> prvTaskExitError.part.0/25 : 
+  Jump functions of caller  pxPortInitialiseStack/8:
+
+ Propagating constants:
+
+Not considering vPortValidateInterruptPriority for cloning; -fipa-cp-clone disabled.
+Function vPortEnableVFP/19 is not versionable, reason: not a tree_versionable_function.
+Function vPortSetupTimerInterrupt/18 is not versionable, reason: insufficient body availability.
+Not considering SysTick_Handler for cloning; -fipa-cp-clone disabled.
+Function PendSV_Handler/16 is not versionable, reason: not a tree_versionable_function.
+Not considering vPortExitCritical for cloning; -fipa-cp-clone disabled.
+Not considering vPortEnterCritical for cloning; -fipa-cp-clone disabled.
+Not considering vPortEndScheduler for cloning; -fipa-cp-clone disabled.
+Not considering xPortStartScheduler for cloning; -fipa-cp-clone disabled.
+Function prvPortStartFirstTask/11 is not versionable, reason: not a tree_versionable_function.
+Function SVC_Handler/10 is not versionable, reason: not a tree_versionable_function.
+Not considering prvTaskExitError for cloning; -fipa-cp-clone disabled.
+Not considering pxPortInitialiseStack for cloning; -fipa-cp-clone disabled.
+
+overall_size: 282, max_new_size: 11001
+
+IPA lattices after all propagation:
+
+Lattices:
+  Node: prvTaskExitError.part.0/25:
+  Node: vPortValidateInterruptPriority/20:
+  Node: vPortEnableVFP/19:
+  Node: vPortSetupTimerInterrupt/18:
+  Node: SysTick_Handler/17:
+  Node: PendSV_Handler/16:
+  Node: vPortExitCritical/15:
+  Node: vPortEnterCritical/14:
+  Node: vPortEndScheduler/13:
+  Node: xPortStartScheduler/12:
+  Node: prvPortStartFirstTask/11:
+  Node: SVC_Handler/10:
+  Node: prvTaskExitError/9:
+  Node: pxPortInitialiseStack/8:
+    param [0]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [1]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+    param [2]: BOTTOM
+         ctxs: BOTTOM
+         Bits unusable (BOTTOM)
+         VARYING
+        AGGS BOTTOM
+
+IPA decision stage:
+
+
+IPA constant propagation end
+
+Reclaiming functions:
+Reclaiming variables:
+Clearing address taken flags:
+Symbol table:
+
+prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06a55380
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: prvTaskExitError/9 (107374 (estimated locally),0.66 per call) 
+  Calls: 
+xTaskIncrementTick/22 (xTaskIncrementTick) @06ad29a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: SysTick_Handler/17 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vTaskSwitchContext/21 (vTaskSwitchContext) @06ad20e0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06ac7b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
+  Referring: 
+  Availability: available
+  Function flags: count:286331 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEnableVFP/19 (vPortEnableVFP) @06ac77e0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06ac7460
+  Type: function definition analyzed
+  Visibility: externally_visible public weak
+  References: 
+  Referring: 
+  Availability: overwritable
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+SysTick_Handler/17 (SysTick_Handler) @06ac71c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskIncrementTick/22 (1073741824 (estimated locally),1.00 per call) 
+PendSV_Handler/16 (PendSV_Handler) @06abbee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/15 (vPortExitCritical) @06abb620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEnterCritical/14 (vPortEnterCritical) @06abbe00
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:631612 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEndScheduler/13 (vPortEndScheduler) @06abbb60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)
+  Referring: 
+  Availability: available
+  Function flags: count:162688 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xPortStartScheduler/12 (xPortStartScheduler) @06abb7e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:309048 (estimated locally) body optimize_size
+  Called by: 
+  Calls: prvTaskExitError/9 (27247 (estimated locally),0.09 per call) vTaskSwitchContext/21 (27247 (estimated locally),0.09 per call) prvPortStartFirstTask/11 (27247 (estimated locally),0.09 per call) vPortEnableVFP/19 (27247 (estimated locally),0.09 per call) vPortSetupTimerInterrupt/18 (27247 (estimated locally),0.09 per call) 
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06abb540
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+SVC_Handler/10 (SVC_Handler) @06abb1c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+prvTaskExitError/9 (prvTaskExitError) @06ab6e00
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  Address is taken.
+  References: uxCriticalNesting/4 (read)
+  Referring: pxPortInitialiseStack/8 (addr)
+  Availability: available
+  Function flags: count:162688 (estimated locally) body optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: prvTaskExitError.part.0/25 (107374 (estimated locally),0.66 per call) 
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06ab6d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: prvTaskExitError/9 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06ab53a8
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06ab5318
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+uxCriticalNesting/4 (uxCriticalNesting) @06ab51b0
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: vPortEndScheduler/13 (read)vPortEnterCritical/14 (write)vPortExitCritical/15 (write)prvTaskExitError/9 (read)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)xPortStartScheduler/12 (write)
+  Availability: available
+  Varpool flags: initialized
+
+;; Function prvPortStartFirstTask (prvPortStartFirstTask, funcdef_no=7, decl_uid=5767, cgraph_uid=8, symbol_order=11)
+
+Modification phase of node prvPortStartFirstTask/11
+__attribute__((naked, noinline, noclone))
+prvPortStartFirstTask ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
+ ldr r0, [r0] 			
+ ldr r0, [r0] 			
+ msr msp, r0			
+ mov r0, #0			
+ msr control, r0		
+ cpsie i				
+ cpsie f				
+ dsb					
+ isb					
+ svc 0					
+ nop					
+ .ltorg				
+");
+  return;
+
+}
+
+
+
+;; Function vPortEnableVFP (vPortEnableVFP, funcdef_no=15, decl_uid=5769, cgraph_uid=16, symbol_order=19)
+
+Modification phase of node vPortEnableVFP/19
+__attribute__((naked, noinline, noclone))
+vPortEnableVFP ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
+	ldr r1, [r0]				
+								
+	orr r1, r1, #( 0xf << 20 )	
+	str r1, [r0]				
+	bx r14						
+	.ltorg						
+");
+  return;
+
+}
+
+
+
+;; Function prvTaskExitError (prvTaskExitError, funcdef_no=5, decl_uid=5771, cgraph_uid=6, symbol_order=9)
+
+Modification phase of node prvTaskExitError/9
+prvTaskExitError ()
+{
+  uint32_t ulNewBASEPRI;
+  volatile uint32_t ulDummy;
+  long unsigned int uxCriticalNesting.3_1;
+  long unsigned int ulDummy.4_2;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  ulDummy ={v} 0;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.3_1 = uxCriticalNesting;
+  if (uxCriticalNesting.3_1 != 4294967295)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 4>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  prvTaskExitError.part.0 ();
+
+  <bb 4> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 5> [local count: 502853]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulDummy.4_2 ={v} ulDummy;
+  if (ulDummy.4_2 == 0)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 447539]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 55314]:
+  return;
+
+}
+
+
+
+;; Function pxPortInitialiseStack (pxPortInitialiseStack, funcdef_no=4, decl_uid=5420, cgraph_uid=5, symbol_order=8)
+
+Modification phase of node pxPortInitialiseStack/8
+pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
+{
+  long unsigned int pxCode.0_1;
+  long unsigned int _2;
+  long unsigned int prvTaskExitError.1_3;
+  long unsigned int pvParameters.2_4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxTopOfStack => pxTopOfStack_5(D) + 4294967292
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967292B] = 16777216;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#4 => &MEM[(void *)pxTopOfStack_5(D) + 4294967288B]
+  # DEBUG pxTopOfStack => D#4
+  # DEBUG BEGIN_STMT
+  pxCode.0_1 = (long unsigned int) pxCode_8(D);
+  _2 = pxCode.0_1 & 4294967294;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967288B] = _2;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#3 => &MEM[(void *)pxTopOfStack_5(D) + 4294967284B]
+  # DEBUG pxTopOfStack => D#3
+  # DEBUG BEGIN_STMT
+  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967284B] = prvTaskExitError.1_3;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(void *)pxTopOfStack_5(D) + 4294967264B]
+  # DEBUG pxTopOfStack => D#2
+  # DEBUG BEGIN_STMT
+  pvParameters.2_4 = (long unsigned int) pvParameters_11(D);
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967264B] = pvParameters.2_4;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(void *)pxTopOfStack_5(D) + 4294967260B]
+  # DEBUG pxTopOfStack => D#1
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967260B] = 4294967293;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_14 = &MEM[(void *)pxTopOfStack_5(D) + 4294967228B];
+  # DEBUG pxTopOfStack => pxTopOfStack_14
+  # DEBUG BEGIN_STMT
+  return pxTopOfStack_14;
+
+}
+
+
+
+;; Function SVC_Handler (SVC_Handler, funcdef_no=6, decl_uid=5765, cgraph_uid=7, symbol_order=10)
+
+Modification phase of node SVC_Handler/10
+__attribute__((naked, noinline, noclone))
+SVC_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
+	ldr r1, [r3]					
+	ldr r0, [r1]					
+	ldmia r0!, {r4-r11, r14}		
+	msr psp, r0						
+	isb								
+	mov r0, #0 						
+	msr	basepri, r0					
+	bx r14							
+									
+	.align 4						
+pxCurrentTCBConst2: .word pxCurrentTCB				
+");
+  return;
+
+}
+
+
+
+;; Function vPortEndScheduler (vPortEndScheduler, funcdef_no=9, decl_uid=5451, cgraph_uid=10, symbol_order=13)
+
+Modification phase of node vPortEndScheduler/13
+vPortEndScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.13_1;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.13_1 = uxCriticalNesting;
+  if (uxCriticalNesting.13_1 != 1000)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 5>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 6> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+
+;; Function vPortEnterCritical (vPortEnterCritical, funcdef_no=10, decl_uid=5393, cgraph_uid=11, symbol_order=14)
+
+Modification phase of node vPortEnterCritical/14
+vPortEnterCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.14_1;
+  long unsigned int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 631612]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.14_1 = uxCriticalNesting;
+  _2 = uxCriticalNesting.14_1 + 1;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 1)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 6>; [66.00%]
+
+  <bb 3> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157060B];
+  _4 = _3 & 255;
+  if (_4 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 5> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 7> [local count: 1073741824]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 524238]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+
+;; Function vPortExitCritical (vPortExitCritical, funcdef_no=11, decl_uid=5395, cgraph_uid=12, symbol_order=15)
+
+Modification phase of node vPortExitCritical/15
+vPortExitCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.16_1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.16_1 = uxCriticalNesting;
+  if (uxCriticalNesting.16_1 == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 8> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = uxCriticalNesting.16_1 + 4294967295;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 6> [local count: 53687]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+
+  <bb 7> [local count: 107374]:
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+
+;; Function PendSV_Handler (PendSV_Handler, funcdef_no=12, decl_uid=5761, cgraph_uid=13, symbol_order=16)
+
+Modification phase of node PendSV_Handler/16
+__attribute__((naked, noinline, noclone))
+PendSV_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs r0, psp							
+	isb									
+										
+	ldr	r3, pxCurrentTCBConst			
+	ldr	r2, [r3]						
+										
+	tst r14, #0x10						
+	it eq								
+	vstmdbeq r0!, {s16-s31}				
+										
+	stmdb r0!, {r4-r11, r14}			
+	str r0, [r2]						
+										
+	stmdb sp!, {r0, r3}					
+	mov r0, %0 							
+	msr basepri, r0						
+	dsb									
+	isb									
+	bl vTaskSwitchContext				
+	mov r0, #0							
+	msr basepri, r0						
+	ldmia sp!, {r0, r3}					
+										
+	ldr r1, [r3]						
+	ldr r0, [r1]						
+										
+	ldmia r0!, {r4-r11, r14}			
+										
+	tst r14, #0x10						
+	it eq								
+	vldmiaeq r0!, {s16-s31}				
+										
+	msr psp, r0							
+	isb									
+										
+										
+	bx r14								
+										
+	.align 4							
+pxCurrentTCBConst: .word pxCurrentTCB	
+" :  : "i" 16);
+  return;
+
+}
+
+
+
+;; Function SysTick_Handler (SysTick_Handler, funcdef_no=13, decl_uid=5763, cgraph_uid=14, symbol_order=17)
+
+Modification phase of node SysTick_Handler/17
+SysTick_Handler ()
+{
+  uint32_t ulNewBASEPRI;
+  long int _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  _1 = xTaskIncrementTick ();
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 4>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+
+;; Function vPortSetupTimerInterrupt (vPortSetupTimerInterrupt, funcdef_no=14, decl_uid=5759, cgraph_uid=15, symbol_order=18)
+
+Modification phase of node vPortSetupTimerInterrupt/18
+__attribute__((weak))
+vPortSetupTimerInterrupt ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153752B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153748B] ={v} 47999;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 7;
+  return;
+
+}
+
+
+
+;; Function xPortStartScheduler (xPortStartScheduler, funcdef_no=8, decl_uid=5449, cgraph_uid=9, symbol_order=12)
+
+Modification phase of node xPortStartScheduler/12
+xPortStartScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  volatile uint8_t ucMaxPriorityValue;
+  volatile uint32_t ulOriginalPriority;
+  long unsigned int _1;
+  signed char _2;
+  long unsigned int _3;
+  unsigned char _4;
+  long unsigned int _5;
+  unsigned char _6;
+  unsigned char ucMaxPriorityValue.5_7;
+  unsigned char _8;
+  long unsigned int ulMaxPRIGROUPValue.6_9;
+  long unsigned int _10;
+  unsigned char ucMaxPriorityValue.7_11;
+  unsigned char _12;
+  unsigned char ucMaxPriorityValue.8_13;
+  long unsigned int ulMaxPRIGROUPValue.9_14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _17;
+  long unsigned int ulOriginalPriority.12_18;
+  unsigned char _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _22;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 2> [local count: 309048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_1 == 1091551857)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 5>; [66.00%]
+
+  <bb 3> [local count: 105076]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_46 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_46
+
+  <bb 4> [local count: 1050765414]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 15> [local count: 1050765414]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 203972]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_3 == 1091551856)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 8>; [66.00%]
+
+  <bb 6> [local count: 69350]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 7> [local count: 693505173]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 16> [local count: 693505172]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pucFirstUserPriorityRegister => 3758154752B
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _4 ={v} MEM[(volatile uint8_t *)3758154752B];
+  _5 = (long unsigned int) _4;
+  ulOriginalPriority ={v} _5;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint8_t *)3758154752B] ={v} 255;
+  # DEBUG BEGIN_STMT
+  _6 ={v} MEM[(volatile uint8_t *)3758154752B];
+  ucMaxPriorityValue ={v} _6;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.5_7 ={v} ucMaxPriorityValue;
+  _8 = ucMaxPriorityValue.5_7 & 16;
+  ucMaxSysCallPriority = _8;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue = 7;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 9> [local count: 1089209]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.6_9 = ulMaxPRIGROUPValue;
+  _10 = ulMaxPRIGROUPValue.6_9 + 4294967295;
+  ulMaxPRIGROUPValue = _10;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.7_11 ={v} ucMaxPriorityValue;
+  _12 = ucMaxPriorityValue.7_11 << 1;
+  ucMaxPriorityValue ={v} _12;
+
+  <bb 10> [local count: 1223831]:
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.8_13 ={v} ucMaxPriorityValue;
+  _2 = (signed char) ucMaxPriorityValue.8_13;
+  if (_2 < 0)
+    goto <bb 9>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.9_14 = ulMaxPRIGROUPValue;
+  _15 = 7 - ulMaxPRIGROUPValue.9_14;
+  if (_15 != 4)
+    goto <bb 12>; [79.76%]
+  else
+    goto <bb 14>; [20.24%]
+
+  <bb 12> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 13> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 17> [local count: 1073741824]:
+  goto <bb 13>; [100.00%]
+
+  <bb 14> [local count: 27247]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _16 = ulMaxPRIGROUPValue.9_14 << 8;
+  # DEBUG BEGIN_STMT
+  _17 = _16 & 1792;
+  ulMaxPRIGROUPValue = _17;
+  # DEBUG BEGIN_STMT
+  ulOriginalPriority.12_18 ={v} ulOriginalPriority;
+  _19 = (unsigned char) ulOriginalPriority.12_18;
+  MEM[(volatile uint8_t *)3758154752B] ={v} _19;
+  # DEBUG BEGIN_STMT
+  _20 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _21 = _20 | 15728640;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _21;
+  # DEBUG BEGIN_STMT
+  _22 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _23 = _22 | 4026531840;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _23;
+  # DEBUG BEGIN_STMT
+  vPortSetupTimerInterrupt ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting = 0;
+  # DEBUG BEGIN_STMT
+  vPortEnableVFP ();
+  # DEBUG BEGIN_STMT
+  _24 ={v} MEM[(volatile uint32_t *)3758157620B];
+  _25 = _24 | 3221225472;
+  MEM[(volatile uint32_t *)3758157620B] ={v} _25;
+  # DEBUG BEGIN_STMT
+  prvPortStartFirstTask ();
+  # DEBUG BEGIN_STMT
+  vTaskSwitchContext ();
+  # DEBUG BEGIN_STMT
+  prvTaskExitError ();
+  # DEBUG BEGIN_STMT
+  return 0;
+
+}
+
+
+
+;; Function vPortValidateInterruptPriority (vPortValidateInterruptPriority, funcdef_no=16, decl_uid=5399, cgraph_uid=17, symbol_order=20)
+
+Modification phase of node vPortValidateInterruptPriority/20
+vPortValidateInterruptPriority ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint8_t ucCurrentPriority;
+  uint32_t ulCurrentInterrupt;
+  const uint8_t * _1;
+  unsigned char ucMaxSysCallPriority.19_2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int ulMaxPRIGROUPValue.20_5;
+
+  <bb 2> [local count: 286331]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_8 :  : "memory");
+  # DEBUG ulCurrentInterrupt => ulCurrentInterrupt_8
+  # DEBUG BEGIN_STMT
+  if (ulCurrentInterrupt_8 > 15)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 3> [local count: 143165]:
+  # DEBUG BEGIN_STMT
+  _1 = 3758154736B + ulCurrentInterrupt_8;
+  ucCurrentPriority_9 ={v} *_1;
+  # DEBUG ucCurrentPriority => ucCurrentPriority_9
+  # DEBUG BEGIN_STMT
+  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
+  if (ucMaxSysCallPriority.19_2 > ucCurrentPriority_9)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 71583]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
+
+  <bb 5> [local count: 715827883]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 715827883]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157068B];
+  _4 = _3 & 1792;
+  ulMaxPRIGROUPValue.20_5 = ulMaxPRIGROUPValue;
+  if (_4 > ulMaxPRIGROUPValue.20_5)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 7> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 8> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 11> [local count: 1073741823]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+

+ 1382 - 0
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.075i.fnsummary

@@ -0,0 +1,1382 @@
+
+Analyzing function: prvTaskExitError.part.0/25
+;; 2 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 5 2 3 4
+;;
+;; Loop 1
+;;  header 3, latch 4
+;;  depth 1, outer 0
+;;  nodes: 3 4
+;; 5 succs { 2 }
+;; 2 succs { 3 }
+;; 3 succs { 4 }
+;; 4 succs { 3 }
+
+Analyzing function body size: prvTaskExitError.part.0
+
+IPA function summary for prvTaskExitError.part.0/25 inlinable
+  global time:     5.000000
+  self size:       7
+  global size:     0
+  min size:       0
+  self stack:      4
+  global stack:    4
+    size:5.000000, time:5.000000
+    size:2.000000, time:0.000000,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: vPortValidateInterruptPriority/20
+;; 3 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 5 10 6 7 8 11 9
+;;
+;; Loop 2
+;;  header 5, latch 10
+;;  depth 1, outer 0
+;;  nodes: 5 10
+;;
+;; Loop 1
+;;  header 8, latch 11
+;;  depth 1, outer 0
+;;  nodes: 8 11
+;; 2 succs { 3 6 }
+;; 3 succs { 4 6 }
+;; 4 succs { 5 }
+;; 5 succs { 10 }
+;; 10 succs { 5 }
+;; 6 succs { 7 9 }
+;; 7 succs { 8 }
+;; 8 succs { 11 }
+;; 11 succs { 8 }
+;; 9 succs { 1 }
+
+Analyzing function body size: vPortValidateInterruptPriority
+
+IPA function summary for vPortValidateInterruptPriority/20 inlinable
+  global time:     13.124988
+  self size:       26
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:23.000000, time:12.374989
+    size:3.000000, time:0.749999,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: vPortEnableVFP/19
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: vPortEnableVFP
+
+IPA function summary for vPortEnableVFP/19
+  global time:     10.000000
+  self size:       11
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:8.000000, time:8.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: vPortSetupTimerInterrupt/18
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: vPortSetupTimerInterrupt
+
+IPA function summary for vPortSetupTimerInterrupt/18 inlinable
+  global time:     6.000000
+  self size:       7
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:4.000000, time:4.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: SysTick_Handler/17
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4
+;; 2 succs { 3 4 }
+;; 3 succs { 4 }
+;; 4 succs { 1 }
+
+Analyzing function body size: SysTick_Handler
+
+IPA function summary for SysTick_Handler/17 inlinable
+  global time:     21.500000
+  self size:       14
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:9.000000, time:8.500000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+    xTaskIncrementTick/22 function body not available
+      loop depth: 0 freq:1.00 size: 2 time: 11
+
+
+Analyzing function: PendSV_Handler/16
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: PendSV_Handler
+
+IPA function summary for PendSV_Handler/16
+  global time:     43.000000
+  self size:       44
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:41.000000, time:41.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: vPortExitCritical/15
+;; 2 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 8 5 6 7
+;;
+;; Loop 1
+;;  header 4, latch 8
+;;  depth 1, outer 0
+;;  nodes: 4 8
+;; 2 succs { 3 5 }
+;; 3 succs { 4 }
+;; 4 succs { 8 }
+;; 8 succs { 4 }
+;; 5 succs { 6 7 }
+;; 6 succs { 7 }
+;; 7 succs { 1 }
+
+Analyzing function body size: vPortExitCritical
+
+IPA function summary for vPortExitCritical/15 inlinable
+  global time:     8.750000
+  self size:       16
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:13.000000, time:7.750000
+    size:3.000000, time:1.000000,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: vPortEnterCritical/14
+;; 2 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 5 7 6
+;;
+;; Loop 1
+;;  header 5, latch 7
+;;  depth 1, outer 0
+;;  nodes: 5 7
+;; 2 succs { 3 6 }
+;; 3 succs { 4 6 }
+;; 4 succs { 5 }
+;; 5 succs { 7 }
+;; 7 succs { 5 }
+;; 6 succs { 1 }
+
+Analyzing function body size: vPortEnterCritical
+
+IPA function summary for vPortEnterCritical/14 inlinable
+  global time:     13.869999
+  self size:       22
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:19.000000, time:12.209999
+    size:3.000000, time:1.660000,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: vPortEndScheduler/13
+;; 2 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 6 5
+;;
+;; Loop 1
+;;  header 4, latch 6
+;;  depth 1, outer 0
+;;  nodes: 4 6
+;; 2 succs { 3 5 }
+;; 3 succs { 4 }
+;; 4 succs { 6 }
+;; 6 succs { 4 }
+;; 5 succs { 1 }
+
+Analyzing function body size: vPortEndScheduler
+
+IPA function summary for vPortEndScheduler/13 inlinable
+  global time:     6.979999
+  self size:       11
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:8.000000, time:6.299998
+    size:3.000000, time:0.680001,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: xPortStartScheduler/12
+;; 5 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 15 5 6 7 16 8 9 10 11 12 13 17 14
+;;
+;; Loop 4
+;;  header 4, latch 15
+;;  depth 1, outer 0
+;;  nodes: 4 15
+;;
+;; Loop 3
+;;  header 7, latch 16
+;;  depth 1, outer 0
+;;  nodes: 7 16
+;;
+;; Loop 2
+;;  header 13, latch 17
+;;  depth 1, outer 0
+;;  nodes: 13 17
+;;
+;; Loop 1
+;;  header 10, latch 9
+;;  depth 1, outer 0
+;;  nodes: 10 9
+;; 2 succs { 3 5 }
+;; 3 succs { 4 }
+;; 4 succs { 15 }
+;; 15 succs { 4 }
+;; 5 succs { 6 8 }
+;; 6 succs { 7 }
+;; 7 succs { 16 }
+;; 16 succs { 7 }
+;; 8 succs { 10 }
+;; 9 succs { 10 }
+;; 10 succs { 9 11 }
+;; 11 succs { 12 14 }
+;; 12 succs { 13 }
+;; 13 succs { 17 }
+;; 17 succs { 13 }
+;; 14 succs { 1 }
+
+Analyzing function body size: xPortStartScheduler
+
+IPA function summary for xPortStartScheduler/12 inlinable
+  global time:     54.135374
+  self size:       66
+  global size:     0
+  min size:       0
+  self stack:      5
+  global stack:    5
+    size:58.000000, time:49.550830
+    size:3.000000, time:0.176329,  executed if:(not inlined)
+  calls:
+    prvTaskExitError/9 function not considered for inlining
+      loop depth: 0 freq:0.09 size: 1 time: 10
+    vTaskSwitchContext/21 function body not available
+      loop depth: 0 freq:0.09 size: 1 time: 10
+    prvPortStartFirstTask/11 function not considered for inlining
+      loop depth: 0 freq:0.09 size: 1 time: 10
+    vPortEnableVFP/19 function not considered for inlining
+      loop depth: 0 freq:0.09 size: 1 time: 10callee size: 5 stack: 0
+    vPortSetupTimerInterrupt/18 function not considered for inlining
+      loop depth: 0 freq:0.09 size: 1 time: 10callee size: 3 stack: 0
+
+
+Analyzing function: prvPortStartFirstTask/11
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: prvPortStartFirstTask
+
+IPA function summary for prvPortStartFirstTask/11
+  global time:     16.000000
+  self size:       17
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:14.000000, time:14.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: SVC_Handler/10
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: SVC_Handler
+
+IPA function summary for SVC_Handler/10
+  global time:     15.000000
+  self size:       16
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:13.000000, time:13.000000
+    size:3.000000, time:2.000000,  executed if:(not inlined)
+  calls:
+
+
+Analyzing function: prvTaskExitError/9
+;; 3 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2 3 4 5 7 6
+;;
+;; Loop 1
+;;  header 5, latch 7
+;;  depth 1, outer 0
+;;  nodes: 5 7
+;; 2 succs { 3 4 }
+;; 3 succs { }
+;; 4 succs { 5 }
+;; 5 succs { 7 6 }
+;; 7 succs { 5 }
+;; 6 succs { 1 }
+
+Analyzing function body size: prvTaskExitError
+
+IPA function summary for prvTaskExitError/9 inlinable
+  global time:     22.252711
+  self size:       16
+  global size:     0
+  min size:       0
+  self stack:      4
+  global stack:    4
+    size:12.000000, time:14.972715
+    size:3.000000, time:0.680001,  executed if:(not inlined)
+  calls:
+    prvTaskExitError.part.0/25 function not considered for inlining
+      loop depth: 0 freq:0.66 size: 1 time: 10callee size: 3 stack: 4
+
+
+Analyzing function: pxPortInitialiseStack/8
+;; 1 loops found
+;;
+;; Loop 0
+;;  header 0, latch 1
+;;  depth 0, outer -1
+;;  nodes: 0 1 2
+;; 2 succs { 1 }
+
+Analyzing function body size: pxPortInitialiseStack
+
+IPA function summary for pxPortInitialiseStack/8 inlinable
+  global time:     8.000000
+  self size:       9
+  global size:     0
+  min size:       0
+  self stack:      0
+  global stack:    0
+    size:2.500000, time:2.500000
+    size:5.500000, time:4.500000,  executed if:(not inlined)
+    size:1.000000, time:1.000000,  nonconst if:(op1 changed)
+  calls:
+
+Symbol table:
+
+prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06a55380
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly artificial
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
+  Called by: prvTaskExitError/9 (107374 (estimated locally),0.66 per call) 
+  Calls: 
+xTaskIncrementTick/22 (xTaskIncrementTick) @06ad29a0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: SysTick_Handler/17 (1073741824 (estimated locally),1.00 per call) 
+  Calls: 
+vTaskSwitchContext/21 (vTaskSwitchContext) @06ad20e0
+  Type: function
+  Visibility: external public
+  References: 
+  Referring: 
+  Availability: not_available
+  Function flags: optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06ac7b60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
+  Referring: 
+  Availability: available
+  Function flags: count:286331 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEnableVFP/19 (vPortEnableVFP) @06ac77e0
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06ac7460
+  Type: function definition analyzed
+  Visibility: externally_visible public weak
+  References: 
+  Referring: 
+  Availability: overwritable
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+SysTick_Handler/17 (SysTick_Handler) @06ac71c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: xTaskIncrementTick/22 (1073741824 (estimated locally),1.00 per call) 
+PendSV_Handler/16 (PendSV_Handler) @06abbee0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortExitCritical/15 (vPortExitCritical) @06abb620
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:214748 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEnterCritical/14 (vPortEnterCritical) @06abbe00
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:631612 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+vPortEndScheduler/13 (vPortEndScheduler) @06abbb60
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: uxCriticalNesting/4 (read)
+  Referring: 
+  Availability: available
+  Function flags: count:162688 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+xPortStartScheduler/12 (xPortStartScheduler) @06abb7e0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
+  Referring: 
+  Availability: available
+  Function flags: count:309048 (estimated locally) body optimize_size
+  Called by: 
+  Calls: prvTaskExitError/9 (27247 (estimated locally),0.09 per call) vTaskSwitchContext/21 (27247 (estimated locally),0.09 per call) prvPortStartFirstTask/11 (27247 (estimated locally),0.09 per call) vPortEnableVFP/19 (27247 (estimated locally),0.09 per call) vPortSetupTimerInterrupt/18 (27247 (estimated locally),0.09 per call) 
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06abb540
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: local
+  Function flags: count:1073741824 (estimated locally) body local optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: 
+SVC_Handler/10 (SVC_Handler) @06abb1c0
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+prvTaskExitError/9 (prvTaskExitError) @06ab6e00
+  Type: function definition analyzed
+  Visibility: prevailing_def_ironly
+  Address is taken.
+  References: uxCriticalNesting/4 (read)
+  Referring: pxPortInitialiseStack/8 (addr)
+  Availability: available
+  Function flags: count:162688 (estimated locally) body optimize_size
+  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
+  Calls: prvTaskExitError.part.0/25 (107374 (estimated locally),0.66 per call) 
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06ab6d20
+  Type: function definition analyzed
+  Visibility: externally_visible public
+  References: prvTaskExitError/9 (addr)
+  Referring: 
+  Availability: available
+  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Called by: 
+  Calls: 
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06ab53a8
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06ab5318
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
+  Availability: available
+  Varpool flags: initialized
+uxCriticalNesting/4 (uxCriticalNesting) @06ab51b0
+  Type: variable definition analyzed
+  Visibility: prevailing_def_ironly
+  References: 
+  Referring: vPortEndScheduler/13 (read)vPortEnterCritical/14 (write)vPortExitCritical/15 (write)prvTaskExitError/9 (read)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)xPortStartScheduler/12 (write)
+  Availability: available
+  Varpool flags: initialized
+prvTaskExitError.part.0 ()
+{
+  volatile uint32_t ulDummy;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+
+  <bb 5> [local count: 107374]:
+
+  <bb 2> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
+
+  <bb 3> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 4> [local count: 1073741824]:
+  goto <bb 3>; [100.00%]
+
+}
+
+
+vPortValidateInterruptPriority ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint8_t ucCurrentPriority;
+  uint32_t ulCurrentInterrupt;
+  const uint8_t * _1;
+  unsigned char ucMaxSysCallPriority.19_2;
+  long unsigned int _3;
+  long unsigned int _4;
+  long unsigned int ulMaxPRIGROUPValue.20_5;
+
+  <bb 2> [local count: 286331]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_8 :  : "memory");
+  # DEBUG ulCurrentInterrupt => ulCurrentInterrupt_8
+  # DEBUG BEGIN_STMT
+  if (ulCurrentInterrupt_8 > 15)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 3> [local count: 143165]:
+  # DEBUG BEGIN_STMT
+  _1 = 3758154736B + ulCurrentInterrupt_8;
+  ucCurrentPriority_9 ={v} *_1;
+  # DEBUG ucCurrentPriority => ucCurrentPriority_9
+  # DEBUG BEGIN_STMT
+  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
+  if (ucMaxSysCallPriority.19_2 > ucCurrentPriority_9)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 71583]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
+
+  <bb 5> [local count: 715827883]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 10> [local count: 715827883]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157068B];
+  _4 = _3 & 1792;
+  ulMaxPRIGROUPValue.20_5 = ulMaxPRIGROUPValue;
+  if (_4 > ulMaxPRIGROUPValue.20_5)
+    goto <bb 7>; [50.00%]
+  else
+    goto <bb 9>; [50.00%]
+
+  <bb 7> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+
+  <bb 8> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 11> [local count: 1073741823]:
+  goto <bb 8>; [100.00%]
+
+  <bb 9> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+vPortEnableVFP ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
+	ldr r1, [r0]				
+								
+	orr r1, r1, #( 0xf << 20 )	
+	str r1, [r0]				
+	bx r14						
+	.ltorg						
+");
+  return;
+
+}
+
+
+__attribute__((weak))
+vPortSetupTimerInterrupt ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153752B] ={v} 0;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153748B] ={v} 47999;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758153744B] ={v} 7;
+  return;
+
+}
+
+
+SysTick_Handler ()
+{
+  uint32_t ulNewBASEPRI;
+  long int _1;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  _1 = xTaskIncrementTick ();
+  if (_1 != 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 4>; [50.00%]
+
+  <bb 3> [local count: 536870913]:
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+PendSV_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mrs r0, psp							
+	isb									
+										
+	ldr	r3, pxCurrentTCBConst			
+	ldr	r2, [r3]						
+										
+	tst r14, #0x10						
+	it eq								
+	vstmdbeq r0!, {s16-s31}				
+										
+	stmdb r0!, {r4-r11, r14}			
+	str r0, [r2]						
+										
+	stmdb sp!, {r0, r3}					
+	mov r0, %0 							
+	msr basepri, r0						
+	dsb									
+	isb									
+	bl vTaskSwitchContext				
+	mov r0, #0							
+	msr basepri, r0						
+	ldmia sp!, {r0, r3}					
+										
+	ldr r1, [r3]						
+	ldr r0, [r1]						
+										
+	ldmia r0!, {r4-r11, r14}			
+										
+	tst r14, #0x10						
+	it eq								
+	vldmiaeq r0!, {s16-s31}				
+										
+	msr psp, r0							
+	isb									
+										
+										
+	bx r14								
+										
+	.align 4							
+pxCurrentTCBConst: .word pxCurrentTCB	
+" :  : "i" 16);
+  return;
+
+}
+
+
+vPortExitCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.16_1;
+  long unsigned int _2;
+
+  <bb 2> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.16_1 = uxCriticalNesting;
+  if (uxCriticalNesting.16_1 == 0)
+    goto <bb 3>; [50.00%]
+  else
+    goto <bb 5>; [50.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 8> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _2 = uxCriticalNesting.16_1 + 4294967295;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 0)
+    goto <bb 6>; [50.00%]
+  else
+    goto <bb 7>; [50.00%]
+
+  <bb 6> [local count: 53687]:
+  # DEBUG BEGIN_STMT
+  # DEBUG ulNewMaskValue => 0
+  # DEBUG INLINE_ENTRY vPortSetBASEPRI
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
+
+  <bb 7> [local count: 107374]:
+  # DEBUG ulNewMaskValue => NULL
+  return;
+
+}
+
+
+vPortEnterCritical ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.14_1;
+  long unsigned int _2;
+  long unsigned int _3;
+  long unsigned int _4;
+
+  <bb 2> [local count: 631612]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.14_1 = uxCriticalNesting;
+  _2 = uxCriticalNesting.14_1 + 1;
+  uxCriticalNesting = _2;
+  # DEBUG BEGIN_STMT
+  if (_2 == 1)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 6>; [66.00%]
+
+  <bb 3> [local count: 214748]:
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157060B];
+  _4 = _3 & 255;
+  if (_4 != 0)
+    goto <bb 4>; [50.00%]
+  else
+    goto <bb 6>; [50.00%]
+
+  <bb 4> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+
+  <bb 5> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 7> [local count: 1073741824]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 524238]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+vPortEndScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  long unsigned int uxCriticalNesting.13_1;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.13_1 = uxCriticalNesting;
+  if (uxCriticalNesting.13_1 != 1000)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 5>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3
+
+  <bb 4> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 6> [local count: 1073741824]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  return;
+
+}
+
+
+xPortStartScheduler ()
+{
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  uint32_t ulNewBASEPRI;
+  volatile uint8_t ucMaxPriorityValue;
+  volatile uint32_t ulOriginalPriority;
+  long unsigned int _1;
+  signed char _2;
+  long unsigned int _3;
+  unsigned char _4;
+  long unsigned int _5;
+  unsigned char _6;
+  unsigned char ucMaxPriorityValue.5_7;
+  unsigned char _8;
+  long unsigned int ulMaxPRIGROUPValue.6_9;
+  long unsigned int _10;
+  unsigned char ucMaxPriorityValue.7_11;
+  unsigned char _12;
+  unsigned char ucMaxPriorityValue.8_13;
+  long unsigned int ulMaxPRIGROUPValue.9_14;
+  long unsigned int _15;
+  long unsigned int _16;
+  long unsigned int _17;
+  long unsigned int ulOriginalPriority.12_18;
+  unsigned char _19;
+  long unsigned int _20;
+  long unsigned int _21;
+  long unsigned int _22;
+  long unsigned int _23;
+  long unsigned int _24;
+  long unsigned int _25;
+
+  <bb 2> [local count: 309048]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _1 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_1 == 1091551857)
+    goto <bb 3>; [34.00%]
+  else
+    goto <bb 5>; [66.00%]
+
+  <bb 3> [local count: 105076]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_46 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_46
+
+  <bb 4> [local count: 1050765414]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 15> [local count: 1050765414]:
+  goto <bb 4>; [100.00%]
+
+  <bb 5> [local count: 203972]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _3 ={v} MEM[(volatile uint32_t *)3758157056B];
+  if (_3 == 1091551856)
+    goto <bb 6>; [34.00%]
+  else
+    goto <bb 8>; [66.00%]
+
+  <bb 6> [local count: 69350]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
+
+  <bb 7> [local count: 693505173]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 16> [local count: 693505172]:
+  goto <bb 7>; [100.00%]
+
+  <bb 8> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG pucFirstUserPriorityRegister => 3758154752B
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _4 ={v} MEM[(volatile uint8_t *)3758154752B];
+  _5 = (long unsigned int) _4;
+  ulOriginalPriority ={v} _5;
+  # DEBUG BEGIN_STMT
+  MEM[(volatile uint8_t *)3758154752B] ={v} 255;
+  # DEBUG BEGIN_STMT
+  _6 ={v} MEM[(volatile uint8_t *)3758154752B];
+  ucMaxPriorityValue ={v} _6;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.5_7 ={v} ucMaxPriorityValue;
+  _8 = ucMaxPriorityValue.5_7 & 16;
+  ucMaxSysCallPriority = _8;
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue = 7;
+  # DEBUG BEGIN_STMT
+  goto <bb 10>; [100.00%]
+
+  <bb 9> [local count: 1089209]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.6_9 = ulMaxPRIGROUPValue;
+  _10 = ulMaxPRIGROUPValue.6_9 + 4294967295;
+  ulMaxPRIGROUPValue = _10;
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.7_11 ={v} ucMaxPriorityValue;
+  _12 = ucMaxPriorityValue.7_11 << 1;
+  ucMaxPriorityValue ={v} _12;
+
+  <bb 10> [local count: 1223831]:
+  # DEBUG BEGIN_STMT
+  ucMaxPriorityValue.8_13 ={v} ucMaxPriorityValue;
+  _2 = (signed char) ucMaxPriorityValue.8_13;
+  if (_2 < 0)
+    goto <bb 9>; [89.00%]
+  else
+    goto <bb 11>; [11.00%]
+
+  <bb 11> [local count: 134621]:
+  # DEBUG BEGIN_STMT
+  ulMaxPRIGROUPValue.9_14 = ulMaxPRIGROUPValue;
+  _15 = 7 - ulMaxPRIGROUPValue.9_14;
+  if (_15 != 4)
+    goto <bb 12>; [79.76%]
+  else
+    goto <bb 14>; [20.24%]
+
+  <bb 12> [local count: 107374]:
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
+
+  <bb 13> [local count: 1073741824]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+
+  <bb 17> [local count: 1073741824]:
+  goto <bb 13>; [100.00%]
+
+  <bb 14> [local count: 27247]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  _16 = ulMaxPRIGROUPValue.9_14 << 8;
+  # DEBUG BEGIN_STMT
+  _17 = _16 & 1792;
+  ulMaxPRIGROUPValue = _17;
+  # DEBUG BEGIN_STMT
+  ulOriginalPriority.12_18 ={v} ulOriginalPriority;
+  _19 = (unsigned char) ulOriginalPriority.12_18;
+  MEM[(volatile uint8_t *)3758154752B] ={v} _19;
+  # DEBUG BEGIN_STMT
+  _20 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _21 = _20 | 15728640;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _21;
+  # DEBUG BEGIN_STMT
+  _22 ={v} MEM[(volatile uint32_t *)3758157088B];
+  _23 = _22 | 4026531840;
+  MEM[(volatile uint32_t *)3758157088B] ={v} _23;
+  # DEBUG BEGIN_STMT
+  vPortSetupTimerInterrupt ();
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting = 0;
+  # DEBUG BEGIN_STMT
+  vPortEnableVFP ();
+  # DEBUG BEGIN_STMT
+  _24 ={v} MEM[(volatile uint32_t *)3758157620B];
+  _25 = _24 | 3221225472;
+  MEM[(volatile uint32_t *)3758157620B] ={v} _25;
+  # DEBUG BEGIN_STMT
+  prvPortStartFirstTask ();
+  # DEBUG BEGIN_STMT
+  vTaskSwitchContext ();
+  # DEBUG BEGIN_STMT
+  prvTaskExitError ();
+  # DEBUG BEGIN_STMT
+  return 0;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+prvPortStartFirstTask ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
+ ldr r0, [r0] 			
+ ldr r0, [r0] 			
+ msr msp, r0			
+ mov r0, #0			
+ msr control, r0		
+ cpsie i				
+ cpsie f				
+ dsb					
+ isb					
+ svc 0					
+ nop					
+ .ltorg				
+");
+  return;
+
+}
+
+
+__attribute__((naked, noinline, noclone))
+SVC_Handler ()
+{
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
+	ldr r1, [r3]					
+	ldr r0, [r1]					
+	ldmia r0!, {r4-r11, r14}		
+	msr psp, r0						
+	isb								
+	mov r0, #0 						
+	msr	basepri, r0					
+	bx r14							
+									
+	.align 4						
+pxCurrentTCBConst2: .word pxCurrentTCB				
+");
+  return;
+
+}
+
+
+prvTaskExitError ()
+{
+  uint32_t ulNewBASEPRI;
+  volatile uint32_t ulDummy;
+  long unsigned int uxCriticalNesting.3_1;
+  long unsigned int ulDummy.4_2;
+
+  <bb 2> [local count: 162688]:
+  # DEBUG BEGIN_STMT
+  ulDummy ={v} 0;
+  # DEBUG BEGIN_STMT
+  uxCriticalNesting.3_1 = uxCriticalNesting;
+  if (uxCriticalNesting.3_1 != 4294967295)
+    goto <bb 3>; [66.00%]
+  else
+    goto <bb 4>; [34.00%]
+
+  <bb 3> [local count: 107374]:
+  prvTaskExitError.part.0 ();
+
+  <bb 4> [local count: 55314]:
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
+  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+
+  <bb 5> [local count: 502853]:
+  # DEBUG ulNewBASEPRI => NULL
+  # DEBUG BEGIN_STMT
+  # DEBUG BEGIN_STMT
+  ulDummy.4_2 ={v} ulDummy;
+  if (ulDummy.4_2 == 0)
+    goto <bb 7>; [89.00%]
+  else
+    goto <bb 6>; [11.00%]
+
+  <bb 7> [local count: 447539]:
+  goto <bb 5>; [100.00%]
+
+  <bb 6> [local count: 55314]:
+  return;
+
+}
+
+
+pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
+{
+  long unsigned int pxCode.0_1;
+  long unsigned int _2;
+  long unsigned int prvTaskExitError.1_3;
+  long unsigned int pvParameters.2_4;
+
+  <bb 2> [local count: 1073741824]:
+  # DEBUG BEGIN_STMT
+  # DEBUG pxTopOfStack => pxTopOfStack_5(D) + 4294967292
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967292B] = 16777216;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#4 => &MEM[(void *)pxTopOfStack_5(D) + 4294967288B]
+  # DEBUG pxTopOfStack => D#4
+  # DEBUG BEGIN_STMT
+  pxCode.0_1 = (long unsigned int) pxCode_8(D);
+  _2 = pxCode.0_1 & 4294967294;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967288B] = _2;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#3 => &MEM[(void *)pxTopOfStack_5(D) + 4294967284B]
+  # DEBUG pxTopOfStack => D#3
+  # DEBUG BEGIN_STMT
+  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967284B] = prvTaskExitError.1_3;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#2 => &MEM[(void *)pxTopOfStack_5(D) + 4294967264B]
+  # DEBUG pxTopOfStack => D#2
+  # DEBUG BEGIN_STMT
+  pvParameters.2_4 = (long unsigned int) pvParameters_11(D);
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967264B] = pvParameters.2_4;
+  # DEBUG BEGIN_STMT
+  # DEBUG D#1 => &MEM[(void *)pxTopOfStack_5(D) + 4294967260B]
+  # DEBUG pxTopOfStack => D#1
+  # DEBUG BEGIN_STMT
+  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967260B] = 4294967293;
+  # DEBUG BEGIN_STMT
+  pxTopOfStack_14 = &MEM[(void *)pxTopOfStack_5(D) + 4294967228B];
+  # DEBUG pxTopOfStack => pxTopOfStack_14
+  # DEBUG BEGIN_STMT
+  return pxTopOfStack_14;
+
+}
+
+

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