diff --git a/.cproject b/.cproject
index 3cbdd13..2907e7c 100644
--- a/.cproject
+++ b/.cproject
@@ -29,6 +29,10 @@
+
@@ -45,12 +49,15 @@
@@ -110,7 +117,7 @@
-
+
@@ -185,7 +192,7 @@
-
+
diff --git a/Debug/FreeRTOS/Source/croutine.d b/Debug/FreeRTOS/Source/croutine.d
deleted file mode 100644
index ef241f8..0000000
--- a/Debug/FreeRTOS/Source/croutine.d
+++ /dev/null
@@ -1,31 +0,0 @@
-FreeRTOS/Source/croutine.o: ../FreeRTOS/Source/croutine.c \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/croutine.h
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/croutine.h:
diff --git a/Debug/FreeRTOS/Source/croutine.o b/Debug/FreeRTOS/Source/croutine.o
deleted file mode 100644
index 7988ca0..0000000
Binary files a/Debug/FreeRTOS/Source/croutine.o and /dev/null differ
diff --git a/Debug/FreeRTOS/Source/event_groups.d b/Debug/FreeRTOS/Source/event_groups.d
deleted file mode 100644
index 614b0c9..0000000
--- a/Debug/FreeRTOS/Source/event_groups.d
+++ /dev/null
@@ -1,40 +0,0 @@
-FreeRTOS/Source/event_groups.o: ../FreeRTOS/Source/event_groups.c \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/timers.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/event_groups.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/timers.h
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/timers.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/event_groups.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/timers.h:
diff --git a/Debug/FreeRTOS/Source/event_groups.o b/Debug/FreeRTOS/Source/event_groups.o
deleted file mode 100644
index 5201779..0000000
Binary files a/Debug/FreeRTOS/Source/event_groups.o and /dev/null differ
diff --git a/Debug/FreeRTOS/Source/list.d b/Debug/FreeRTOS/Source/list.d
deleted file mode 100644
index 222e066..0000000
--- a/Debug/FreeRTOS/Source/list.d
+++ /dev/null
@@ -1,25 +0,0 @@
-FreeRTOS/Source/list.o: ../FreeRTOS/Source/list.c \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h:
diff --git a/Debug/FreeRTOS/Source/list.o b/Debug/FreeRTOS/Source/list.o
deleted file mode 100644
index d90bbb7..0000000
Binary files a/Debug/FreeRTOS/Source/list.o and /dev/null differ
diff --git a/Debug/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d b/Debug/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d
deleted file mode 100644
index 36f8e30..0000000
--- a/Debug/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d
+++ /dev/null
@@ -1,29 +0,0 @@
-FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o: \
- ../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h:
diff --git a/Debug/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o b/Debug/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
deleted file mode 100644
index 2e9a9d7..0000000
Binary files a/Debug/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o and /dev/null differ
diff --git a/Debug/FreeRTOS/Source/portable/GCC/ARM_CM4F/subdir.mk b/Debug/FreeRTOS/Source/portable/GCC/ARM_CM4F/subdir.mk
deleted file mode 100644
index c086a34..0000000
--- a/Debug/FreeRTOS/Source/portable/GCC/ARM_CM4F/subdir.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-################################################################################
-
-# Add inputs and outputs from these tool invocations to the build variables
-C_SRCS += \
-../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c
-
-OBJS += \
-./FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
-
-C_DEPS += \
-./FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d
-
-
-# Each subdirectory must supply rules for building sources it contributes
-FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o: ../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-
diff --git a/Debug/FreeRTOS/Source/portable/MemMang/heap_4.d b/Debug/FreeRTOS/Source/portable/MemMang/heap_4.d
deleted file mode 100644
index 6984ce7..0000000
--- a/Debug/FreeRTOS/Source/portable/MemMang/heap_4.d
+++ /dev/null
@@ -1,29 +0,0 @@
-FreeRTOS/Source/portable/MemMang/heap_4.o: \
- ../FreeRTOS/Source/portable/MemMang/heap_4.c \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h:
diff --git a/Debug/FreeRTOS/Source/portable/MemMang/heap_4.o b/Debug/FreeRTOS/Source/portable/MemMang/heap_4.o
deleted file mode 100644
index 17c9928..0000000
Binary files a/Debug/FreeRTOS/Source/portable/MemMang/heap_4.o and /dev/null differ
diff --git a/Debug/FreeRTOS/Source/portable/MemMang/subdir.mk b/Debug/FreeRTOS/Source/portable/MemMang/subdir.mk
deleted file mode 100644
index 2675fd8..0000000
--- a/Debug/FreeRTOS/Source/portable/MemMang/subdir.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-################################################################################
-
-# Add inputs and outputs from these tool invocations to the build variables
-C_SRCS += \
-../FreeRTOS/Source/portable/MemMang/heap_4.c
-
-OBJS += \
-./FreeRTOS/Source/portable/MemMang/heap_4.o
-
-C_DEPS += \
-./FreeRTOS/Source/portable/MemMang/heap_4.d
-
-
-# Each subdirectory must supply rules for building sources it contributes
-FreeRTOS/Source/portable/MemMang/heap_4.o: ../FreeRTOS/Source/portable/MemMang/heap_4.c
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/Source/portable/MemMang/heap_4.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-
diff --git a/Debug/FreeRTOS/Source/queue.d b/Debug/FreeRTOS/Source/queue.d
deleted file mode 100644
index 7fef20d..0000000
--- a/Debug/FreeRTOS/Source/queue.d
+++ /dev/null
@@ -1,34 +0,0 @@
-FreeRTOS/Source/queue.o: ../FreeRTOS/Source/queue.c \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/queue.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/queue.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h:
diff --git a/Debug/FreeRTOS/Source/queue.o b/Debug/FreeRTOS/Source/queue.o
deleted file mode 100644
index dd094e6..0000000
Binary files a/Debug/FreeRTOS/Source/queue.o and /dev/null differ
diff --git a/Debug/FreeRTOS/Source/stream_buffer.d b/Debug/FreeRTOS/Source/stream_buffer.d
deleted file mode 100644
index 31800b6..0000000
--- a/Debug/FreeRTOS/Source/stream_buffer.d
+++ /dev/null
@@ -1,31 +0,0 @@
-FreeRTOS/Source/stream_buffer.o: ../FreeRTOS/Source/stream_buffer.c \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/stream_buffer.h
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/stream_buffer.h:
diff --git a/Debug/FreeRTOS/Source/stream_buffer.o b/Debug/FreeRTOS/Source/stream_buffer.o
deleted file mode 100644
index 0b2f3fc..0000000
Binary files a/Debug/FreeRTOS/Source/stream_buffer.o and /dev/null differ
diff --git a/Debug/FreeRTOS/Source/subdir.mk b/Debug/FreeRTOS/Source/subdir.mk
deleted file mode 100644
index 3a3a5ad..0000000
--- a/Debug/FreeRTOS/Source/subdir.mk
+++ /dev/null
@@ -1,49 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-################################################################################
-
-# Add inputs and outputs from these tool invocations to the build variables
-C_SRCS += \
-../FreeRTOS/Source/croutine.c \
-../FreeRTOS/Source/event_groups.c \
-../FreeRTOS/Source/list.c \
-../FreeRTOS/Source/queue.c \
-../FreeRTOS/Source/stream_buffer.c \
-../FreeRTOS/Source/tasks.c \
-../FreeRTOS/Source/timers.c
-
-OBJS += \
-./FreeRTOS/Source/croutine.o \
-./FreeRTOS/Source/event_groups.o \
-./FreeRTOS/Source/list.o \
-./FreeRTOS/Source/queue.o \
-./FreeRTOS/Source/stream_buffer.o \
-./FreeRTOS/Source/tasks.o \
-./FreeRTOS/Source/timers.o
-
-C_DEPS += \
-./FreeRTOS/Source/croutine.d \
-./FreeRTOS/Source/event_groups.d \
-./FreeRTOS/Source/list.d \
-./FreeRTOS/Source/queue.d \
-./FreeRTOS/Source/stream_buffer.d \
-./FreeRTOS/Source/tasks.d \
-./FreeRTOS/Source/timers.d
-
-
-# Each subdirectory must supply rules for building sources it contributes
-FreeRTOS/Source/croutine.o: ../FreeRTOS/Source/croutine.c
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/Source/croutine.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-FreeRTOS/Source/event_groups.o: ../FreeRTOS/Source/event_groups.c
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/Source/event_groups.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-FreeRTOS/Source/list.o: ../FreeRTOS/Source/list.c
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/Source/list.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-FreeRTOS/Source/queue.o: ../FreeRTOS/Source/queue.c
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/Source/queue.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-FreeRTOS/Source/stream_buffer.o: ../FreeRTOS/Source/stream_buffer.c
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/Source/stream_buffer.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-FreeRTOS/Source/tasks.o: ../FreeRTOS/Source/tasks.c
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/Source/tasks.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-FreeRTOS/Source/timers.o: ../FreeRTOS/Source/timers.c
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/Source/timers.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-
diff --git a/Debug/FreeRTOS/Source/tasks.d b/Debug/FreeRTOS/Source/tasks.d
deleted file mode 100644
index 5bbfce6..0000000
--- a/Debug/FreeRTOS/Source/tasks.d
+++ /dev/null
@@ -1,37 +0,0 @@
-FreeRTOS/Source/tasks.o: ../FreeRTOS/Source/tasks.c \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/timers.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/stack_macros.h
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/timers.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/stack_macros.h:
diff --git a/Debug/FreeRTOS/Source/tasks.o b/Debug/FreeRTOS/Source/tasks.o
deleted file mode 100644
index 3b6770b..0000000
Binary files a/Debug/FreeRTOS/Source/tasks.o and /dev/null differ
diff --git a/Debug/FreeRTOS/Source/tasks.su b/Debug/FreeRTOS/Source/tasks.su
deleted file mode 100644
index 3391a58..0000000
--- a/Debug/FreeRTOS/Source/tasks.su
+++ /dev/null
@@ -1,60 +0,0 @@
-tasks.c:726:16:xTaskCreate 56 static
-tasks.c:817:13:prvInitialiseNewTask 40 static,ignoring_inline_asm
-tasks.c:1068:13:prvAddNewTaskToReadyList 16 static,ignoring_inline_asm
-tasks.c:1154:10:vTaskDelete 24 static,ignoring_inline_asm
-tasks.c:1249:16:xTaskDelayUntil 48 static,ignoring_inline_asm
-tasks.c:1336:10:vTaskDelay 24 static,ignoring_inline_asm
-tasks.c:1381:16:eTaskGetState 48 static,ignoring_inline_asm
-tasks.c:1478:17:uxTaskPriorityGet 24 static
-tasks.c:1500:17:uxTaskPriorityGetFromISR 40 static,ignoring_inline_asm
-tasks.c:1540:10:vTaskPrioritySet 40 static,ignoring_inline_asm
-tasks.c:1706:10:vTaskSuspend 32 static,ignoring_inline_asm
-tasks.c:1812:23:prvTaskIsTaskSuspended 32 static,ignoring_inline_asm
-tasks.c:1858:10:vTaskResume 24 static,ignoring_inline_asm
-tasks.c:1912:16:xTaskResumeFromISR 48 static,ignoring_inline_asm
-tasks.c:1987:6:vTaskStartScheduler 32 static,ignoring_inline_asm
-tasks.c:2115:6:vTaskEndScheduler 16 static,ignoring_inline_asm
-tasks.c:2126:6:vTaskSuspendAll 4 static,ignoring_inline_asm
-tasks.c:2210:12:xTaskResumeAll 24 static,ignoring_inline_asm
-tasks.c:2321:12:xTaskGetTickCount 16 static
-tasks.c:2336:12:xTaskGetTickCountFromISR 16 static
-tasks.c:2367:13:uxTaskGetNumberOfTasks 4 static
-tasks.c:2375:8:pcTaskGetName 24 static,ignoring_inline_asm
-tasks.c:2522:17:uxTaskGetSystemState 32 static
-tasks.c:2627:12:xTaskCatchUpTicks 24 static,ignoring_inline_asm
-tasks.c:2725:12:xTaskIncrementTick 32 static,ignoring_inline_asm
-tasks.c:3010:6:vTaskSwitchContext 32 static,ignoring_inline_asm
-tasks.c:3086:6:vTaskPlaceOnEventList 24 static,ignoring_inline_asm
-tasks.c:3104:6:vTaskPlaceOnUnorderedEventList 32 static,ignoring_inline_asm
-tasks.c:3132:10:vTaskPlaceOnEventListRestricted 32 static,ignoring_inline_asm
-tasks.c:3165:12:xTaskRemoveFromEventList 32 static,ignoring_inline_asm
-tasks.c:3233:6:vTaskRemoveFromUnorderedEventList 32 static,ignoring_inline_asm
-tasks.c:3282:6:vTaskSetTimeOutState 24 static,ignoring_inline_asm
-tasks.c:3294:6:vTaskInternalSetTimeOutState 16 static
-tasks.c:3302:12:xTaskCheckForTimeOut 40 static,ignoring_inline_asm
-tasks.c:3367:6:vTaskMissedYield 4 static
-tasks.c:3375:17:uxTaskGetTaskNumber 24 static
-tasks.c:3398:10:vTaskSetTaskNumber 24 static
-tasks.c:3423:8:prvIdleTask 16 static,ignoring_inline_asm
-tasks.c:3648:13:prvInitialiseTaskLists 16 static
-tasks.c:3680:13:prvCheckTasksWaitingTermination 16 static
-tasks.c:3710:10:vTaskGetInfo 32 static
-tasks.c:3809:24:prvListTasksWithinSingleList 48 static
-tasks.c:3844:35:prvTaskCheckFreeStackSpace 24 static
-tasks.c:3932:17:prvDeleteTCB 16 static
-tasks.c:3988:13:prvResetNextTaskUnblockTime 4 static
-tasks.c:4011:18:xTaskGetCurrentTaskHandle 16 static
-tasks.c:4028:16:xTaskGetSchedulerState 16 static
-tasks.c:4056:16:xTaskPriorityInherit 24 static
-tasks.c:4146:16:xTaskPriorityDisinherit 32 static,ignoring_inline_asm
-tasks.c:4226:10:vTaskPriorityDisinheritAfterTimeout 40 static,ignoring_inline_asm
-tasks.c:4651:12:uxTaskResetEventItemValue 16 static
-tasks.c:4667:18:pvTaskIncrementMutexHeldCount 4 static
-tasks.c:4684:14:ulTaskGenericNotifyTake 32 static,ignoring_inline_asm
-tasks.c:4756:16:xTaskGenericNotifyWait 32 static,ignoring_inline_asm
-tasks.c:4842:16:xTaskGenericNotify 56 static,ignoring_inline_asm
-tasks.c:4965:16:xTaskGenericNotifyFromISR 72 static,ignoring_inline_asm
-tasks.c:5104:10:vTaskGenericNotifyGiveFromISR 64 static,ignoring_inline_asm
-tasks.c:5193:16:xTaskGenericNotifyStateClear 32 static,ignoring_inline_asm
-tasks.c:5227:14:ulTaskGenericNotifyValueClear 32 static
-tasks.c:5263:13:prvAddCurrentTaskToDelayedList 24 static
diff --git a/Debug/FreeRTOS/Source/timers.d b/Debug/FreeRTOS/Source/timers.d
deleted file mode 100644
index e3900ce..0000000
--- a/Debug/FreeRTOS/Source/timers.d
+++ /dev/null
@@ -1,37 +0,0 @@
-FreeRTOS/Source/timers.o: ../FreeRTOS/Source/timers.c \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/queue.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h \
- /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/timers.h
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/FreeRTOS.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/projdefs.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/portable.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/deprecated_definitions.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/mpu_wrappers.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/list.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/queue.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/task.h:
-
-/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/Source/include/timers.h:
diff --git a/Debug/FreeRTOS/Source/timers.o b/Debug/FreeRTOS/Source/timers.o
deleted file mode 100644
index dc2967b..0000000
Binary files a/Debug/FreeRTOS/Source/timers.o and /dev/null differ
diff --git a/Debug/FreeRTOS/org/Source/croutine.d b/Debug/FreeRTOS/org/Source/croutine.d
new file mode 100644
index 0000000..ce130ff
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/croutine.d
@@ -0,0 +1,52 @@
+FreeRTOS/org/Source/croutine.o: ../FreeRTOS/org/Source/croutine.c \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/croutine.h
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/croutine.h:
diff --git a/Debug/FreeRTOS/org/Source/croutine.o b/Debug/FreeRTOS/org/Source/croutine.o
new file mode 100644
index 0000000..2cf7a7f
Binary files /dev/null and b/Debug/FreeRTOS/org/Source/croutine.o differ
diff --git a/Debug/FreeRTOS/Source/croutine.su b/Debug/FreeRTOS/org/Source/croutine.su
similarity index 100%
rename from Debug/FreeRTOS/Source/croutine.su
rename to Debug/FreeRTOS/org/Source/croutine.su
diff --git a/Debug/FreeRTOS/org/Source/event_groups.d b/Debug/FreeRTOS/org/Source/event_groups.d
new file mode 100644
index 0000000..8e2c91f
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/event_groups.d
@@ -0,0 +1,61 @@
+FreeRTOS/org/Source/event_groups.o: ../FreeRTOS/org/Source/event_groups.c \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/timers.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/event_groups.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/timers.h
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/timers.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/event_groups.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/timers.h:
diff --git a/Debug/FreeRTOS/org/Source/event_groups.o b/Debug/FreeRTOS/org/Source/event_groups.o
new file mode 100644
index 0000000..bf9418f
Binary files /dev/null and b/Debug/FreeRTOS/org/Source/event_groups.o differ
diff --git a/Debug/FreeRTOS/Source/event_groups.su b/Debug/FreeRTOS/org/Source/event_groups.su
similarity index 100%
rename from Debug/FreeRTOS/Source/event_groups.su
rename to Debug/FreeRTOS/org/Source/event_groups.su
diff --git a/Debug/FreeRTOS/org/Source/list.d b/Debug/FreeRTOS/org/Source/list.d
new file mode 100644
index 0000000..e1816c9
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/list.d
@@ -0,0 +1,46 @@
+FreeRTOS/org/Source/list.o: ../FreeRTOS/org/Source/list.c \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h:
diff --git a/Debug/FreeRTOS/org/Source/list.o b/Debug/FreeRTOS/org/Source/list.o
new file mode 100644
index 0000000..097e659
Binary files /dev/null and b/Debug/FreeRTOS/org/Source/list.o differ
diff --git a/Debug/FreeRTOS/Source/list.su b/Debug/FreeRTOS/org/Source/list.su
similarity index 100%
rename from Debug/FreeRTOS/Source/list.su
rename to Debug/FreeRTOS/org/Source/list.su
diff --git a/Debug/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.d b/Debug/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.d
new file mode 100644
index 0000000..d4c76b0
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.d
@@ -0,0 +1,50 @@
+FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.o: \
+ ../FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.c \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h:
diff --git a/Debug/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.o b/Debug/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.o
new file mode 100644
index 0000000..3d24442
Binary files /dev/null and b/Debug/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.o differ
diff --git a/Debug/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.su b/Debug/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.su
similarity index 77%
rename from Debug/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.su
rename to Debug/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.su
index 60b4302..bc00196 100644
--- a/Debug/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.su
+++ b/Debug/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.su
@@ -8,6 +8,6 @@ port.c:408:6:vPortEnterCritical 16 static,ignoring_inline_asm
port.c:425:6:vPortExitCritical 16 static,ignoring_inline_asm
port.c:437:6:PendSV_Handler 0 static,ignoring_inline_asm
port.c:494:6:SysTick_Handler 16 static,ignoring_inline_asm
-port.c:688:32:vPortSetupTimerInterrupt 4 static
-port.c:710:13:vPortEnableVFP 0 static,ignoring_inline_asm
-port.c:727:10:vPortValidateInterruptPriority 24 static,ignoring_inline_asm
+port.c:693:32:vPortSetupTimerInterrupt 4 static
+port.c:715:13:vPortEnableVFP 0 static,ignoring_inline_asm
+port.c:732:10:vPortValidateInterruptPriority 24 static,ignoring_inline_asm
diff --git a/Debug/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/subdir.mk b/Debug/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/subdir.mk
new file mode 100644
index 0000000..52b7591
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/subdir.mk
@@ -0,0 +1,19 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.c
+
+OBJS += \
+./FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.o
+
+C_DEPS += \
+./FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.o: ../FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.c
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/org/Source/portable/GCC/ARM_CM4F/port.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
+
diff --git a/Debug/FreeRTOS/org/Source/portable/MemMang/heap_4.d b/Debug/FreeRTOS/org/Source/portable/MemMang/heap_4.d
new file mode 100644
index 0000000..344b375
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/portable/MemMang/heap_4.d
@@ -0,0 +1,50 @@
+FreeRTOS/org/Source/portable/MemMang/heap_4.o: \
+ ../FreeRTOS/org/Source/portable/MemMang/heap_4.c \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h:
diff --git a/Debug/FreeRTOS/org/Source/portable/MemMang/heap_4.o b/Debug/FreeRTOS/org/Source/portable/MemMang/heap_4.o
new file mode 100644
index 0000000..f67598e
Binary files /dev/null and b/Debug/FreeRTOS/org/Source/portable/MemMang/heap_4.o differ
diff --git a/Debug/FreeRTOS/Source/portable/MemMang/heap_4.su b/Debug/FreeRTOS/org/Source/portable/MemMang/heap_4.su
similarity index 100%
rename from Debug/FreeRTOS/Source/portable/MemMang/heap_4.su
rename to Debug/FreeRTOS/org/Source/portable/MemMang/heap_4.su
diff --git a/Debug/FreeRTOS/org/Source/portable/MemMang/subdir.mk b/Debug/FreeRTOS/org/Source/portable/MemMang/subdir.mk
new file mode 100644
index 0000000..803227b
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/portable/MemMang/subdir.mk
@@ -0,0 +1,19 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../FreeRTOS/org/Source/portable/MemMang/heap_4.c
+
+OBJS += \
+./FreeRTOS/org/Source/portable/MemMang/heap_4.o
+
+C_DEPS += \
+./FreeRTOS/org/Source/portable/MemMang/heap_4.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+FreeRTOS/org/Source/portable/MemMang/heap_4.o: ../FreeRTOS/org/Source/portable/MemMang/heap_4.c
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/org/Source/portable/MemMang/heap_4.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
+
diff --git a/Debug/FreeRTOS/org/Source/queue.d b/Debug/FreeRTOS/org/Source/queue.d
new file mode 100644
index 0000000..1b3cfa2
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/queue.d
@@ -0,0 +1,55 @@
+FreeRTOS/org/Source/queue.o: ../FreeRTOS/org/Source/queue.c \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/queue.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/queue.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h:
diff --git a/Debug/FreeRTOS/org/Source/queue.o b/Debug/FreeRTOS/org/Source/queue.o
new file mode 100644
index 0000000..16a6ecb
Binary files /dev/null and b/Debug/FreeRTOS/org/Source/queue.o differ
diff --git a/Debug/FreeRTOS/Source/queue.su b/Debug/FreeRTOS/org/Source/queue.su
similarity index 81%
rename from Debug/FreeRTOS/Source/queue.su
rename to Debug/FreeRTOS/org/Source/queue.su
index 6d838bc..741bccb 100644
--- a/Debug/FreeRTOS/Source/queue.su
+++ b/Debug/FreeRTOS/org/Source/queue.su
@@ -6,14 +6,14 @@ queue.c:522:19:xQueueCreateMutex 32 static
queue.c:616:16:xQueueGiveMutexRecursive 40 static,ignoring_inline_asm
queue.c:671:16:xQueueTakeMutexRecursive 40 static,ignoring_inline_asm
queue.c:744:19:xQueueCreateCountingSemaphore 32 static,ignoring_inline_asm
-queue.c:771:12:xQueueGenericSend 64 static,ignoring_inline_asm
+queue.c:771:12:xQueueGenericSend 72 static,ignoring_inline_asm
queue.c:983:12:xQueueGenericSendFromISR 72 static,ignoring_inline_asm
queue.c:1150:12:xQueueGiveFromISR 64 static,ignoring_inline_asm
-queue.c:1318:12:xQueueReceive 56 static,ignoring_inline_asm
-queue.c:1461:12:xQueueSemaphoreTake 64 static,ignoring_inline_asm
-queue.c:1680:12:xQueuePeek 64 static,ignoring_inline_asm
-queue.c:1831:12:xQueueReceiveFromISR 72 static,ignoring_inline_asm
-queue.c:1926:12:xQueuePeekFromISR 56 static,ignoring_inline_asm
+queue.c:1318:12:xQueueReceive 72 static,ignoring_inline_asm
+queue.c:1461:12:xQueueSemaphoreTake 80 static,ignoring_inline_asm
+queue.c:1680:12:xQueuePeek 80 static,ignoring_inline_asm
+queue.c:1831:12:xQueueReceiveFromISR 80 static,ignoring_inline_asm
+queue.c:1926:12:xQueuePeekFromISR 64 static,ignoring_inline_asm
queue.c:1981:13:uxQueueMessagesWaiting 24 static,ignoring_inline_asm
queue.c:1997:13:uxQueueSpacesAvailable 32 static,ignoring_inline_asm
queue.c:2014:13:uxQueueMessagesWaitingFromISR 32 static,ignoring_inline_asm
diff --git a/Debug/FreeRTOS/org/Source/stream_buffer.d b/Debug/FreeRTOS/org/Source/stream_buffer.d
new file mode 100644
index 0000000..bc31f25
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/stream_buffer.d
@@ -0,0 +1,53 @@
+FreeRTOS/org/Source/stream_buffer.o: \
+ ../FreeRTOS/org/Source/stream_buffer.c \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/stream_buffer.h
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/stream_buffer.h:
diff --git a/Debug/FreeRTOS/org/Source/stream_buffer.o b/Debug/FreeRTOS/org/Source/stream_buffer.o
new file mode 100644
index 0000000..d05118d
Binary files /dev/null and b/Debug/FreeRTOS/org/Source/stream_buffer.o differ
diff --git a/Debug/FreeRTOS/Source/stream_buffer.su b/Debug/FreeRTOS/org/Source/stream_buffer.su
similarity index 100%
rename from Debug/FreeRTOS/Source/stream_buffer.su
rename to Debug/FreeRTOS/org/Source/stream_buffer.su
diff --git a/Debug/FreeRTOS/org/Source/subdir.mk b/Debug/FreeRTOS/org/Source/subdir.mk
new file mode 100644
index 0000000..0064d37
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/subdir.mk
@@ -0,0 +1,49 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../FreeRTOS/org/Source/croutine.c \
+../FreeRTOS/org/Source/event_groups.c \
+../FreeRTOS/org/Source/list.c \
+../FreeRTOS/org/Source/queue.c \
+../FreeRTOS/org/Source/stream_buffer.c \
+../FreeRTOS/org/Source/tasks.c \
+../FreeRTOS/org/Source/timers.c
+
+OBJS += \
+./FreeRTOS/org/Source/croutine.o \
+./FreeRTOS/org/Source/event_groups.o \
+./FreeRTOS/org/Source/list.o \
+./FreeRTOS/org/Source/queue.o \
+./FreeRTOS/org/Source/stream_buffer.o \
+./FreeRTOS/org/Source/tasks.o \
+./FreeRTOS/org/Source/timers.o
+
+C_DEPS += \
+./FreeRTOS/org/Source/croutine.d \
+./FreeRTOS/org/Source/event_groups.d \
+./FreeRTOS/org/Source/list.d \
+./FreeRTOS/org/Source/queue.d \
+./FreeRTOS/org/Source/stream_buffer.d \
+./FreeRTOS/org/Source/tasks.d \
+./FreeRTOS/org/Source/timers.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+FreeRTOS/org/Source/croutine.o: ../FreeRTOS/org/Source/croutine.c
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/org/Source/croutine.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
+FreeRTOS/org/Source/event_groups.o: ../FreeRTOS/org/Source/event_groups.c
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/org/Source/event_groups.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
+FreeRTOS/org/Source/list.o: ../FreeRTOS/org/Source/list.c
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/org/Source/list.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
+FreeRTOS/org/Source/queue.o: ../FreeRTOS/org/Source/queue.c
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/org/Source/queue.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
+FreeRTOS/org/Source/stream_buffer.o: ../FreeRTOS/org/Source/stream_buffer.c
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/org/Source/stream_buffer.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
+FreeRTOS/org/Source/tasks.o: ../FreeRTOS/org/Source/tasks.c
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/org/Source/tasks.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
+FreeRTOS/org/Source/timers.o: ../FreeRTOS/org/Source/timers.c
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DSTM32 -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DSTM32F407G_DISC1 -DSTM32F4 -DSTM32F407VGTx -DDEBUG -c -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/core" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/CMSIS/device" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/startup" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/StdPeriph_Driver/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS" -I"/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"FreeRTOS/org/Source/timers.d" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
+
diff --git a/Debug/FreeRTOS/org/Source/tasks.d b/Debug/FreeRTOS/org/Source/tasks.d
new file mode 100644
index 0000000..5b7f880
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/tasks.d
@@ -0,0 +1,58 @@
+FreeRTOS/org/Source/tasks.o: ../FreeRTOS/org/Source/tasks.c \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/timers.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/stack_macros.h
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/timers.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/stack_macros.h:
diff --git a/Debug/FreeRTOS/org/Source/tasks.o b/Debug/FreeRTOS/org/Source/tasks.o
new file mode 100644
index 0000000..368eb64
Binary files /dev/null and b/Debug/FreeRTOS/org/Source/tasks.o differ
diff --git a/Debug/FreeRTOS/org/Source/tasks.su b/Debug/FreeRTOS/org/Source/tasks.su
new file mode 100644
index 0000000..02faa90
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/tasks.su
@@ -0,0 +1,62 @@
+tasks.c:737:16:xTaskCreate 56 static
+tasks.c:828:13:prvInitialiseNewTask 40 static,ignoring_inline_asm
+tasks.c:1079:13:prvAddNewTaskToReadyList 32 static,ignoring_inline_asm
+tasks.c:1165:10:vTaskDelete 24 static,ignoring_inline_asm
+tasks.c:1260:16:xTaskDelayUntil 48 static,ignoring_inline_asm
+tasks.c:1347:10:vTaskDelay 24 static,ignoring_inline_asm
+tasks.c:1392:16:eTaskGetState 48 static,ignoring_inline_asm
+tasks.c:1489:17:uxTaskPriorityGet 24 static
+tasks.c:1511:17:uxTaskPriorityGetFromISR 40 static,ignoring_inline_asm
+tasks.c:1551:10:vTaskPrioritySet 48 static,ignoring_inline_asm
+tasks.c:1718:10:vTaskSuspend 32 static,ignoring_inline_asm
+tasks.c:1824:23:prvTaskIsTaskSuspended 32 static,ignoring_inline_asm
+tasks.c:1870:10:vTaskResume 24 static,ignoring_inline_asm
+tasks.c:1924:16:xTaskResumeFromISR 48 static,ignoring_inline_asm
+tasks.c:1999:6:vTaskStartScheduler 32 static,ignoring_inline_asm
+tasks.c:2127:6:vTaskEndScheduler 16 static,ignoring_inline_asm
+tasks.c:2138:6:vTaskSuspendAll 4 static,ignoring_inline_asm
+tasks.c:2222:12:xTaskResumeAll 24 static,ignoring_inline_asm
+tasks.c:2333:12:xTaskGetTickCount 16 static
+tasks.c:2348:12:xTaskGetTickCountFromISR 16 static
+tasks.c:2379:13:uxTaskGetNumberOfTasks 4 static
+tasks.c:2387:8:pcTaskGetName 24 static,ignoring_inline_asm
+tasks.c:2534:17:uxTaskGetSystemState 32 static
+tasks.c:2609:18:xTaskGetIdleTaskHandle 16 static,ignoring_inline_asm
+tasks.c:2639:12:xTaskCatchUpTicks 24 static,ignoring_inline_asm
+tasks.c:2737:12:xTaskIncrementTick 32 static,ignoring_inline_asm
+tasks.c:3022:6:vTaskSwitchContext 32 static,ignoring_inline_asm
+tasks.c:3098:6:vTaskPlaceOnEventList 24 static,ignoring_inline_asm
+tasks.c:3116:6:vTaskPlaceOnUnorderedEventList 32 static,ignoring_inline_asm
+tasks.c:3144:10:vTaskPlaceOnEventListRestricted 32 static,ignoring_inline_asm
+tasks.c:3177:12:xTaskRemoveFromEventList 32 static,ignoring_inline_asm
+tasks.c:3245:6:vTaskRemoveFromUnorderedEventList 32 static,ignoring_inline_asm
+tasks.c:3294:6:vTaskSetTimeOutState 24 static,ignoring_inline_asm
+tasks.c:3306:6:vTaskInternalSetTimeOutState 16 static
+tasks.c:3314:12:xTaskCheckForTimeOut 40 static,ignoring_inline_asm
+tasks.c:3379:6:vTaskMissedYield 4 static
+tasks.c:3387:17:uxTaskGetTaskNumber 24 static
+tasks.c:3410:10:vTaskSetTaskNumber 24 static
+tasks.c:3435:8:prvIdleTask 16 static,ignoring_inline_asm
+tasks.c:3660:13:prvInitialiseTaskLists 16 static
+tasks.c:3692:13:prvCheckTasksWaitingTermination 16 static
+tasks.c:3722:10:vTaskGetInfo 32 static
+tasks.c:3821:24:prvListTasksWithinSingleList 48 static
+tasks.c:3856:35:prvTaskCheckFreeStackSpace 24 static
+tasks.c:3943:11:pxTaskGetStackStart 24 static
+tasks.c:3958:17:prvDeleteTCB 16 static
+tasks.c:4014:13:prvResetNextTaskUnblockTime 4 static
+tasks.c:4037:18:xTaskGetCurrentTaskHandle 16 static
+tasks.c:4054:16:xTaskGetSchedulerState 16 static
+tasks.c:4082:16:xTaskPriorityInherit 24 static
+tasks.c:4173:16:xTaskPriorityDisinherit 32 static,ignoring_inline_asm
+tasks.c:4253:10:vTaskPriorityDisinheritAfterTimeout 40 static,ignoring_inline_asm
+tasks.c:4678:12:uxTaskResetEventItemValue 16 static
+tasks.c:4694:18:pvTaskIncrementMutexHeldCount 4 static
+tasks.c:4711:14:ulTaskGenericNotifyTake 32 static,ignoring_inline_asm
+tasks.c:4783:16:xTaskGenericNotifyWait 40 static,ignoring_inline_asm
+tasks.c:4869:16:xTaskGenericNotify 64 static,ignoring_inline_asm
+tasks.c:4992:16:xTaskGenericNotifyFromISR 80 static,ignoring_inline_asm
+tasks.c:5131:10:vTaskGenericNotifyGiveFromISR 64 static,ignoring_inline_asm
+tasks.c:5220:16:xTaskGenericNotifyStateClear 32 static,ignoring_inline_asm
+tasks.c:5254:14:ulTaskGenericNotifyValueClear 32 static
+tasks.c:5290:13:prvAddCurrentTaskToDelayedList 24 static
diff --git a/Debug/FreeRTOS/org/Source/timers.d b/Debug/FreeRTOS/org/Source/timers.d
new file mode 100644
index 0000000..e2a9cb8
--- /dev/null
+++ b/Debug/FreeRTOS/org/Source/timers.d
@@ -0,0 +1,58 @@
+FreeRTOS/org/Source/timers.o: ../FreeRTOS/org/Source/timers.c \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/queue.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h \
+ /home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/timers.h
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/inc/FreeRTOSConfig.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/OS/SEGGER_SYSVIEW_FreeRTOS.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/Global.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/SEGGER/SEGGER_SYSVIEW_ConfDefaults.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_SYSVIEW_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/SEGGER/Config/SEGGER_RTT_Conf.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/projdefs.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/portable.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/deprecated_definitions.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/portable/GCC/ARM_CM4F/portmacro.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/mpu_wrappers.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/list.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/queue.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/task.h:
+
+/home/admirer/Desktop/master_mcu_stm32/FreeRTOS_STM32_Porting/FreeRTOS_STM32_Porting/FreeRTOS/org/Source/include/timers.h:
diff --git a/Debug/FreeRTOS/org/Source/timers.o b/Debug/FreeRTOS/org/Source/timers.o
new file mode 100644
index 0000000..6379744
Binary files /dev/null and b/Debug/FreeRTOS/org/Source/timers.o differ
diff --git a/Debug/FreeRTOS/Source/timers.su b/Debug/FreeRTOS/org/Source/timers.su
similarity index 100%
rename from Debug/FreeRTOS/Source/timers.su
rename to Debug/FreeRTOS/org/Source/timers.su
diff --git a/Debug/FreeRTOS_STM32_Porting.bin b/Debug/FreeRTOS_STM32_Porting.bin
index 18ea123..ce246d2 100755
Binary files a/Debug/FreeRTOS_STM32_Porting.bin and b/Debug/FreeRTOS_STM32_Porting.bin differ
diff --git a/Debug/FreeRTOS_STM32_Porting.elf b/Debug/FreeRTOS_STM32_Porting.elf
index 25ad84c..3ad30ed 100755
Binary files a/Debug/FreeRTOS_STM32_Porting.elf and b/Debug/FreeRTOS_STM32_Porting.elf differ
diff --git a/Debug/FreeRTOS_STM32_Porting.list b/Debug/FreeRTOS_STM32_Porting.list
index b5dfc7e..37795d0 100644
--- a/Debug/FreeRTOS_STM32_Porting.list
+++ b/Debug/FreeRTOS_STM32_Porting.list
@@ -5,45 +5,45 @@ Sections:
Idx Name Size VMA LMA File off Algn
0 .isr_vector 000001c4 08000000 08000000 00010000 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 1 .text 000033b4 080001d0 080001d0 000101d0 2**4
+ 1 .text 000069ec 080001d0 080001d0 000101d0 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .rodata 00000088 08003584 08003584 00013584 2**2
+ 2 .rodata 000001ec 08006bbc 08006bbc 00016bbc 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 3 .ARM.extab 00000000 0800360c 0800360c 00020030 2**0
+ 3 .ARM.extab 00000000 08006da8 08006da8 00020184 2**0
CONTENTS
- 4 .ARM 00000000 0800360c 0800360c 00020030 2**0
+ 4 .ARM 00000000 08006da8 08006da8 00020184 2**0
CONTENTS
- 5 .preinit_array 00000000 0800360c 0800360c 00020030 2**0
+ 5 .preinit_array 00000000 08006da8 08006da8 00020184 2**0
CONTENTS, ALLOC, LOAD, DATA
- 6 .init_array 00000004 0800360c 0800360c 0001360c 2**2
+ 6 .init_array 00000004 08006da8 08006da8 00016da8 2**2
CONTENTS, ALLOC, LOAD, DATA
- 7 .fini_array 00000004 08003610 08003610 00013610 2**2
+ 7 .fini_array 00000004 08006dac 08006dac 00016dac 2**2
CONTENTS, ALLOC, LOAD, DATA
- 8 .data 00000030 20000000 08003614 00020000 2**2
+ 8 .data 00000184 20000000 08006db0 00020000 2**2
CONTENTS, ALLOC, LOAD, DATA
- 9 .bss 00012dd4 20000030 08003644 00020030 2**2
+ 9 .bss 00015c80 20000184 08006f34 00020184 2**2
ALLOC
- 10 ._user_heap_stack 00000604 20012e04 08003644 00022e04 2**0
+ 10 ._user_heap_stack 00000604 20015e04 08006f34 00025e04 2**0
ALLOC
- 11 .ARM.attributes 00000030 00000000 00000000 00020030 2**0
+ 11 .ARM.attributes 00000030 00000000 00000000 00020184 2**0
CONTENTS, READONLY
- 12 .debug_info 0000ad57 00000000 00000000 00020060 2**0
+ 12 .debug_info 00013ec1 00000000 00000000 000201b4 2**0
CONTENTS, READONLY, DEBUGGING
- 13 .debug_abbrev 0000183d 00000000 00000000 0002adb7 2**0
+ 13 .debug_abbrev 00002661 00000000 00000000 00034075 2**0
CONTENTS, READONLY, DEBUGGING
- 14 .debug_aranges 00000910 00000000 00000000 0002c5f8 2**3
+ 14 .debug_aranges 00001080 00000000 00000000 000366d8 2**3
CONTENTS, READONLY, DEBUGGING
- 15 .debug_ranges 00000858 00000000 00000000 0002cf08 2**3
+ 15 .debug_ranges 00000f48 00000000 00000000 00037758 2**3
CONTENTS, READONLY, DEBUGGING
- 16 .debug_macro 00001d92 00000000 00000000 0002d760 2**0
+ 16 .debug_macro 000040b7 00000000 00000000 000386a0 2**0
CONTENTS, READONLY, DEBUGGING
- 17 .debug_line 000076a7 00000000 00000000 0002f4f2 2**0
+ 17 .debug_line 0000ceff 00000000 00000000 0003c757 2**0
CONTENTS, READONLY, DEBUGGING
- 18 .debug_str 0006bba9 00000000 00000000 00036b99 2**0
+ 18 .debug_str 000752ea 00000000 00000000 00049656 2**0
CONTENTS, READONLY, DEBUGGING
- 19 .comment 0000007b 00000000 00000000 000a2742 2**0
+ 19 .comment 0000007b 00000000 00000000 000be940 2**0
CONTENTS, READONLY
- 20 .debug_frame 00002614 00000000 00000000 000a27c0 2**2
+ 20 .debug_frame 00004a04 00000000 00000000 000be9bc 2**2
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
@@ -60,9 +60,9 @@ Disassembly of section .text:
80001e2: 2301 movs r3, #1
80001e4: 7023 strb r3, [r4, #0]
80001e6: bd10 pop {r4, pc}
- 80001e8: 20000030 .word 0x20000030
+ 80001e8: 20000184 .word 0x20000184
80001ec: 00000000 .word 0x00000000
- 80001f0: 0800356c .word 0x0800356c
+ 80001f0: 08006ba4 .word 0x08006ba4
080001f4 :
80001f4: b508 push {r3, lr}
@@ -73,9476 +73,17676 @@ Disassembly of section .text:
80001fe: f3af 8000 nop.w
8000202: bd08 pop {r3, pc}
8000204: 00000000 .word 0x00000000
- 8000208: 20000034 .word 0x20000034
- 800020c: 0800356c .word 0x0800356c
-
-08000210 :
- 8000210: 4603 mov r3, r0
- 8000212: f813 2b01 ldrb.w r2, [r3], #1
- 8000216: 2a00 cmp r2, #0
- 8000218: d1fb bne.n 8000212
- 800021a: 1a18 subs r0, r3, r0
- 800021c: 3801 subs r0, #1
- 800021e: 4770 bx lr
-
-08000220 :
+ 8000208: 20000188 .word 0x20000188
+ 800020c: 08006ba4 .word 0x08006ba4
+
+08000210 :
+ // R4
+ // R5 pRing->pBuffer
+ // R6 pRing (Points to active struct SEGGER_RTT_BUFFER_DOWN)
+ // R7 WrOff
+ //
+ PUSH {R4-R7}
+ 8000210: b4f0 push {r4, r5, r6, r7}
+ ADD R3,R0,R0, LSL #+1
+ 8000212: eb00 0340 add.w r3, r0, r0, lsl #1
+ LDR.W R0,=_SEGGER_RTT // pRing = &_SEGGER_RTT.aUp[BufferIndex];
+ 8000216: f8df 0088 ldr.w r0, [pc, #136] ; 80002a0 <_Case3+0x6>
+ ADD R0,R0,R3, LSL #+3
+ 800021a: eb00 00c3 add.w r0, r0, r3, lsl #3
+ ADD R6,R0,#+24
+ 800021e: f100 0618 add.w r6, r0, #24
+ LDR R0,[R6, #+16] // RdOff = pRing->RdOff;
+ 8000222: 6930 ldr r0, [r6, #16]
+ LDR R7,[R6, #+12] // WrOff = pRing->WrOff;
+ 8000224: 68f7 ldr r7, [r6, #12]
+ LDR R5,[R6, #+4] // pRing->pBuffer
+ 8000226: 6875 ldr r5, [r6, #4]
+ CMP R7,R0
+ 8000228: 4287 cmp r7, r0
+ BCC.N _CheckCase4 // if (RdOff <= WrOff) { => Case 1), 2) or 3)
+ 800022a: d332 bcc.n 8000292 <_CheckCase4>
+ //
+ // Handling for case 1, later on identical to case 4
+ //
+ LDR R3,[R6, #+8] // Avail = pRing->SizeOfBuffer - WrOff - 1u; => Space until wrap-around (assume 1 byte not usable for case that RdOff == 0)
+ 800022c: 68b3 ldr r3, [r6, #8]
+ SUBS R4,R3,R7 // (Used in case we jump into case 2 afterwards)
+ 800022e: 1bdc subs r4, r3, r7
+ SUBS R3,R4,#+1 //
+ 8000230: 1e63 subs r3, r4, #1
+ CMP R3,R2
+ 8000232: 4293 cmp r3, r2
+ BCC.N _CheckCase2 // if (Avail >= NumBytes) { => Case 1)?
+ 8000234: d314 bcc.n 8000260 <_CheckCase2>
+
+08000236 <_Case4>:
+_Case4:
+ ADDS R5,R7,R5 // pBuffer += WrOff
+ 8000236: 197d adds r5, r7, r5
+ ADDS R0,R2,R7 // v = WrOff + NumBytes
+ 8000238: 19d0 adds r0, r2, r7
+ 800023a: bf00 nop
+
+0800023c <_LoopCopyStraight>:
+ // 2x unrolling for the copy loop that is used most of the time
+ // This is a special optimization for small SystemView packets and makes them even faster
+ //
+ _ALIGN(2)
+_LoopCopyStraight: // memcpy(pRing->pBuffer + WrOff, pData, NumBytes);
+ LDRB R3,[R1], #+1
+ 800023c: f811 3b01 ldrb.w r3, [r1], #1
+ STRB R3,[R5], #+1 // *pDest++ = *pSrc++
+ 8000240: f805 3b01 strb.w r3, [r5], #1
+ SUBS R2,R2,#+1
+ 8000244: 3a01 subs r2, #1
+ BEQ _CSDone
+ 8000246: d005 beq.n 8000254 <_CSDone>
+ LDRB R3,[R1], #+1
+ 8000248: f811 3b01 ldrb.w r3, [r1], #1
+ STRB R3,[R5], #+1 // *pDest++ = *pSrc++
+ 800024c: f805 3b01 strb.w r3, [r5], #1
+ SUBS R2,R2,#+1
+ 8000250: 3a01 subs r2, #1
+ BNE _LoopCopyStraight
+ 8000252: d1f3 bne.n 800023c <_LoopCopyStraight>
+
+08000254 <_CSDone>:
+_CSDone:
+#if _CORE_NEEDS_DMB // Do not slow down cores that do not need a DMB instruction here
+ DMB // Cortex-M7 may delay memory writes and also change the order in which the writes happen. Therefore, make sure that all buffer writes are finished, before updating the in the struct
+ 8000254: f3bf 8f5f dmb sy
+#endif
+ STR R0,[R6, #+12] // pRing->WrOff = WrOff + NumBytes;
+ 8000258: 60f0 str r0, [r6, #12]
+ MOVS R0,#+1
+ 800025a: 2001 movs r0, #1
+ POP {R4-R7}
+ 800025c: bcf0 pop {r4, r5, r6, r7}
+ BX LR // Return 1
+ 800025e: 4770 bx lr
+
+08000260 <_CheckCase2>:
+_CheckCase2:
+ ADDS R0,R0,R3 // Avail += RdOff; => Space incl. wrap-around
+ 8000260: 18c0 adds r0, r0, r3
+ CMP R0,R2
+ 8000262: 4290 cmp r0, r2
+ BCC.N _Case3 // if (Avail >= NumBytes) { => Case 2? => If not, we have case 3) (does not fit)
+ 8000264: d319 bcc.n 800029a <_Case3>
+ //
+ // Handling for case 2
+ //
+ ADDS R0,R7,R5 // v = pRing->pBuffer + WrOff => Do not change pRing->pBuffer here because 2nd chunk needs org. value
+ 8000266: 1978 adds r0, r7, r5
+ SUBS R2,R2,R4 // NumBytes -= Rem; (Rem = pRing->SizeOfBuffer - WrOff; => Space until end of buffer)
+ 8000268: 1b12 subs r2, r2, r4
+
+0800026a <_LoopCopyBeforeWrapAround>:
+_LoopCopyBeforeWrapAround: // memcpy(pRing->pBuffer + WrOff, pData, Rem); => Copy 1st chunk
+ LDRB R3,[R1], #+1
+ 800026a: f811 3b01 ldrb.w r3, [r1], #1
+ STRB R3,[R0], #+1 // *pDest++ = *pSrc++
+ 800026e: f800 3b01 strb.w r3, [r0], #1
+ SUBS R4,R4,#+1
+ 8000272: 3c01 subs r4, #1
+ BNE _LoopCopyBeforeWrapAround
+ 8000274: d1f9 bne.n 800026a <_LoopCopyBeforeWrapAround>
+ // Special case: First check that assumed RdOff == 0 calculated that last element before wrap-around could not be used
+ // But 2nd check (considering space until wrap-around and until RdOff) revealed that RdOff is not 0, so we can use the last element
+ // In this case, we may use a copy straight until buffer end anyway without needing to copy 2 chunks
+ // Therefore, check if 2nd memcpy is necessary at all
+ //
+ ADDS R4,R2,#+0 // Save (needed as counter in loop but must be written to after the loop). Also use this inst to update the flags to skip 2nd loop if possible
+ 8000276: 1c14 adds r4, r2, #0
+ BEQ.N _No2ChunkNeeded // if (NumBytes) {
+ 8000278: d005 beq.n 8000286 <_No2ChunkNeeded>
+
+0800027a <_LoopCopyAfterWrapAround>:
+_LoopCopyAfterWrapAround: // memcpy(pRing->pBuffer, pData + Rem, NumBytes);
+ LDRB R3,[R1], #+1 // pData already points to the next src byte due to copy loop increment before this loop
+ 800027a: f811 3b01 ldrb.w r3, [r1], #1
+ STRB R3,[R5], #+1 // *pDest++ = *pSrc++
+ 800027e: f805 3b01 strb.w r3, [r5], #1
+ SUBS R2,R2,#+1
+ 8000282: 3a01 subs r2, #1
+ BNE _LoopCopyAfterWrapAround
+ 8000284: d1f9 bne.n 800027a <_LoopCopyAfterWrapAround>
+
+08000286 <_No2ChunkNeeded>:
+_No2ChunkNeeded:
+#if _CORE_NEEDS_DMB // Do not slow down cores that do not need a DMB instruction here
+ DMB // Cortex-M7 may delay memory writes and also change the order in which the writes happen. Therefore, make sure that all buffer writes are finished, before updating the in the struct
+ 8000286: f3bf 8f5f dmb sy
+#endif
+ STR R4,[R6, #+12] // pRing->WrOff = NumBytes; => Must be written after copying data because J-Link may read control block asynchronously while writing into buffer
+ 800028a: 60f4 str r4, [r6, #12]
+ MOVS R0,#+1
+ 800028c: 2001 movs r0, #1
+ POP {R4-R7}
+ 800028e: bcf0 pop {r4, r5, r6, r7}
+ BX LR // Return 1
+ 8000290: 4770 bx lr
+
+08000292 <_CheckCase4>:
+_CheckCase4:
+ SUBS R0,R0,R7
+ 8000292: 1bc0 subs r0, r0, r7
+ SUBS R0,R0,#+1 // Avail = RdOff - WrOff - 1u;
+ 8000294: 3801 subs r0, #1
+ CMP R0,R2
+ 8000296: 4290 cmp r0, r2
+ BCS.N _Case4 // if (Avail >= NumBytes) { => Case 4) == 1) ? => If not, we have case 5) == 3) (does not fit)
+ 8000298: d2cd bcs.n 8000236 <_Case4>
+
+0800029a <_Case3>:
+_Case3:
+ MOVS R0,#+0
+ 800029a: 2000 movs r0, #0
+ POP {R4-R7}
+ 800029c: bcf0 pop {r4, r5, r6, r7}
+ BX LR // Return 0
+ 800029e: 4770 bx lr
+ LDR.W R0,=_SEGGER_RTT // pRing = &_SEGGER_RTT.aUp[BufferIndex];
+ 80002a0: 20015d44 .word 0x20015d44
+
+080002a4 :
+ 80002a4: 4603 mov r3, r0
+ 80002a6: f813 2b01 ldrb.w r2, [r3], #1
+ 80002aa: 2a00 cmp r2, #0
+ 80002ac: d1fb bne.n 80002a6
+ 80002ae: 1a18 subs r0, r3, r0
+ 80002b0: 3801 subs r0, #1
+ 80002b2: 4770 bx lr
+ ...
+
+080002c0 :
+ 80002c0: f001 01ff and.w r1, r1, #255 ; 0xff
+ 80002c4: 2a10 cmp r2, #16
+ 80002c6: db2b blt.n 8000320
+ 80002c8: f010 0f07 tst.w r0, #7
+ 80002cc: d008 beq.n 80002e0
+ 80002ce: f810 3b01 ldrb.w r3, [r0], #1
+ 80002d2: 3a01 subs r2, #1
+ 80002d4: 428b cmp r3, r1
+ 80002d6: d02d beq.n 8000334
+ 80002d8: f010 0f07 tst.w r0, #7
+ 80002dc: b342 cbz r2, 8000330
+ 80002de: d1f6 bne.n 80002ce
+ 80002e0: b4f0 push {r4, r5, r6, r7}
+ 80002e2: ea41 2101 orr.w r1, r1, r1, lsl #8
+ 80002e6: ea41 4101 orr.w r1, r1, r1, lsl #16
+ 80002ea: f022 0407 bic.w r4, r2, #7
+ 80002ee: f07f 0700 mvns.w r7, #0
+ 80002f2: 2300 movs r3, #0
+ 80002f4: e8f0 5602 ldrd r5, r6, [r0], #8
+ 80002f8: 3c08 subs r4, #8
+ 80002fa: ea85 0501 eor.w r5, r5, r1
+ 80002fe: ea86 0601 eor.w r6, r6, r1
+ 8000302: fa85 f547 uadd8 r5, r5, r7
+ 8000306: faa3 f587 sel r5, r3, r7
+ 800030a: fa86 f647 uadd8 r6, r6, r7
+ 800030e: faa5 f687 sel r6, r5, r7
+ 8000312: b98e cbnz r6, 8000338
+ 8000314: d1ee bne.n 80002f4
+ 8000316: bcf0 pop {r4, r5, r6, r7}
+ 8000318: f001 01ff and.w r1, r1, #255 ; 0xff
+ 800031c: f002 0207 and.w r2, r2, #7
+ 8000320: b132 cbz r2, 8000330
+ 8000322: f810 3b01 ldrb.w r3, [r0], #1
+ 8000326: 3a01 subs r2, #1
+ 8000328: ea83 0301 eor.w r3, r3, r1
+ 800032c: b113 cbz r3, 8000334
+ 800032e: d1f8 bne.n 8000322
+ 8000330: 2000 movs r0, #0
+ 8000332: 4770 bx lr
+ 8000334: 3801 subs r0, #1
+ 8000336: 4770 bx lr
+ 8000338: 2d00 cmp r5, #0
+ 800033a: bf06 itte eq
+ 800033c: 4635 moveq r5, r6
+ 800033e: 3803 subeq r0, #3
+ 8000340: 3807 subne r0, #7
+ 8000342: f015 0f01 tst.w r5, #1
+ 8000346: d107 bne.n 8000358
+ 8000348: 3001 adds r0, #1
+ 800034a: f415 7f80 tst.w r5, #256 ; 0x100
+ 800034e: bf02 ittt eq
+ 8000350: 3001 addeq r0, #1
+ 8000352: f415 3fc0 tsteq.w r5, #98304 ; 0x18000
+ 8000356: 3001 addeq r0, #1
+ 8000358: bcf0 pop {r4, r5, r6, r7}
+ 800035a: 3801 subs r0, #1
+ 800035c: 4770 bx lr
+ 800035e: bf00 nop
+
+08000360 :
/*-----------------------------------------------------------
* PUBLIC LIST API documented in list.h
*----------------------------------------------------------*/
void vListInitialise( List_t * const pxList )
{
- 8000220: b480 push {r7}
- 8000222: b083 sub sp, #12
- 8000224: af00 add r7, sp, #0
- 8000226: 6078 str r0, [r7, #4]
+ 8000360: b480 push {r7}
+ 8000362: b083 sub sp, #12
+ 8000364: af00 add r7, sp, #0
+ 8000366: 6078 str r0, [r7, #4]
/* The list structure contains a list item which is used to mark the
* end of the list. To initialise the list the list end is inserted
* as the only list entry. */
pxList->pxIndex = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */
- 8000228: 687b ldr r3, [r7, #4]
- 800022a: f103 0208 add.w r2, r3, #8
- 800022e: 687b ldr r3, [r7, #4]
- 8000230: 605a str r2, [r3, #4]
+ 8000368: 687b ldr r3, [r7, #4]
+ 800036a: f103 0208 add.w r2, r3, #8
+ 800036e: 687b ldr r3, [r7, #4]
+ 8000370: 605a str r2, [r3, #4]
/* The list end value is the highest possible value in the list to
* ensure it remains at the end of the list. */
pxList->xListEnd.xItemValue = portMAX_DELAY;
- 8000232: 687b ldr r3, [r7, #4]
- 8000234: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff
- 8000238: 609a str r2, [r3, #8]
+ 8000372: 687b ldr r3, [r7, #4]
+ 8000374: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff
+ 8000378: 609a str r2, [r3, #8]
/* The list end next and previous pointers point to itself so we know
* when the list is empty. */
pxList->xListEnd.pxNext = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */
- 800023a: 687b ldr r3, [r7, #4]
- 800023c: f103 0208 add.w r2, r3, #8
- 8000240: 687b ldr r3, [r7, #4]
- 8000242: 60da str r2, [r3, #12]
+ 800037a: 687b ldr r3, [r7, #4]
+ 800037c: f103 0208 add.w r2, r3, #8
+ 8000380: 687b ldr r3, [r7, #4]
+ 8000382: 60da str r2, [r3, #12]
pxList->xListEnd.pxPrevious = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */
- 8000244: 687b ldr r3, [r7, #4]
- 8000246: f103 0208 add.w r2, r3, #8
- 800024a: 687b ldr r3, [r7, #4]
- 800024c: 611a str r2, [r3, #16]
+ 8000384: 687b ldr r3, [r7, #4]
+ 8000386: f103 0208 add.w r2, r3, #8
+ 800038a: 687b ldr r3, [r7, #4]
+ 800038c: 611a str r2, [r3, #16]
pxList->uxNumberOfItems = ( UBaseType_t ) 0U;
- 800024e: 687b ldr r3, [r7, #4]
- 8000250: 2200 movs r2, #0
- 8000252: 601a str r2, [r3, #0]
+ 800038e: 687b ldr r3, [r7, #4]
+ 8000390: 2200 movs r2, #0
+ 8000392: 601a str r2, [r3, #0]
/* Write known values into the list if
* configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */
listSET_LIST_INTEGRITY_CHECK_1_VALUE( pxList );
listSET_LIST_INTEGRITY_CHECK_2_VALUE( pxList );
}
- 8000254: bf00 nop
- 8000256: 370c adds r7, #12
- 8000258: 46bd mov sp, r7
- 800025a: f85d 7b04 ldr.w r7, [sp], #4
- 800025e: 4770 bx lr
+ 8000394: bf00 nop
+ 8000396: 370c adds r7, #12
+ 8000398: 46bd mov sp, r7
+ 800039a: f85d 7b04 ldr.w r7, [sp], #4
+ 800039e: 4770 bx lr
-08000260 :
+080003a0 :
/*-----------------------------------------------------------*/
void vListInitialiseItem( ListItem_t * const pxItem )
{
- 8000260: b480 push {r7}
- 8000262: b083 sub sp, #12
- 8000264: af00 add r7, sp, #0
- 8000266: 6078 str r0, [r7, #4]
+ 80003a0: b480 push {r7}
+ 80003a2: b083 sub sp, #12
+ 80003a4: af00 add r7, sp, #0
+ 80003a6: 6078 str r0, [r7, #4]
/* Make sure the list item is not recorded as being on a list. */
pxItem->pxContainer = NULL;
- 8000268: 687b ldr r3, [r7, #4]
- 800026a: 2200 movs r2, #0
- 800026c: 611a str r2, [r3, #16]
+ 80003a8: 687b ldr r3, [r7, #4]
+ 80003aa: 2200 movs r2, #0
+ 80003ac: 611a str r2, [r3, #16]
/* Write known values into the list item if
* configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */
listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem );
listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem );
}
- 800026e: bf00 nop
- 8000270: 370c adds r7, #12
- 8000272: 46bd mov sp, r7
- 8000274: f85d 7b04 ldr.w r7, [sp], #4
- 8000278: 4770 bx lr
+ 80003ae: bf00 nop
+ 80003b0: 370c adds r7, #12
+ 80003b2: 46bd mov sp, r7
+ 80003b4: f85d 7b04 ldr.w r7, [sp], #4
+ 80003b8: 4770 bx lr
-0800027a :
+080003ba :
/*-----------------------------------------------------------*/
void vListInsertEnd( List_t * const pxList,
ListItem_t * const pxNewListItem )
{
- 800027a: b480 push {r7}
- 800027c: b085 sub sp, #20
- 800027e: af00 add r7, sp, #0
- 8000280: 6078 str r0, [r7, #4]
- 8000282: 6039 str r1, [r7, #0]
+ 80003ba: b480 push {r7}
+ 80003bc: b085 sub sp, #20
+ 80003be: af00 add r7, sp, #0
+ 80003c0: 6078 str r0, [r7, #4]
+ 80003c2: 6039 str r1, [r7, #0]
ListItem_t * const pxIndex = pxList->pxIndex;
- 8000284: 687b ldr r3, [r7, #4]
- 8000286: 685b ldr r3, [r3, #4]
- 8000288: 60fb str r3, [r7, #12]
+ 80003c4: 687b ldr r3, [r7, #4]
+ 80003c6: 685b ldr r3, [r3, #4]
+ 80003c8: 60fb str r3, [r7, #12]
listTEST_LIST_ITEM_INTEGRITY( pxNewListItem );
/* Insert a new list item into pxList, but rather than sort the list,
* makes the new list item the last item to be removed by a call to
* listGET_OWNER_OF_NEXT_ENTRY(). */
pxNewListItem->pxNext = pxIndex;
- 800028a: 683b ldr r3, [r7, #0]
- 800028c: 68fa ldr r2, [r7, #12]
- 800028e: 605a str r2, [r3, #4]
+ 80003ca: 683b ldr r3, [r7, #0]
+ 80003cc: 68fa ldr r2, [r7, #12]
+ 80003ce: 605a str r2, [r3, #4]
pxNewListItem->pxPrevious = pxIndex->pxPrevious;
- 8000290: 68fb ldr r3, [r7, #12]
- 8000292: 689a ldr r2, [r3, #8]
- 8000294: 683b ldr r3, [r7, #0]
- 8000296: 609a str r2, [r3, #8]
+ 80003d0: 68fb ldr r3, [r7, #12]
+ 80003d2: 689a ldr r2, [r3, #8]
+ 80003d4: 683b ldr r3, [r7, #0]
+ 80003d6: 609a str r2, [r3, #8]
/* Only used during decision coverage testing. */
mtCOVERAGE_TEST_DELAY();
pxIndex->pxPrevious->pxNext = pxNewListItem;
- 8000298: 68fb ldr r3, [r7, #12]
- 800029a: 689b ldr r3, [r3, #8]
- 800029c: 683a ldr r2, [r7, #0]
- 800029e: 605a str r2, [r3, #4]
+ 80003d8: 68fb ldr r3, [r7, #12]
+ 80003da: 689b ldr r3, [r3, #8]
+ 80003dc: 683a ldr r2, [r7, #0]
+ 80003de: 605a str r2, [r3, #4]
pxIndex->pxPrevious = pxNewListItem;
- 80002a0: 68fb ldr r3, [r7, #12]
- 80002a2: 683a ldr r2, [r7, #0]
- 80002a4: 609a str r2, [r3, #8]
+ 80003e0: 68fb ldr r3, [r7, #12]
+ 80003e2: 683a ldr r2, [r7, #0]
+ 80003e4: 609a str r2, [r3, #8]
/* Remember which list the item is in. */
pxNewListItem->pxContainer = pxList;
- 80002a6: 683b ldr r3, [r7, #0]
- 80002a8: 687a ldr r2, [r7, #4]
- 80002aa: 611a str r2, [r3, #16]
+ 80003e6: 683b ldr r3, [r7, #0]
+ 80003e8: 687a ldr r2, [r7, #4]
+ 80003ea: 611a str r2, [r3, #16]
( pxList->uxNumberOfItems )++;
- 80002ac: 687b ldr r3, [r7, #4]
- 80002ae: 681b ldr r3, [r3, #0]
- 80002b0: 1c5a adds r2, r3, #1
- 80002b2: 687b ldr r3, [r7, #4]
- 80002b4: 601a str r2, [r3, #0]
-}
- 80002b6: bf00 nop
- 80002b8: 3714 adds r7, #20
- 80002ba: 46bd mov sp, r7
- 80002bc: f85d 7b04 ldr.w r7, [sp], #4
- 80002c0: 4770 bx lr
-
-080002c2 :
+ 80003ec: 687b ldr r3, [r7, #4]
+ 80003ee: 681b ldr r3, [r3, #0]
+ 80003f0: 1c5a adds r2, r3, #1
+ 80003f2: 687b ldr r3, [r7, #4]
+ 80003f4: 601a str r2, [r3, #0]
+}
+ 80003f6: bf00 nop
+ 80003f8: 3714 adds r7, #20
+ 80003fa: 46bd mov sp, r7
+ 80003fc: f85d 7b04 ldr.w r7, [sp], #4
+ 8000400: 4770 bx lr
+
+08000402 :
/*-----------------------------------------------------------*/
void vListInsert( List_t * const pxList,
ListItem_t * const pxNewListItem )
{
- 80002c2: b480 push {r7}
- 80002c4: b085 sub sp, #20
- 80002c6: af00 add r7, sp, #0
- 80002c8: 6078 str r0, [r7, #4]
- 80002ca: 6039 str r1, [r7, #0]
+ 8000402: b480 push {r7}
+ 8000404: b085 sub sp, #20
+ 8000406: af00 add r7, sp, #0
+ 8000408: 6078 str r0, [r7, #4]
+ 800040a: 6039 str r1, [r7, #0]
ListItem_t * pxIterator;
const TickType_t xValueOfInsertion = pxNewListItem->xItemValue;
- 80002cc: 683b ldr r3, [r7, #0]
- 80002ce: 681b ldr r3, [r3, #0]
- 80002d0: 60bb str r3, [r7, #8]
+ 800040c: 683b ldr r3, [r7, #0]
+ 800040e: 681b ldr r3, [r3, #0]
+ 8000410: 60bb str r3, [r7, #8]
* new list item should be placed after it. This ensures that TCBs which are
* stored in ready lists (all of which have the same xItemValue value) get a
* share of the CPU. However, if the xItemValue is the same as the back marker
* the iteration loop below will not end. Therefore the value is checked
* first, and the algorithm slightly modified if necessary. */
if( xValueOfInsertion == portMAX_DELAY )
- 80002d2: 68bb ldr r3, [r7, #8]
- 80002d4: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff
- 80002d8: d103 bne.n 80002e2
+ 8000412: 68bb ldr r3, [r7, #8]
+ 8000414: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff
+ 8000418: d103 bne.n 8000422
{
pxIterator = pxList->xListEnd.pxPrevious;
- 80002da: 687b ldr r3, [r7, #4]
- 80002dc: 691b ldr r3, [r3, #16]
- 80002de: 60fb str r3, [r7, #12]
- 80002e0: e00c b.n 80002fc
+ 800041a: 687b ldr r3, [r7, #4]
+ 800041c: 691b ldr r3, [r3, #16]
+ 800041e: 60fb str r3, [r7, #12]
+ 8000420: e00c b.n 800043c
* 4) Using a queue or semaphore before it has been initialised or
* before the scheduler has been started (are interrupts firing
* before vTaskStartScheduler() has been called?).
**********************************************************************/
for( pxIterator = ( ListItem_t * ) &( pxList->xListEnd ); pxIterator->pxNext->xItemValue <= xValueOfInsertion; pxIterator = pxIterator->pxNext ) /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. *//*lint !e440 The iterator moves to a different value, not xValueOfInsertion. */
- 80002e2: 687b ldr r3, [r7, #4]
- 80002e4: 3308 adds r3, #8
- 80002e6: 60fb str r3, [r7, #12]
- 80002e8: e002 b.n 80002f0
- 80002ea: 68fb ldr r3, [r7, #12]
- 80002ec: 685b ldr r3, [r3, #4]
- 80002ee: 60fb str r3, [r7, #12]
- 80002f0: 68fb ldr r3, [r7, #12]
- 80002f2: 685b ldr r3, [r3, #4]
- 80002f4: 681b ldr r3, [r3, #0]
- 80002f6: 68ba ldr r2, [r7, #8]
- 80002f8: 429a cmp r2, r3
- 80002fa: d2f6 bcs.n 80002ea
+ 8000422: 687b ldr r3, [r7, #4]
+ 8000424: 3308 adds r3, #8
+ 8000426: 60fb str r3, [r7, #12]
+ 8000428: e002 b.n 8000430
+ 800042a: 68fb ldr r3, [r7, #12]
+ 800042c: 685b ldr r3, [r3, #4]
+ 800042e: 60fb str r3, [r7, #12]
+ 8000430: 68fb ldr r3, [r7, #12]
+ 8000432: 685b ldr r3, [r3, #4]
+ 8000434: 681b ldr r3, [r3, #0]
+ 8000436: 68ba ldr r2, [r7, #8]
+ 8000438: 429a cmp r2, r3
+ 800043a: d2f6 bcs.n 800042a
/* There is nothing to do here, just iterating to the wanted
* insertion position. */
}
}
pxNewListItem->pxNext = pxIterator->pxNext;
- 80002fc: 68fb ldr r3, [r7, #12]
- 80002fe: 685a ldr r2, [r3, #4]
- 8000300: 683b ldr r3, [r7, #0]
- 8000302: 605a str r2, [r3, #4]
+ 800043c: 68fb ldr r3, [r7, #12]
+ 800043e: 685a ldr r2, [r3, #4]
+ 8000440: 683b ldr r3, [r7, #0]
+ 8000442: 605a str r2, [r3, #4]
pxNewListItem->pxNext->pxPrevious = pxNewListItem;
- 8000304: 683b ldr r3, [r7, #0]
- 8000306: 685b ldr r3, [r3, #4]
- 8000308: 683a ldr r2, [r7, #0]
- 800030a: 609a str r2, [r3, #8]
+ 8000444: 683b ldr r3, [r7, #0]
+ 8000446: 685b ldr r3, [r3, #4]
+ 8000448: 683a ldr r2, [r7, #0]
+ 800044a: 609a str r2, [r3, #8]
pxNewListItem->pxPrevious = pxIterator;
- 800030c: 683b ldr r3, [r7, #0]
- 800030e: 68fa ldr r2, [r7, #12]
- 8000310: 609a str r2, [r3, #8]
+ 800044c: 683b ldr r3, [r7, #0]
+ 800044e: 68fa ldr r2, [r7, #12]
+ 8000450: 609a str r2, [r3, #8]
pxIterator->pxNext = pxNewListItem;
- 8000312: 68fb ldr r3, [r7, #12]
- 8000314: 683a ldr r2, [r7, #0]
- 8000316: 605a str r2, [r3, #4]
+ 8000452: 68fb ldr r3, [r7, #12]
+ 8000454: 683a ldr r2, [r7, #0]
+ 8000456: 605a str r2, [r3, #4]
/* Remember which list the item is in. This allows fast removal of the
* item later. */
pxNewListItem->pxContainer = pxList;
- 8000318: 683b ldr r3, [r7, #0]
- 800031a: 687a ldr r2, [r7, #4]
- 800031c: 611a str r2, [r3, #16]
+ 8000458: 683b ldr r3, [r7, #0]
+ 800045a: 687a ldr r2, [r7, #4]
+ 800045c: 611a str r2, [r3, #16]
( pxList->uxNumberOfItems )++;
- 800031e: 687b ldr r3, [r7, #4]
- 8000320: 681b ldr r3, [r3, #0]
- 8000322: 1c5a adds r2, r3, #1
- 8000324: 687b ldr r3, [r7, #4]
- 8000326: 601a str r2, [r3, #0]
-}
- 8000328: bf00 nop
- 800032a: 3714 adds r7, #20
- 800032c: 46bd mov sp, r7
- 800032e: f85d 7b04 ldr.w r7, [sp], #4
- 8000332: 4770 bx lr
+ 800045e: 687b ldr r3, [r7, #4]
+ 8000460: 681b ldr r3, [r3, #0]
+ 8000462: 1c5a adds r2, r3, #1
+ 8000464: 687b ldr r3, [r7, #4]
+ 8000466: 601a str r2, [r3, #0]
+}
+ 8000468: bf00 nop
+ 800046a: 3714 adds r7, #20
+ 800046c: 46bd mov sp, r7
+ 800046e: f85d 7b04 ldr.w r7, [sp], #4
+ 8000472: 4770 bx lr
-08000334 :
+08000474 :
/*-----------------------------------------------------------*/
UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove )
{
- 8000334: b480 push {r7}
- 8000336: b085 sub sp, #20
- 8000338: af00 add r7, sp, #0
- 800033a: 6078 str r0, [r7, #4]
+ 8000474: b480 push {r7}
+ 8000476: b085 sub sp, #20
+ 8000478: af00 add r7, sp, #0
+ 800047a: 6078 str r0, [r7, #4]
/* The list item knows which list it is in. Obtain the list from the list
* item. */
List_t * const pxList = pxItemToRemove->pxContainer;
- 800033c: 687b ldr r3, [r7, #4]
- 800033e: 691b ldr r3, [r3, #16]
- 8000340: 60fb str r3, [r7, #12]
+ 800047c: 687b ldr r3, [r7, #4]
+ 800047e: 691b ldr r3, [r3, #16]
+ 8000480: 60fb str r3, [r7, #12]
pxItemToRemove->pxNext->pxPrevious = pxItemToRemove->pxPrevious;
- 8000342: 687b ldr r3, [r7, #4]
- 8000344: 685b ldr r3, [r3, #4]
- 8000346: 687a ldr r2, [r7, #4]
- 8000348: 6892 ldr r2, [r2, #8]
- 800034a: 609a str r2, [r3, #8]
+ 8000482: 687b ldr r3, [r7, #4]
+ 8000484: 685b ldr r3, [r3, #4]
+ 8000486: 687a ldr r2, [r7, #4]
+ 8000488: 6892 ldr r2, [r2, #8]
+ 800048a: 609a str r2, [r3, #8]
pxItemToRemove->pxPrevious->pxNext = pxItemToRemove->pxNext;
- 800034c: 687b ldr r3, [r7, #4]
- 800034e: 689b ldr r3, [r3, #8]
- 8000350: 687a ldr r2, [r7, #4]
- 8000352: 6852 ldr r2, [r2, #4]
- 8000354: 605a str r2, [r3, #4]
+ 800048c: 687b ldr r3, [r7, #4]
+ 800048e: 689b ldr r3, [r3, #8]
+ 8000490: 687a ldr r2, [r7, #4]
+ 8000492: 6852 ldr r2, [r2, #4]
+ 8000494: 605a str r2, [r3, #4]
/* Only used during decision coverage testing. */
mtCOVERAGE_TEST_DELAY();
/* Make sure the index is left pointing to a valid item. */
if( pxList->pxIndex == pxItemToRemove )
- 8000356: 68fb ldr r3, [r7, #12]
- 8000358: 685b ldr r3, [r3, #4]
- 800035a: 687a ldr r2, [r7, #4]
- 800035c: 429a cmp r2, r3
- 800035e: d103 bne.n 8000368
+ 8000496: 68fb ldr r3, [r7, #12]
+ 8000498: 685b ldr r3, [r3, #4]
+ 800049a: 687a ldr r2, [r7, #4]
+ 800049c: 429a cmp r2, r3
+ 800049e: d103 bne.n 80004a8
{
pxList->pxIndex = pxItemToRemove->pxPrevious;
- 8000360: 687b ldr r3, [r7, #4]
- 8000362: 689a ldr r2, [r3, #8]
- 8000364: 68fb ldr r3, [r7, #12]
- 8000366: 605a str r2, [r3, #4]
+ 80004a0: 687b ldr r3, [r7, #4]
+ 80004a2: 689a ldr r2, [r3, #8]
+ 80004a4: 68fb ldr r3, [r7, #12]
+ 80004a6: 605a str r2, [r3, #4]
else
{
mtCOVERAGE_TEST_MARKER();
}
pxItemToRemove->pxContainer = NULL;
- 8000368: 687b ldr r3, [r7, #4]
- 800036a: 2200 movs r2, #0
- 800036c: 611a str r2, [r3, #16]
+ 80004a8: 687b ldr r3, [r7, #4]
+ 80004aa: 2200 movs r2, #0
+ 80004ac: 611a str r2, [r3, #16]
( pxList->uxNumberOfItems )--;
- 800036e: 68fb ldr r3, [r7, #12]
- 8000370: 681b ldr r3, [r3, #0]
- 8000372: 1e5a subs r2, r3, #1
- 8000374: 68fb ldr r3, [r7, #12]
- 8000376: 601a str r2, [r3, #0]
+ 80004ae: 68fb ldr r3, [r7, #12]
+ 80004b0: 681b ldr r3, [r3, #0]
+ 80004b2: 1e5a subs r2, r3, #1
+ 80004b4: 68fb ldr r3, [r7, #12]
+ 80004b6: 601a str r2, [r3, #0]
return pxList->uxNumberOfItems;
- 8000378: 68fb ldr r3, [r7, #12]
- 800037a: 681b ldr r3, [r3, #0]
+ 80004b8: 68fb ldr r3, [r7, #12]
+ 80004ba: 681b ldr r3, [r3, #0]
}
- 800037c: 4618 mov r0, r3
- 800037e: 3714 adds r7, #20
- 8000380: 46bd mov sp, r7
- 8000382: f85d 7b04 ldr.w r7, [sp], #4
- 8000386: 4770 bx lr
+ 80004bc: 4618 mov r0, r3
+ 80004be: 3714 adds r7, #20
+ 80004c0: 46bd mov sp, r7
+ 80004c2: f85d 7b04 ldr.w r7, [sp], #4
+ 80004c6: 4770 bx lr
-08000388 :
+080004c8 :
taskEXIT_CRITICAL()
/*-----------------------------------------------------------*/
BaseType_t xQueueGenericReset( QueueHandle_t xQueue,
BaseType_t xNewQueue )
{
- 8000388: b580 push {r7, lr}
- 800038a: b084 sub sp, #16
- 800038c: af00 add r7, sp, #0
- 800038e: 6078 str r0, [r7, #4]
- 8000390: 6039 str r1, [r7, #0]
+ 80004c8: b580 push {r7, lr}
+ 80004ca: b084 sub sp, #16
+ 80004cc: af00 add r7, sp, #0
+ 80004ce: 6078 str r0, [r7, #4]
+ 80004d0: 6039 str r1, [r7, #0]
Queue_t * const pxQueue = xQueue;
- 8000392: 687b ldr r3, [r7, #4]
- 8000394: 60fb str r3, [r7, #12]
+ 80004d2: 687b ldr r3, [r7, #4]
+ 80004d4: 60fb str r3, [r7, #12]
configASSERT( pxQueue );
- 8000396: 68fb ldr r3, [r7, #12]
- 8000398: 2b00 cmp r3, #0
- 800039a: d109 bne.n 80003b0
+ 80004d6: 68fb ldr r3, [r7, #12]
+ 80004d8: 2b00 cmp r3, #0
+ 80004da: d109 bne.n 80004f0
portFORCE_INLINE static void vPortRaiseBASEPRI( void )
{
uint32_t ulNewBASEPRI;
__asm volatile
- 800039c: f04f 0350 mov.w r3, #80 ; 0x50
- 80003a0: f383 8811 msr BASEPRI, r3
- 80003a4: f3bf 8f6f isb sy
- 80003a8: f3bf 8f4f dsb sy
- 80003ac: 60bb str r3, [r7, #8]
- 80003ae: e7fe b.n 80003ae
+ 80004dc: f04f 0350 mov.w r3, #80 ; 0x50
+ 80004e0: f383 8811 msr BASEPRI, r3
+ 80004e4: f3bf 8f6f isb sy
+ 80004e8: f3bf 8f4f dsb sy
+ 80004ec: 60bb str r3, [r7, #8]
+ 80004ee: e7fe b.n 80004ee
taskENTER_CRITICAL();
- 80003b0: f001 ff66 bl 8002280
+ 80004f0: f002 fbb6 bl 8002c60
{
pxQueue->u.xQueue.pcTail = pxQueue->pcHead + ( pxQueue->uxLength * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */
- 80003b4: 68fb ldr r3, [r7, #12]
- 80003b6: 681a ldr r2, [r3, #0]
- 80003b8: 68fb ldr r3, [r7, #12]
- 80003ba: 6bdb ldr r3, [r3, #60] ; 0x3c
- 80003bc: 68f9 ldr r1, [r7, #12]
- 80003be: 6c09 ldr r1, [r1, #64] ; 0x40
- 80003c0: fb01 f303 mul.w r3, r1, r3
- 80003c4: 441a add r2, r3
- 80003c6: 68fb ldr r3, [r7, #12]
- 80003c8: 609a str r2, [r3, #8]
+ 80004f4: 68fb ldr r3, [r7, #12]
+ 80004f6: 681a ldr r2, [r3, #0]
+ 80004f8: 68fb ldr r3, [r7, #12]
+ 80004fa: 6bdb ldr r3, [r3, #60] ; 0x3c
+ 80004fc: 68f9 ldr r1, [r7, #12]
+ 80004fe: 6c09 ldr r1, [r1, #64] ; 0x40
+ 8000500: fb01 f303 mul.w r3, r1, r3
+ 8000504: 441a add r2, r3
+ 8000506: 68fb ldr r3, [r7, #12]
+ 8000508: 609a str r2, [r3, #8]
pxQueue->uxMessagesWaiting = ( UBaseType_t ) 0U;
- 80003ca: 68fb ldr r3, [r7, #12]
- 80003cc: 2200 movs r2, #0
- 80003ce: 639a str r2, [r3, #56] ; 0x38
+ 800050a: 68fb ldr r3, [r7, #12]
+ 800050c: 2200 movs r2, #0
+ 800050e: 639a str r2, [r3, #56] ; 0x38
pxQueue->pcWriteTo = pxQueue->pcHead;
- 80003d0: 68fb ldr r3, [r7, #12]
- 80003d2: 681a ldr r2, [r3, #0]
- 80003d4: 68fb ldr r3, [r7, #12]
- 80003d6: 605a str r2, [r3, #4]
+ 8000510: 68fb ldr r3, [r7, #12]
+ 8000512: 681a ldr r2, [r3, #0]
+ 8000514: 68fb ldr r3, [r7, #12]
+ 8000516: 605a str r2, [r3, #4]
pxQueue->u.xQueue.pcReadFrom = pxQueue->pcHead + ( ( pxQueue->uxLength - 1U ) * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */
- 80003d8: 68fb ldr r3, [r7, #12]
- 80003da: 681a ldr r2, [r3, #0]
- 80003dc: 68fb ldr r3, [r7, #12]
- 80003de: 6bdb ldr r3, [r3, #60] ; 0x3c
- 80003e0: 3b01 subs r3, #1
- 80003e2: 68f9 ldr r1, [r7, #12]
- 80003e4: 6c09 ldr r1, [r1, #64] ; 0x40
- 80003e6: fb01 f303 mul.w r3, r1, r3
- 80003ea: 441a add r2, r3
- 80003ec: 68fb ldr r3, [r7, #12]
- 80003ee: 60da str r2, [r3, #12]
+ 8000518: 68fb ldr r3, [r7, #12]
+ 800051a: 681a ldr r2, [r3, #0]
+ 800051c: 68fb ldr r3, [r7, #12]
+ 800051e: 6bdb ldr r3, [r3, #60] ; 0x3c
+ 8000520: 3b01 subs r3, #1
+ 8000522: 68f9 ldr r1, [r7, #12]
+ 8000524: 6c09 ldr r1, [r1, #64] ; 0x40
+ 8000526: fb01 f303 mul.w r3, r1, r3
+ 800052a: 441a add r2, r3
+ 800052c: 68fb ldr r3, [r7, #12]
+ 800052e: 60da str r2, [r3, #12]
pxQueue->cRxLock = queueUNLOCKED;
- 80003f0: 68fb ldr r3, [r7, #12]
- 80003f2: 22ff movs r2, #255 ; 0xff
- 80003f4: f883 2044 strb.w r2, [r3, #68] ; 0x44
+ 8000530: 68fb ldr r3, [r7, #12]
+ 8000532: 22ff movs r2, #255 ; 0xff
+ 8000534: f883 2044 strb.w r2, [r3, #68] ; 0x44
pxQueue->cTxLock = queueUNLOCKED;
- 80003f8: 68fb ldr r3, [r7, #12]
- 80003fa: 22ff movs r2, #255 ; 0xff
- 80003fc: f883 2045 strb.w r2, [r3, #69] ; 0x45
+ 8000538: 68fb ldr r3, [r7, #12]
+ 800053a: 22ff movs r2, #255 ; 0xff
+ 800053c: f883 2045 strb.w r2, [r3, #69] ; 0x45
if( xNewQueue == pdFALSE )
- 8000400: 683b ldr r3, [r7, #0]
- 8000402: 2b00 cmp r3, #0
- 8000404: d114 bne.n 8000430
+ 8000540: 683b ldr r3, [r7, #0]
+ 8000542: 2b00 cmp r3, #0
+ 8000544: d114 bne.n 8000570
/* If there are tasks blocked waiting to read from the queue, then
* the tasks will remain blocked as after this function exits the queue
* will still be empty. If there are tasks blocked waiting to write to
* the queue, then one should be unblocked as after this function exits
* it will be possible to write to it. */
if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE )
- 8000406: 68fb ldr r3, [r7, #12]
- 8000408: 691b ldr r3, [r3, #16]
- 800040a: 2b00 cmp r3, #0
- 800040c: d01a beq.n 8000444
+ 8000546: 68fb ldr r3, [r7, #12]
+ 8000548: 691b ldr r3, [r3, #16]
+ 800054a: 2b00 cmp r3, #0
+ 800054c: d01a beq.n 8000584
{
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE )
- 800040e: 68fb ldr r3, [r7, #12]
- 8000410: 3310 adds r3, #16
- 8000412: 4618 mov r0, r3
- 8000414: f001 f86a bl 80014ec
- 8000418: 4603 mov r3, r0
- 800041a: 2b00 cmp r3, #0
- 800041c: d012 beq.n 8000444
+ 800054e: 68fb ldr r3, [r7, #12]
+ 8000550: 3310 adds r3, #16
+ 8000552: 4618 mov r0, r3
+ 8000554: f001 f9ba bl 80018cc
+ 8000558: 4603 mov r3, r0
+ 800055a: 2b00 cmp r3, #0
+ 800055c: d012 beq.n 8000584
{
queueYIELD_IF_USING_PREEMPTION();
- 800041e: 4b0d ldr r3, [pc, #52] ; (8000454 )
- 8000420: f04f 5280 mov.w r2, #268435456 ; 0x10000000
- 8000424: 601a str r2, [r3, #0]
- 8000426: f3bf 8f4f dsb sy
- 800042a: f3bf 8f6f isb sy
- 800042e: e009 b.n 8000444
+ 800055e: 4b0d ldr r3, [pc, #52] ; (8000594 )
+ 8000560: f04f 5280 mov.w r2, #268435456 ; 0x10000000
+ 8000564: 601a str r2, [r3, #0]
+ 8000566: f3bf 8f4f dsb sy
+ 800056a: f3bf 8f6f isb sy
+ 800056e: e009 b.n 8000584
}
}
else
{
/* Ensure the event queues start in the correct state. */
vListInitialise( &( pxQueue->xTasksWaitingToSend ) );
- 8000430: 68fb ldr r3, [r7, #12]
- 8000432: 3310 adds r3, #16
- 8000434: 4618 mov r0, r3
- 8000436: f7ff fef3 bl 8000220
+ 8000570: 68fb ldr r3, [r7, #12]
+ 8000572: 3310 adds r3, #16
+ 8000574: 4618 mov r0, r3
+ 8000576: f7ff fef3 bl 8000360
vListInitialise( &( pxQueue->xTasksWaitingToReceive ) );
- 800043a: 68fb ldr r3, [r7, #12]
- 800043c: 3324 adds r3, #36 ; 0x24
- 800043e: 4618 mov r0, r3
- 8000440: f7ff feee bl 8000220
+ 800057a: 68fb ldr r3, [r7, #12]
+ 800057c: 3324 adds r3, #36 ; 0x24
+ 800057e: 4618 mov r0, r3
+ 8000580: f7ff feee bl 8000360
}
}
taskEXIT_CRITICAL();
- 8000444: f001 ff4a bl 80022dc
+ 8000584: f002 fb9a bl 8002cbc
/* A value is returned for calling semantic consistency with previous
* versions. */
return pdPASS;
- 8000448: 2301 movs r3, #1
+ 8000588: 2301 movs r3, #1
}
- 800044a: 4618 mov r0, r3
- 800044c: 3710 adds r7, #16
- 800044e: 46bd mov sp, r7
- 8000450: bd80 pop {r7, pc}
- 8000452: bf00 nop
- 8000454: e000ed04 .word 0xe000ed04
-
-08000458 :
+ 800058a: 4618 mov r0, r3
+ 800058c: 3710 adds r7, #16
+ 800058e: 46bd mov sp, r7
+ 8000590: bd80 pop {r7, pc}
+ 8000592: bf00 nop
+ 8000594: e000ed04 .word 0xe000ed04
+
+08000598 :
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
QueueHandle_t xQueueGenericCreate( const UBaseType_t uxQueueLength,
const UBaseType_t uxItemSize,
const uint8_t ucQueueType )
{
- 8000458: b580 push {r7, lr}
- 800045a: b08c sub sp, #48 ; 0x30
- 800045c: af02 add r7, sp, #8
- 800045e: 60f8 str r0, [r7, #12]
- 8000460: 60b9 str r1, [r7, #8]
- 8000462: 4613 mov r3, r2
- 8000464: 71fb strb r3, [r7, #7]
+ 8000598: b580 push {r7, lr}
+ 800059a: b08c sub sp, #48 ; 0x30
+ 800059c: af02 add r7, sp, #8
+ 800059e: 60f8 str r0, [r7, #12]
+ 80005a0: 60b9 str r1, [r7, #8]
+ 80005a2: 4613 mov r3, r2
+ 80005a4: 71fb strb r3, [r7, #7]
Queue_t * pxNewQueue;
size_t xQueueSizeInBytes;
uint8_t * pucQueueStorage;
configASSERT( uxQueueLength > ( UBaseType_t ) 0 );
- 8000466: 68fb ldr r3, [r7, #12]
- 8000468: 2b00 cmp r3, #0
- 800046a: d109 bne.n 8000480
- 800046c: f04f 0350 mov.w r3, #80 ; 0x50
- 8000470: f383 8811 msr BASEPRI, r3
- 8000474: f3bf 8f6f isb sy
- 8000478: f3bf 8f4f dsb sy
- 800047c: 61bb str r3, [r7, #24]
- 800047e: e7fe b.n 800047e
+ 80005a6: 68fb ldr r3, [r7, #12]
+ 80005a8: 2b00 cmp r3, #0
+ 80005aa: d109 bne.n 80005c0
+ 80005ac: f04f 0350 mov.w r3, #80 ; 0x50
+ 80005b0: f383 8811 msr BASEPRI, r3
+ 80005b4: f3bf 8f6f isb sy
+ 80005b8: f3bf 8f4f dsb sy
+ 80005bc: 61bb str r3, [r7, #24]
+ 80005be: e7fe b.n 80005be
/* Allocate enough space to hold the maximum number of items that
* can be in the queue at any time. It is valid for uxItemSize to be
* zero in the case the queue is used as a semaphore. */
xQueueSizeInBytes = ( size_t ) ( uxQueueLength * uxItemSize ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */
- 8000480: 68fb ldr r3, [r7, #12]
- 8000482: 68ba ldr r2, [r7, #8]
- 8000484: fb02 f303 mul.w r3, r2, r3
- 8000488: 627b str r3, [r7, #36] ; 0x24
+ 80005c0: 68fb ldr r3, [r7, #12]
+ 80005c2: 68ba ldr r2, [r7, #8]
+ 80005c4: fb02 f303 mul.w r3, r2, r3
+ 80005c8: 627b str r3, [r7, #36] ; 0x24
/* Check for multiplication overflow. */
configASSERT( ( uxItemSize == 0 ) || ( uxQueueLength == ( xQueueSizeInBytes / uxItemSize ) ) );
- 800048a: 68bb ldr r3, [r7, #8]
- 800048c: 2b00 cmp r3, #0
- 800048e: d006 beq.n 800049e
- 8000490: 6a7a ldr r2, [r7, #36] ; 0x24
- 8000492: 68bb ldr r3, [r7, #8]
- 8000494: fbb2 f3f3 udiv r3, r2, r3
- 8000498: 68fa ldr r2, [r7, #12]
- 800049a: 429a cmp r2, r3
- 800049c: d101 bne.n 80004a2
- 800049e: 2301 movs r3, #1
- 80004a0: e000 b.n 80004a4
- 80004a2: 2300 movs r3, #0
- 80004a4: 2b00 cmp r3, #0
- 80004a6: d109 bne.n 80004bc
- 80004a8: f04f 0350 mov.w r3, #80 ; 0x50
- 80004ac: f383 8811 msr BASEPRI, r3
- 80004b0: f3bf 8f6f isb sy
- 80004b4: f3bf 8f4f dsb sy
- 80004b8: 617b str r3, [r7, #20]
- 80004ba: e7fe b.n 80004ba
+ 80005ca: 68bb ldr r3, [r7, #8]
+ 80005cc: 2b00 cmp r3, #0
+ 80005ce: d006 beq.n 80005de
+ 80005d0: 6a7a ldr r2, [r7, #36] ; 0x24
+ 80005d2: 68bb ldr r3, [r7, #8]
+ 80005d4: fbb2 f3f3 udiv r3, r2, r3
+ 80005d8: 68fa ldr r2, [r7, #12]
+ 80005da: 429a cmp r2, r3
+ 80005dc: d101 bne.n 80005e2
+ 80005de: 2301 movs r3, #1
+ 80005e0: e000 b.n 80005e4
+ 80005e2: 2300 movs r3, #0
+ 80005e4: 2b00 cmp r3, #0
+ 80005e6: d109 bne.n 80005fc
+ 80005e8: f04f 0350 mov.w r3, #80 ; 0x50
+ 80005ec: f383 8811 msr BASEPRI, r3
+ 80005f0: f3bf 8f6f isb sy
+ 80005f4: f3bf 8f4f dsb sy
+ 80005f8: 617b str r3, [r7, #20]
+ 80005fa: e7fe b.n 80005fa
/* Check for addition overflow. */
configASSERT( ( sizeof( Queue_t ) + xQueueSizeInBytes ) > xQueueSizeInBytes );
- 80004bc: 6a7b ldr r3, [r7, #36] ; 0x24
- 80004be: f113 0f51 cmn.w r3, #81 ; 0x51
- 80004c2: d909 bls.n 80004d8
- 80004c4: f04f 0350 mov.w r3, #80 ; 0x50
- 80004c8: f383 8811 msr BASEPRI, r3
- 80004cc: f3bf 8f6f isb sy
- 80004d0: f3bf 8f4f dsb sy
- 80004d4: 613b str r3, [r7, #16]
- 80004d6: e7fe b.n 80004d6
+ 80005fc: 6a7b ldr r3, [r7, #36] ; 0x24
+ 80005fe: f113 0f51 cmn.w r3, #81 ; 0x51
+ 8000602: d909 bls.n 8000618
+ 8000604: f04f 0350 mov.w r3, #80 ; 0x50
+ 8000608: f383 8811 msr BASEPRI, r3
+ 800060c: f3bf 8f6f isb sy
+ 8000610: f3bf 8f4f dsb sy
+ 8000614: 613b str r3, [r7, #16]
+ 8000616: e7fe b.n 8000616
* alignment requirements of the Queue_t structure - which in this case
* is an int8_t *. Therefore, whenever the stack alignment requirements
* are greater than or equal to the pointer to char requirements the cast
* is safe. In other cases alignment requirements are not strict (one or
* two bytes). */
pxNewQueue = ( Queue_t * ) pvPortMalloc( sizeof( Queue_t ) + xQueueSizeInBytes ); /*lint !e9087 !e9079 see comment above. */
- 80004d8: 6a7b ldr r3, [r7, #36] ; 0x24
- 80004da: 3350 adds r3, #80 ; 0x50
- 80004dc: 4618 mov r0, r3
- 80004de: f001 ffe9 bl 80024b4
- 80004e2: 6238 str r0, [r7, #32]
+ 8000618: 6a7b ldr r3, [r7, #36] ; 0x24
+ 800061a: 3350 adds r3, #80 ; 0x50
+ 800061c: 4618 mov r0, r3
+ 800061e: f002 fc41 bl 8002ea4
+ 8000622: 6238 str r0, [r7, #32]
if( pxNewQueue != NULL )
- 80004e4: 6a3b ldr r3, [r7, #32]
- 80004e6: 2b00 cmp r3, #0
- 80004e8: d00d beq.n 8000506
+ 8000624: 6a3b ldr r3, [r7, #32]
+ 8000626: 2b00 cmp r3, #0
+ 8000628: d00d beq.n 8000646
{
/* Jump past the queue structure to find the location of the queue
* storage area. */
pucQueueStorage = ( uint8_t * ) pxNewQueue;
- 80004ea: 6a3b ldr r3, [r7, #32]
- 80004ec: 61fb str r3, [r7, #28]
+ 800062a: 6a3b ldr r3, [r7, #32]
+ 800062c: 61fb str r3, [r7, #28]
pucQueueStorage += sizeof( Queue_t ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */
- 80004ee: 69fb ldr r3, [r7, #28]
- 80004f0: 3350 adds r3, #80 ; 0x50
- 80004f2: 61fb str r3, [r7, #28]
+ 800062e: 69fb ldr r3, [r7, #28]
+ 8000630: 3350 adds r3, #80 ; 0x50
+ 8000632: 61fb str r3, [r7, #28]
* deleted. */
pxNewQueue->ucStaticallyAllocated = pdFALSE;
}
#endif /* configSUPPORT_STATIC_ALLOCATION */
prvInitialiseNewQueue( uxQueueLength, uxItemSize, pucQueueStorage, ucQueueType, pxNewQueue );
- 80004f4: 79fa ldrb r2, [r7, #7]
- 80004f6: 6a3b ldr r3, [r7, #32]
- 80004f8: 9300 str r3, [sp, #0]
- 80004fa: 4613 mov r3, r2
- 80004fc: 69fa ldr r2, [r7, #28]
- 80004fe: 68b9 ldr r1, [r7, #8]
- 8000500: 68f8 ldr r0, [r7, #12]
- 8000502: f000 f805 bl 8000510
+ 8000634: 79fa ldrb r2, [r7, #7]
+ 8000636: 6a3b ldr r3, [r7, #32]
+ 8000638: 9300 str r3, [sp, #0]
+ 800063a: 4613 mov r3, r2
+ 800063c: 69fa ldr r2, [r7, #28]
+ 800063e: 68b9 ldr r1, [r7, #8]
+ 8000640: 68f8 ldr r0, [r7, #12]
+ 8000642: f000 f805 bl 8000650
{
traceQUEUE_CREATE_FAILED( ucQueueType );
mtCOVERAGE_TEST_MARKER();
}
return pxNewQueue;
- 8000506: 6a3b ldr r3, [r7, #32]
+ 8000646: 6a3b ldr r3, [r7, #32]
}
- 8000508: 4618 mov r0, r3
- 800050a: 3728 adds r7, #40 ; 0x28
- 800050c: 46bd mov sp, r7
- 800050e: bd80 pop {r7, pc}
+ 8000648: 4618 mov r0, r3
+ 800064a: 3728 adds r7, #40 ; 0x28
+ 800064c: 46bd mov sp, r7
+ 800064e: bd80 pop {r7, pc}
-08000510 :
+08000650 :
static void prvInitialiseNewQueue( const UBaseType_t uxQueueLength,
const UBaseType_t uxItemSize,
uint8_t * pucQueueStorage,
const uint8_t ucQueueType,
Queue_t * pxNewQueue )
{
- 8000510: b580 push {r7, lr}
- 8000512: b084 sub sp, #16
- 8000514: af00 add r7, sp, #0
- 8000516: 60f8 str r0, [r7, #12]
- 8000518: 60b9 str r1, [r7, #8]
- 800051a: 607a str r2, [r7, #4]
- 800051c: 70fb strb r3, [r7, #3]
+ 8000650: b580 push {r7, lr}
+ 8000652: b084 sub sp, #16
+ 8000654: af00 add r7, sp, #0
+ 8000656: 60f8 str r0, [r7, #12]
+ 8000658: 60b9 str r1, [r7, #8]
+ 800065a: 607a str r2, [r7, #4]
+ 800065c: 70fb strb r3, [r7, #3]
/* Remove compiler warnings about unused parameters should
* configUSE_TRACE_FACILITY not be set to 1. */
( void ) ucQueueType;
if( uxItemSize == ( UBaseType_t ) 0 )
- 800051e: 68bb ldr r3, [r7, #8]
- 8000520: 2b00 cmp r3, #0
- 8000522: d103 bne.n 800052c
+ 800065e: 68bb ldr r3, [r7, #8]
+ 8000660: 2b00 cmp r3, #0
+ 8000662: d103 bne.n 800066c
{
/* No RAM was allocated for the queue storage area, but PC head cannot
* be set to NULL because NULL is used as a key to say the queue is used as
* a mutex. Therefore just set pcHead to point to the queue as a benign
* value that is known to be within the memory map. */
pxNewQueue->pcHead = ( int8_t * ) pxNewQueue;
- 8000524: 69bb ldr r3, [r7, #24]
- 8000526: 69ba ldr r2, [r7, #24]
- 8000528: 601a str r2, [r3, #0]
- 800052a: e002 b.n 8000532
+ 8000664: 69bb ldr r3, [r7, #24]
+ 8000666: 69ba ldr r2, [r7, #24]
+ 8000668: 601a str r2, [r3, #0]
+ 800066a: e002 b.n 8000672
}
else
{
/* Set the head to the start of the queue storage area. */
pxNewQueue->pcHead = ( int8_t * ) pucQueueStorage;
- 800052c: 69bb ldr r3, [r7, #24]
- 800052e: 687a ldr r2, [r7, #4]
- 8000530: 601a str r2, [r3, #0]
+ 800066c: 69bb ldr r3, [r7, #24]
+ 800066e: 687a ldr r2, [r7, #4]
+ 8000670: 601a str r2, [r3, #0]
}
/* Initialise the queue members as described where the queue type is
* defined. */
pxNewQueue->uxLength = uxQueueLength;
- 8000532: 69bb ldr r3, [r7, #24]
- 8000534: 68fa ldr r2, [r7, #12]
- 8000536: 63da str r2, [r3, #60] ; 0x3c
+ 8000672: 69bb ldr r3, [r7, #24]
+ 8000674: 68fa ldr r2, [r7, #12]
+ 8000676: 63da str r2, [r3, #60] ; 0x3c
pxNewQueue->uxItemSize = uxItemSize;
- 8000538: 69bb ldr r3, [r7, #24]
- 800053a: 68ba ldr r2, [r7, #8]
- 800053c: 641a str r2, [r3, #64] ; 0x40
+ 8000678: 69bb ldr r3, [r7, #24]
+ 800067a: 68ba ldr r2, [r7, #8]
+ 800067c: 641a str r2, [r3, #64] ; 0x40
( void ) xQueueGenericReset( pxNewQueue, pdTRUE );
- 800053e: 2101 movs r1, #1
- 8000540: 69b8 ldr r0, [r7, #24]
- 8000542: f7ff ff21 bl 8000388
+ 800067e: 2101 movs r1, #1
+ 8000680: 69b8 ldr r0, [r7, #24]
+ 8000682: f7ff ff21 bl 80004c8
#if ( configUSE_TRACE_FACILITY == 1 )
{
pxNewQueue->ucQueueType = ucQueueType;
- 8000546: 69bb ldr r3, [r7, #24]
- 8000548: 78fa ldrb r2, [r7, #3]
- 800054a: f883 204c strb.w r2, [r3, #76] ; 0x4c
+ 8000686: 69bb ldr r3, [r7, #24]
+ 8000688: 78fa ldrb r2, [r7, #3]
+ 800068a: f883 204c strb.w r2, [r3, #76] ; 0x4c
+ {
pxNewQueue->pxQueueSetContainer = NULL;
}
#endif /* configUSE_QUEUE_SETS */
traceQUEUE_CREATE( pxNewQueue );
+ 800068e: 78fb ldrb r3, [r7, #3]
+ 8000690: 68ba ldr r2, [r7, #8]
+ 8000692: 68f9 ldr r1, [r7, #12]
+ 8000694: 2073 movs r0, #115 ; 0x73
+ 8000696: f003 fce3 bl 8004060
}
- 800054e: bf00 nop
- 8000550: 3710 adds r7, #16
- 8000552: 46bd mov sp, r7
- 8000554: bd80 pop {r7, pc}
+ 800069a: bf00 nop
+ 800069c: 3710 adds r7, #16
+ 800069e: 46bd mov sp, r7
+ 80006a0: bd80 pop {r7, pc}
...
-08000558 :
+080006a4 :
BaseType_t xQueueGenericSend( QueueHandle_t xQueue,
const void * const pvItemToQueue,
TickType_t xTicksToWait,
const BaseType_t xCopyPosition )
{
- 8000558: b580 push {r7, lr}
- 800055a: b08e sub sp, #56 ; 0x38
- 800055c: af00 add r7, sp, #0
- 800055e: 60f8 str r0, [r7, #12]
- 8000560: 60b9 str r1, [r7, #8]
- 8000562: 607a str r2, [r7, #4]
- 8000564: 603b str r3, [r7, #0]
+ 80006a4: b580 push {r7, lr}
+ 80006a6: b090 sub sp, #64 ; 0x40
+ 80006a8: af02 add r7, sp, #8
+ 80006aa: 60f8 str r0, [r7, #12]
+ 80006ac: 60b9 str r1, [r7, #8]
+ 80006ae: 607a str r2, [r7, #4]
+ 80006b0: 603b str r3, [r7, #0]
BaseType_t xEntryTimeSet = pdFALSE, xYieldRequired;
- 8000566: 2300 movs r3, #0
- 8000568: 637b str r3, [r7, #52] ; 0x34
+ 80006b2: 2300 movs r3, #0
+ 80006b4: 637b str r3, [r7, #52] ; 0x34
TimeOut_t xTimeOut;
Queue_t * const pxQueue = xQueue;
- 800056a: 68fb ldr r3, [r7, #12]
- 800056c: 633b str r3, [r7, #48] ; 0x30
+ 80006b6: 68fb ldr r3, [r7, #12]
+ 80006b8: 633b str r3, [r7, #48] ; 0x30
configASSERT( pxQueue );
- 800056e: 6b3b ldr r3, [r7, #48] ; 0x30
- 8000570: 2b00 cmp r3, #0
- 8000572: d109 bne.n 8000588
- 8000574: f04f 0350 mov.w r3, #80 ; 0x50
- 8000578: f383 8811 msr BASEPRI, r3
- 800057c: f3bf 8f6f isb sy
- 8000580: f3bf 8f4f dsb sy
- 8000584: 62bb str r3, [r7, #40] ; 0x28
- 8000586: e7fe b.n 8000586
+ 80006ba: 6b3b ldr r3, [r7, #48] ; 0x30
+ 80006bc: 2b00 cmp r3, #0
+ 80006be: d109 bne.n 80006d4
+ 80006c0: f04f 0350 mov.w r3, #80 ; 0x50
+ 80006c4: f383 8811 msr BASEPRI, r3
+ 80006c8: f3bf 8f6f isb sy
+ 80006cc: f3bf 8f4f dsb sy
+ 80006d0: 62bb str r3, [r7, #40] ; 0x28
+ 80006d2: e7fe b.n 80006d2
configASSERT( !( ( pvItemToQueue == NULL ) && ( pxQueue->uxItemSize != ( UBaseType_t ) 0U ) ) );
- 8000588: 68bb ldr r3, [r7, #8]
- 800058a: 2b00 cmp r3, #0
- 800058c: d103 bne.n 8000596
- 800058e: 6b3b ldr r3, [r7, #48] ; 0x30
- 8000590: 6c1b ldr r3, [r3, #64] ; 0x40
- 8000592: 2b00 cmp r3, #0
- 8000594: d101 bne.n 800059a
- 8000596: 2301 movs r3, #1
- 8000598: e000 b.n 800059c
- 800059a: 2300 movs r3, #0
- 800059c: 2b00 cmp r3, #0
- 800059e: d109 bne.n 80005b4
- 80005a0: f04f 0350 mov.w r3, #80 ; 0x50
- 80005a4: f383 8811 msr BASEPRI, r3
- 80005a8: f3bf 8f6f isb sy
- 80005ac: f3bf 8f4f dsb sy
- 80005b0: 627b str r3, [r7, #36] ; 0x24
- 80005b2: e7fe b.n 80005b2
+ 80006d4: 68bb ldr r3, [r7, #8]
+ 80006d6: 2b00 cmp r3, #0
+ 80006d8: d103 bne.n 80006e2
+ 80006da: 6b3b ldr r3, [r7, #48] ; 0x30
+ 80006dc: 6c1b ldr r3, [r3, #64] ; 0x40
+ 80006de: 2b00 cmp r3, #0
+ 80006e0: d101 bne.n 80006e6
+ 80006e2: 2301 movs r3, #1
+ 80006e4: e000 b.n 80006e8
+ 80006e6: 2300 movs r3, #0
+ 80006e8: 2b00 cmp r3, #0
+ 80006ea: d109 bne.n 8000700
+ 80006ec: f04f 0350 mov.w r3, #80 ; 0x50
+ 80006f0: f383 8811 msr BASEPRI, r3
+ 80006f4: f3bf 8f6f isb sy
+ 80006f8: f3bf 8f4f dsb sy
+ 80006fc: 627b str r3, [r7, #36] ; 0x24
+ 80006fe: e7fe b.n 80006fe
configASSERT( !( ( xCopyPosition == queueOVERWRITE ) && ( pxQueue->uxLength != 1 ) ) );
- 80005b4: 683b ldr r3, [r7, #0]
- 80005b6: 2b02 cmp r3, #2
- 80005b8: d103 bne.n 80005c2
- 80005ba: 6b3b ldr r3, [r7, #48] ; 0x30
- 80005bc: 6bdb ldr r3, [r3, #60] ; 0x3c
- 80005be: 2b01 cmp r3, #1
- 80005c0: d101 bne.n 80005c6
- 80005c2: 2301 movs r3, #1
- 80005c4: e000 b.n 80005c8
- 80005c6: 2300 movs r3, #0
- 80005c8: 2b00 cmp r3, #0
- 80005ca: d109 bne.n 80005e0
- 80005cc: f04f 0350 mov.w r3, #80 ; 0x50
- 80005d0: f383 8811 msr BASEPRI, r3
- 80005d4: f3bf 8f6f isb sy
- 80005d8: f3bf 8f4f dsb sy
- 80005dc: 623b str r3, [r7, #32]
- 80005de: e7fe b.n 80005de
+ 8000700: 683b ldr r3, [r7, #0]
+ 8000702: 2b02 cmp r3, #2
+ 8000704: d103 bne.n 800070e
+ 8000706: 6b3b ldr r3, [r7, #48] ; 0x30
+ 8000708: 6bdb ldr r3, [r3, #60] ; 0x3c
+ 800070a: 2b01 cmp r3, #1
+ 800070c: d101 bne.n 8000712
+ 800070e: 2301 movs r3, #1
+ 8000710: e000 b.n 8000714
+ 8000712: 2300 movs r3, #0
+ 8000714: 2b00 cmp r3, #0
+ 8000716: d109 bne.n 800072c
+ 8000718: f04f 0350 mov.w r3, #80 ; 0x50
+ 800071c: f383 8811 msr BASEPRI, r3
+ 8000720: f3bf 8f6f isb sy
+ 8000724: f3bf 8f4f dsb sy
+ 8000728: 623b str r3, [r7, #32]
+ 800072a: e7fe b.n 800072a
#if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) )
{
configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) );
- 80005e0: f001 f91c bl 800181c
- 80005e4: 4603 mov r3, r0
- 80005e6: 2b00 cmp r3, #0
- 80005e8: d102 bne.n 80005f0
- 80005ea: 687b ldr r3, [r7, #4]
- 80005ec: 2b00 cmp r3, #0
- 80005ee: d101 bne.n 80005f4
- 80005f0: 2301 movs r3, #1
- 80005f2: e000 b.n 80005f6
- 80005f4: 2300 movs r3, #0
- 80005f6: 2b00 cmp r3, #0
- 80005f8: d109 bne.n 800060e
- 80005fa: f04f 0350 mov.w r3, #80 ; 0x50
- 80005fe: f383 8811 msr BASEPRI, r3
- 8000602: f3bf 8f6f isb sy
- 8000606: f3bf 8f4f dsb sy
- 800060a: 61fb str r3, [r7, #28]
- 800060c: e7fe b.n 800060c
+ 800072c: f001 fa6c bl 8001c08
+ 8000730: 4603 mov r3, r0
+ 8000732: 2b00 cmp r3, #0
+ 8000734: d102 bne.n 800073c
+ 8000736: 687b ldr r3, [r7, #4]
+ 8000738: 2b00 cmp r3, #0
+ 800073a: d101 bne.n 8000740
+ 800073c: 2301 movs r3, #1
+ 800073e: e000 b.n 8000742
+ 8000740: 2300 movs r3, #0
+ 8000742: 2b00 cmp r3, #0
+ 8000744: d109 bne.n 800075a
+ 8000746: f04f 0350 mov.w r3, #80 ; 0x50
+ 800074a: f383 8811 msr BASEPRI, r3
+ 800074e: f3bf 8f6f isb sy
+ 8000752: f3bf 8f4f dsb sy
+ 8000756: 61fb str r3, [r7, #28]
+ 8000758: e7fe b.n 8000758
/*lint -save -e904 This function relaxes the coding standard somewhat to
* allow return statements within the function itself. This is done in the
* interest of execution time efficiency. */
for( ; ; )
{
taskENTER_CRITICAL();
- 800060e: f001 fe37 bl 8002280
+ 800075a: f002 fa81 bl 8002c60
{
/* Is there room on the queue now? The running task must be the
* highest priority task wanting to access the queue. If the head item
* in the queue is to be overwritten then it does not matter if the
* queue is full. */
if( ( pxQueue->uxMessagesWaiting < pxQueue->uxLength ) || ( xCopyPosition == queueOVERWRITE ) )
- 8000612: 6b3b ldr r3, [r7, #48] ; 0x30
- 8000614: 6b9a ldr r2, [r3, #56] ; 0x38
- 8000616: 6b3b ldr r3, [r7, #48] ; 0x30
- 8000618: 6bdb ldr r3, [r3, #60] ; 0x3c
- 800061a: 429a cmp r2, r3
- 800061c: d302 bcc.n 8000624
- 800061e: 683b ldr r3, [r7, #0]
- 8000620: 2b02 cmp r3, #2
- 8000622: d129 bne.n 8000678
+ 800075e: 6b3b ldr r3, [r7, #48] ; 0x30
+ 8000760: 6b9a ldr r2, [r3, #56] ; 0x38
+ 8000762: 6b3b ldr r3, [r7, #48] ; 0x30
+ 8000764: 6bdb ldr r3, [r3, #60] ; 0x3c
+ 8000766: 429a cmp r2, r3
+ 8000768: d302 bcc.n 8000770
+ 800076a: 683b ldr r3, [r7, #0]
+ 800076c: 2b02 cmp r3, #2
+ 800076e: d136 bne.n 80007de
+ {
+ traceQUEUE_SEND( pxQueue );
+ 8000770: 6b3b ldr r3, [r7, #48] ; 0x30
+ 8000772: 4618 mov r0, r3
+ 8000774: f004 faac bl 8004cd0
+ 8000778: 68ba ldr r2, [r7, #8]
+ 800077a: 6879 ldr r1, [r7, #4]
+ 800077c: 683b ldr r3, [r7, #0]
+ 800077e: 9300 str r3, [sp, #0]
+ 8000780: 460b mov r3, r1
+ 8000782: 4601 mov r1, r0
+ 8000784: 205a movs r0, #90 ; 0x5a
+ 8000786: f003 fce1 bl 800414c
}
}
}
#else /* configUSE_QUEUE_SETS */
{
xYieldRequired = prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition );
- 8000624: 683a ldr r2, [r7, #0]
- 8000626: 68b9 ldr r1, [r7, #8]
- 8000628: 6b38 ldr r0, [r7, #48] ; 0x30
- 800062a: f000 fa11 bl 8000a50
- 800062e: 62f8 str r0, [r7, #44] ; 0x2c
+ 800078a: 683a ldr r2, [r7, #0]
+ 800078c: 68b9 ldr r1, [r7, #8]
+ 800078e: 6b38 ldr r0, [r7, #48] ; 0x30
+ 8000790: f000 fa78 bl 8000c84
+ 8000794: 62f8 str r0, [r7, #44] ; 0x2c
/* If there was a task waiting for data to arrive on the
* queue then unblock it now. */
if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE )
- 8000630: 6b3b ldr r3, [r7, #48] ; 0x30
- 8000632: 6a5b ldr r3, [r3, #36] ; 0x24
- 8000634: 2b00 cmp r3, #0
- 8000636: d010 beq.n 800065a
+ 8000796: 6b3b ldr r3, [r7, #48] ; 0x30
+ 8000798: 6a5b ldr r3, [r3, #36] ; 0x24
+ 800079a: 2b00 cmp r3, #0
+ 800079c: d010 beq.n 80007c0
{
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE )
- 8000638: 6b3b ldr r3, [r7, #48] ; 0x30
- 800063a: 3324 adds r3, #36 ; 0x24
- 800063c: 4618 mov r0, r3
- 800063e: f000 ff55 bl 80014ec
- 8000642: 4603 mov r3, r0
- 8000644: 2b00 cmp r3, #0
- 8000646: d013 beq.n 8000670
+ 800079e: 6b3b ldr r3, [r7, #48] ; 0x30
+ 80007a0: 3324 adds r3, #36 ; 0x24
+ 80007a2: 4618 mov r0, r3
+ 80007a4: f001 f892 bl 80018cc
+ 80007a8: 4603 mov r3, r0
+ 80007aa: 2b00 cmp r3, #0
+ 80007ac: d013 beq.n 80007d6
{
/* The unblocked task has a priority higher than
* our own so yield immediately. Yes it is ok to do
* this from within the critical section - the kernel
* takes care of that. */
queueYIELD_IF_USING_PREEMPTION();
- 8000648: 4b3f ldr r3, [pc, #252] ; (8000748 )
- 800064a: f04f 5280 mov.w r2, #268435456 ; 0x10000000
- 800064e: 601a str r2, [r3, #0]
- 8000650: f3bf 8f4f dsb sy
- 8000654: f3bf 8f6f isb sy
- 8000658: e00a b.n 8000670
+ 80007ae: 4b4d ldr r3, [pc, #308] ; (80008e4 )
+ 80007b0: f04f 5280 mov.w r2, #268435456 ; 0x10000000
+ 80007b4: 601a str r2, [r3, #0]
+ 80007b6: f3bf 8f4f dsb sy
+ 80007ba: f3bf 8f6f isb sy
+ 80007be: e00a b.n 80007d6
else
{
mtCOVERAGE_TEST_MARKER();
}
}
else if( xYieldRequired != pdFALSE )
- 800065a: 6afb ldr r3, [r7, #44] ; 0x2c
- 800065c: 2b00 cmp r3, #0
- 800065e: d007 beq.n 8000670
+ 80007c0: 6afb ldr r3, [r7, #44] ; 0x2c
+ 80007c2: 2b00 cmp r3, #0
+ 80007c4: d007 beq.n 80007d6
{
/* This path is a special case that will only get
* executed if the task was holding multiple mutexes and
* the mutexes were given back in an order that is
* different to that in which they were taken. */
queueYIELD_IF_USING_PREEMPTION();
- 8000660: 4b39 ldr r3, [pc, #228] ; (8000748 )
- 8000662: f04f 5280 mov.w r2, #268435456 ; 0x10000000
- 8000666: 601a str r2, [r3, #0]
- 8000668: f3bf 8f4f dsb sy
- 800066c: f3bf 8f6f isb sy
+ 80007c6: 4b47 ldr r3, [pc, #284] ; (80008e4 )
+ 80007c8: f04f 5280 mov.w r2, #268435456 ; 0x10000000
+ 80007cc: 601a str r2, [r3, #0]
+ 80007ce: f3bf 8f4f dsb sy
+ 80007d2: f3bf 8f6f isb sy
mtCOVERAGE_TEST_MARKER();
}
}
#endif /* configUSE_QUEUE_SETS */
taskEXIT_CRITICAL();
- 8000670: f001 fe34 bl 80022dc
+ 80007d6: f002 fa71 bl 8002cbc
return pdPASS;
- 8000674: 2301 movs r3, #1
- 8000676: e063 b.n 8000740
+ 80007da: 2301 movs r3, #1
+ 80007dc: e07d b.n 80008da
}
else
{
if( xTicksToWait == ( TickType_t ) 0 )
- 8000678: 687b ldr r3, [r7, #4]
- 800067a: 2b00 cmp r3, #0
- 800067c: d103 bne.n 8000686
+ 80007de: 687b ldr r3, [r7, #4]
+ 80007e0: 2b00 cmp r3, #0
+ 80007e2: d110 bne.n 8000806
{
/* The queue was full and no block time is specified (or
* the block time has expired) so leave now. */
taskEXIT_CRITICAL();
- 800067e: f001 fe2d bl 80022dc
+ 80007e4: f002 fa6a bl 8002cbc
/* Return to the original privilege level before exiting
* the function. */
traceQUEUE_SEND_FAILED( pxQueue );
+ 80007e8: 6b3b ldr r3, [r7, #48] ; 0x30
+ 80007ea: 4618 mov r0, r3
+ 80007ec: f004 fa70 bl 8004cd0
+ 80007f0: 68ba ldr r2, [r7, #8]
+ 80007f2: 6879 ldr r1, [r7, #4]
+ 80007f4: 683b ldr r3, [r7, #0]
+ 80007f6: 9300 str r3, [sp, #0]
+ 80007f8: 460b mov r3, r1
+ 80007fa: 4601 mov r1, r0
+ 80007fc: 205a movs r0, #90 ; 0x5a
+ 80007fe: f003 fca5 bl 800414c
return errQUEUE_FULL;
- 8000682: 2300 movs r3, #0
- 8000684: e05c b.n 8000740
+ 8000802: 2300 movs r3, #0
+ 8000804: e069 b.n 80008da
}
else if( xEntryTimeSet == pdFALSE )
- 8000686: 6b7b ldr r3, [r7, #52] ; 0x34
- 8000688: 2b00 cmp r3, #0
- 800068a: d106 bne.n 800069a
+ 8000806: 6b7b ldr r3, [r7, #52] ; 0x34
+ 8000808: 2b00 cmp r3, #0
+ 800080a: d106 bne.n 800081a
{
/* The queue was full and a block time was specified so
* configure the timeout structure. */
vTaskInternalSetTimeOutState( &xTimeOut );
- 800068c: f107 0314 add.w r3, r7, #20
- 8000690: 4618 mov r0, r3
- 8000692: f000 ff8d bl 80015b0
+ 800080c: f107 0314 add.w r3, r7, #20
+ 8000810: 4618 mov r0, r3
+ 8000812: f001 f8c1 bl 8001998
xEntryTimeSet = pdTRUE;
- 8000696: 2301 movs r3, #1
- 8000698: 637b str r3, [r7, #52] ; 0x34
+ 8000816: 2301 movs r3, #1
+ 8000818: 637b str r3, [r7, #52] ; 0x34
/* Entry time was already set. */
mtCOVERAGE_TEST_MARKER();
}
}
}
taskEXIT_CRITICAL();
- 800069a: f001 fe1f bl 80022dc
+ 800081a: f002 fa4f bl 8002cbc
/* Interrupts and other tasks can send to and receive from the queue
* now the critical section has been exited. */
vTaskSuspendAll();
- 800069e: f000 fd0b bl 80010b8
+ 800081e: f000 fe0f bl 8001440
prvLockQueue( pxQueue );
- 80006a2: f001 fded bl 8002280
- 80006a6: 6b3b ldr r3, [r7, #48] ; 0x30
- 80006a8: f893 3044 ldrb.w r3, [r3, #68] ; 0x44
- 80006ac: b25b sxtb r3, r3
- 80006ae: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff
- 80006b2: d103 bne.n 80006bc
- 80006b4: 6b3b ldr r3, [r7, #48] ; 0x30
- 80006b6: 2200 movs r2, #0
- 80006b8: f883 2044 strb.w r2, [r3, #68] ; 0x44
- 80006bc: 6b3b ldr r3, [r7, #48] ; 0x30
- 80006be: f893 3045 ldrb.w r3, [r3, #69] ; 0x45
- 80006c2: b25b sxtb r3, r3
- 80006c4: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff
- 80006c8: d103 bne.n 80006d2
- 80006ca: 6b3b ldr r3, [r7, #48] ; 0x30
- 80006cc: 2200 movs r2, #0
- 80006ce: f883 2045 strb.w r2, [r3, #69] ; 0x45
- 80006d2: f001 fe03 bl 80022dc
+ 8000822: f002 fa1d bl 8002c60
+ 8000826: 6b3b ldr r3, [r7, #48] ; 0x30
+ 8000828: f893 3044 ldrb.w r3, [r3, #68] ; 0x44
+ 800082c: b25b sxtb r3, r3
+ 800082e: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff
+ 8000832: d103 bne.n 800083c
+ 8000834: 6b3b ldr r3, [r7, #48] ; 0x30
+ 8000836: 2200 movs r2, #0
+ 8000838: f883 2044 strb.w r2, [r3, #68] ; 0x44
+ 800083c: 6b3b ldr r3, [r7, #48] ; 0x30
+ 800083e: f893 3045 ldrb.w r3, [r3, #69] ; 0x45
+ 8000842: b25b sxtb r3, r3
+ 8000844: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff
+ 8000848: d103 bne.n 8000852
+ 800084a: 6b3b ldr r3, [r7, #48] ; 0x30
+ 800084c: 2200 movs r2, #0
+ 800084e: f883 2045 strb.w r2, [r3, #69] ; 0x45
+ 8000852: f002 fa33 bl 8002cbc
/* Update the timeout state to see if it has expired yet. */
if( xTaskCheckForTimeOut( &xTimeOut, &xTicksToWait ) == pdFALSE )
- 80006d6: 1d3a adds r2, r7, #4
- 80006d8: f107 0314 add.w r3, r7, #20
- 80006dc: 4611 mov r1, r2
- 80006de: 4618 mov r0, r3
- 80006e0: f000 ff7c bl 80015dc
- 80006e4: 4603 mov r3, r0
- 80006e6: 2b00 cmp r3, #0
- 80006e8: d124 bne.n 8000734
+ 8000856: 1d3a adds r2, r7, #4
+ 8000858: f107 0314 add.w r3, r7, #20
+ 800085c: 4611 mov r1, r2
+ 800085e: 4618 mov r0, r3
+ 8000860: f001 f8b0 bl 80019c4
+ 8000864: 4603 mov r3, r0
+ 8000866: 2b00 cmp r3, #0
+ 8000868: d124 bne.n 80008b4
{
if( prvIsQueueFull( pxQueue ) != pdFALSE )
- 80006ea: 6b38 ldr r0, [r7, #48] ; 0x30
- 80006ec: f000 faa8 bl 8000c40
- 80006f0: 4603 mov r3, r0
- 80006f2: 2b00 cmp r3, #0
- 80006f4: d018 beq.n 8000728
+ 800086a: 6b38 ldr r0, [r7, #48] ; 0x30
+ 800086c: f000 fb02 bl 8000e74
+ 8000870: 4603 mov r3, r0
+ 8000872: 2b00 cmp r3, #0
+ 8000874: d018 beq.n 80008a8
{
traceBLOCKING_ON_QUEUE_SEND( pxQueue );
vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToSend ), xTicksToWait );
- 80006f6: 6b3b ldr r3, [r7, #48] ; 0x30
- 80006f8: 3310 adds r3, #16
- 80006fa: 687a ldr r2, [r7, #4]
- 80006fc: 4611 mov r1, r2
- 80006fe: 4618 mov r0, r3
- 8000700: f000 fea6 bl 8001450
+ 8000876: 6b3b ldr r3, [r7, #48] ; 0x30
+ 8000878: 3310 adds r3, #16
+ 800087a: 687a ldr r2, [r7, #4]
+ 800087c: 4611 mov r1, r2
+ 800087e: 4618 mov r0, r3
+ 8000880: f000 ffd2 bl 8001828
/* Unlocking the queue means queue events can effect the
* event list. It is possible that interrupts occurring now
* remove this task from the event list again - but as the
* scheduler is suspended the task will go onto the pending
* ready last instead of the actual ready list. */
prvUnlockQueue( pxQueue );
- 8000704: 6b38 ldr r0, [r7, #48] ; 0x30
- 8000706: f000 fa33 bl 8000b70
+ 8000884: 6b38 ldr r0, [r7, #48] ; 0x30
+ 8000886: f000 fa8d bl 8000da4
/* Resuming the scheduler will move tasks from the pending
* ready list into the ready list - so it is feasible that this
* task is already in a ready list before it yields - in which
* case the yield will not cause a context switch unless there
* is also a higher priority task in the pending ready list. */
if( xTaskResumeAll() == pdFALSE )
- 800070a: f000 fce3 bl 80010d4
- 800070e: 4603 mov r3, r0
- 8000710: 2b00 cmp r3, #0
- 8000712: f47f af7c bne.w 800060e
+ 800088a: f000 fde7 bl 800145c
+ 800088e: 4603 mov r3, r0
+ 8000890: 2b00 cmp r3, #0
+ 8000892: f47f af62 bne.w 800075a
{
portYIELD_WITHIN_API();
- 8000716: 4b0c ldr r3, [pc, #48] ; (8000748 )
- 8000718: f04f 5280 mov.w r2, #268435456 ; 0x10000000
- 800071c: 601a str r2, [r3, #0]
- 800071e: f3bf 8f4f dsb sy
- 8000722: f3bf 8f6f isb sy
- 8000726: e772 b.n 800060e
+ 8000896: 4b13 ldr r3, [pc, #76] ; (80008e4 )
+ 8000898: f04f 5280 mov.w r2, #268435456 ; 0x10000000
+ 800089c: 601a str r2, [r3, #0]
+ 800089e: f3bf 8f4f dsb sy
+ 80008a2: f3bf 8f6f isb sy
+ 80008a6: e758 b.n 800075a
}
}
else
{
/* Try again. */
prvUnlockQueue( pxQueue );
- 8000728: 6b38 ldr r0, [r7, #48] ; 0x30
- 800072a: f000 fa21 bl 8000b70
+ 80008a8: 6b38 ldr r0, [r7, #48] ; 0x30
+ 80008aa: f000 fa7b bl 8000da4
( void ) xTaskResumeAll();
- 800072e: f000 fcd1 bl 80010d4
- 8000732: e76c b.n 800060e
+ 80008ae: f000 fdd5 bl 800145c
+ 80008b2: e752 b.n 800075a
}
}
else
{
/* The timeout has expired. */
prvUnlockQueue( pxQueue );
- 8000734: 6b38 ldr r0, [r7, #48] ; 0x30
- 8000736: f000 fa1b bl 8000b70
+ 80008b4: 6b38 ldr r0, [r7, #48] ; 0x30
+ 80008b6: f000 fa75 bl 8000da4
( void ) xTaskResumeAll();
- 800073a: f000 fccb bl 80010d4
+ 80008ba: f000 fdcf bl 800145c
traceQUEUE_SEND_FAILED( pxQueue );
+ 80008be: 6b3b ldr r3, [r7, #48] ; 0x30
+ 80008c0: 4618 mov r0, r3
+ 80008c2: f004 fa05 bl 8004cd0
+ 80008c6: 68ba ldr r2, [r7, #8]
+ 80008c8: 6879 ldr r1, [r7, #4]
+ 80008ca: 683b ldr r3, [r7, #0]
+ 80008cc: 9300 str r3, [sp, #0]
+ 80008ce: 460b mov r3, r1
+ 80008d0: 4601 mov r1, r0
+ 80008d2: 205a movs r0, #90 ; 0x5a
+ 80008d4: f003 fc3a bl 800414c
return errQUEUE_FULL;
- 800073e: 2300 movs r3, #0
+ 80008d8: 2300 movs r3, #0
}
} /*lint -restore */
}
- 8000740: 4618 mov r0, r3
- 8000742: 3738 adds r7, #56 ; 0x38
- 8000744: 46bd mov sp, r7
- 8000746: bd80 pop {r7, pc}
- 8000748: e000ed04 .word 0xe000ed04
+ 80008da: 4618 mov r0, r3
+ 80008dc: 3738 adds r7, #56 ; 0x38
+ 80008de: 46bd mov sp, r7
+ 80008e0: bd80 pop {r7, pc}
+ 80008e2: bf00 nop
+ 80008e4: e000ed04 .word 0xe000ed04
-0800074c :
+080008e8 :
BaseType_t xQueueGenericSendFromISR( QueueHandle_t xQueue,
const void * const pvItemToQueue,
BaseType_t * const pxHigherPriorityTaskWoken,
const BaseType_t xCopyPosition )
{
- 800074c: b580 push {r7, lr}
- 800074e: b090 sub sp, #64 ; 0x40
- 8000750: af00 add r7, sp, #0
- 8000752: 60f8 str r0, [r7, #12]
- 8000754: 60b9 str r1, [r7, #8]
- 8000756: 607a str r2, [r7, #4]
- 8000758: 603b str r3, [r7, #0]
+ 80008e8: b580 push {r7, lr}
+ 80008ea: b090 sub sp, #64 ; 0x40
+ 80008ec: af00 add r7, sp, #0
+ 80008ee: 60f8 str r0, [r7, #12]
+ 80008f0: 60b9 str r1, [r7, #8]
+ 80008f2: 607a str r2, [r7, #4]
+ 80008f4: 603b str r3, [r7, #0]
BaseType_t xReturn;
UBaseType_t uxSavedInterruptStatus;
Queue_t * const pxQueue = xQueue;
- 800075a: 68fb ldr r3, [r7, #12]
- 800075c: 63bb str r3, [r7, #56] ; 0x38
+ 80008f6: 68fb ldr r3, [r7, #12]
+ 80008f8: 63bb str r3, [r7, #56] ; 0x38
configASSERT( pxQueue );
- 800075e: 6bbb ldr r3, [r7, #56] ; 0x38
- 8000760: 2b00 cmp r3, #0
- 8000762: d109 bne.n 8000778
- 8000764: f04f 0350 mov.w r3, #80 ; 0x50
- 8000768: f383 8811 msr BASEPRI, r3
- 800076c: f3bf 8f6f isb sy
- 8000770: f3bf 8f4f dsb sy
- 8000774: 62bb str r3, [r7, #40] ; 0x28
- 8000776: e7fe b.n 8000776
+ 80008fa: 6bbb ldr r3, [r7, #56] ; 0x38
+ 80008fc: 2b00 cmp r3, #0
+ 80008fe: d109 bne.n 8000914
+ 8000900: f04f 0350 mov.w r3, #80 ; 0x50
+ 8000904: f383 8811 msr BASEPRI, r3
+ 8000908: f3bf 8f6f isb sy
+ 800090c: f3bf 8f4f dsb sy
+ 8000910: 62bb str r3, [r7, #40] ; 0x28
+ 8000912: e7fe b.n 8000912
configASSERT( !( ( pvItemToQueue == NULL ) && ( pxQueue->uxItemSize != ( UBaseType_t ) 0U ) ) );
- 8000778: 68bb ldr r3, [r7, #8]
- 800077a: 2b00 cmp r3, #0
- 800077c: d103 bne.n 8000786
- 800077e: 6bbb ldr r3, [r7, #56] ; 0x38
- 8000780: 6c1b ldr r3, [r3, #64] ; 0x40
- 8000782: 2b00 cmp r3, #0
- 8000784: d101 bne.n 800078a
- 8000786: 2301 movs r3, #1
- 8000788: e000 b.n 800078c
- 800078a: 2300 movs r3, #0
- 800078c: 2b00 cmp r3, #0
- 800078e: d109 bne.n 80007a4
- 8000790: f04f 0350 mov.w r3, #80 ; 0x50
- 8000794: f383 8811 msr BASEPRI, r3
- 8000798: f3bf 8f6f isb sy
- 800079c: f3bf 8f4f dsb sy
- 80007a0: 627b str r3, [r7, #36] ; 0x24
- 80007a2: e7fe b.n 80007a2
+ 8000914: 68bb ldr r3, [r7, #8]
+ 8000916: 2b00 cmp r3, #0
+ 8000918: d103 bne.n 8000922
+ 800091a: 6bbb ldr r3, [r7, #56] ; 0x38
+ 800091c: 6c1b ldr r3, [r3, #64] ; 0x40
+ 800091e: 2b00 cmp r3, #0
+ 8000920: d101 bne.n 8000926
+ 8000922: 2301 movs r3, #1
+ 8000924: e000 b.n 8000928
+ 8000926: 2300 movs r3, #0
+ 8000928: 2b00 cmp r3, #0
+ 800092a: d109 bne.n 8000940
+ 800092c: f04f 0350 mov.w r3, #80 ; 0x50
+ 8000930: f383 8811 msr BASEPRI, r3
+ 8000934: f3bf 8f6f isb sy
+ 8000938: f3bf 8f4f dsb sy
+ 800093c: 627b str r3, [r7, #36] ; 0x24
+ 800093e: e7fe b.n 800093e
configASSERT( !( ( xCopyPosition == queueOVERWRITE ) && ( pxQueue->uxLength != 1 ) ) );
- 80007a4: 683b ldr r3, [r7, #0]
- 80007a6: 2b02 cmp r3, #2
- 80007a8: d103 bne.n 80007b2
- 80007aa: 6bbb ldr r3, [r7, #56] ; 0x38
- 80007ac: 6bdb ldr r3, [r3, #60] ; 0x3c
- 80007ae: 2b01 cmp r3, #1
- 80007b0: d101 bne.n 80007b6
- 80007b2: 2301 movs r3, #1
- 80007b4: e000 b.n 80007b8
- 80007b6: 2300 movs r3, #0
- 80007b8: 2b00 cmp r3, #0
- 80007ba: d109 bne.n 80007d0
- 80007bc: f04f 0350 mov.w r3, #80 ; 0x50
- 80007c0: f383 8811 msr BASEPRI, r3
- 80007c4: f3bf 8f6f isb sy
- 80007c8: f3bf 8f4f dsb sy
- 80007cc: 623b str r3, [r7, #32]
- 80007ce: e7fe b.n 80007ce
+ 8000940: 683b ldr r3, [r7, #0]
+ 8000942: 2b02 cmp r3, #2
+ 8000944: d103 bne.n 800094e
+ 8000946: 6bbb ldr r3, [r7, #56] ; 0x38
+ 8000948: 6bdb ldr r3, [r3, #60] ; 0x3c
+ 800094a: 2b01 cmp r3, #1
+ 800094c: d101 bne.n 8000952
+ 800094e: 2301 movs r3, #1
+ 8000950: e000 b.n 8000954
+ 8000952: 2300 movs r3, #0
+ 8000954: 2b00 cmp r3, #0
+ 8000956: d109 bne.n 800096c
+ 8000958: f04f 0350 mov.w r3, #80 ; 0x50
+ 800095c: f383 8811 msr BASEPRI, r3
+ 8000960: f3bf 8f6f isb sy
+ 8000964: f3bf 8f4f dsb sy
+ 8000968: 623b str r3, [r7, #32]
+ 800096a: e7fe b.n 800096a
* that have been assigned a priority at or (logically) below the maximum
* system call interrupt priority. FreeRTOS maintains a separate interrupt
* safe API to ensure interrupt entry is as fast and as simple as possible.
* More information (albeit Cortex-M specific) is provided on the following
* link: https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html */
portASSERT_IF_INTERRUPT_PRIORITY_INVALID();
- 80007d0: f001 fe32 bl 8002438