working face identify function

This commit is contained in:
Siwat Sirichai 2023-09-25 01:30:29 +07:00
parent 5bd4b4c100
commit 3ee1e00519
18 changed files with 9516 additions and 9334 deletions

View File

@ -3,23 +3,26 @@ import cv2
import base64
import requests
#Capture Image
cam = cv2.VideoCapture(1)
ret, img = cam.read()
# #Capture Image
# cam = cv2.VideoCapture(1)
# ret, img = cam.read()
# #Save Image
# cv2.imwrite("cam_test_img_pre.jpg",img)
# #Load Image
# img = cv2.imread("cam_test_img_pre.jpg")
#Load Image
img = cv2.imread("cam_test_img_pre.jpg")
#Encode Image
ret, jpg_buffer = cv2.imencode('.jpg',img)
b64_img = base64.b64encode(jpg_buffer)
#Send Image to Server
api_endpoint = "https://racist.siwatsystem.com/process_image"
api_endpoint = "http://localhost:5000/identify_face"
data = {"image":b64_img.decode("utf-8")}
req = requests.post("https://racist.siwatsystem.com/process_image",json=data)
req = requests.post(api_endpoint,json=data)
print(req.content)
#Decode Image

View File

@ -0,0 +1,28 @@
import numpy as np
import cv2
import base64
import requests
import json
api_server = "http://localhost:5000"
#api_server = "https://racist.siwatsystem.com"
def analyze_face(img):
endpoint = api_server +"/process_image"
ret, jpg_buffer = cv2.imencode('.jpg',img)
b64_img = base64.b64encode(jpg_buffer)
data = {"image":b64_img.decode("utf-8")}
req = requests.post(endpoint,json=data)
res = res.content.decode("utf-8")
res = json.loads(res)
return res
def identify_face(img, target_condidence: float):
endpoint = api_server +"/identify_face"
ret, jpg_buffer = cv2.imencode('.jpg',img)
b64_img = base64.b64encode(jpg_buffer)
data = {"image":b64_img.decode("utf-8"),"target_confidence": target_condidence}
req = requests.post(endpoint,json=data)
res = req.content.decode("utf-8")
res = json.loads(res)
return res

View File

@ -0,0 +1,8 @@
import numpy as np
import cv2
import face_processing as fp
cam = cv2.VideoCapture(0)
while True:
#Capture Image
ret, img = cam.read()
print(fp.identify_face(img,0.4))

View File

@ -1,21 +1,37 @@
from access_control import access_control
from line_notify import LineNotify
import cv2
import threading
import time
import face_processing as fp
from access_control import access_control
stm32 = access_control("COM12")
time.sleep(1)
stm32.lock_door()
#stm32.unlock_door()
time.sleep(1)
#door_state = False
#while True:
#print(stm32._in_payloads)
#if(door_state != stm32.get_door_state()):
# door_state = stm32.get_door_state()
# notify = LineNotify("olK1QXriiuKgfxB6xkj7SIFfj9jsXfpl2PqmjCDuBRw")
# notify.send(f'door is {door_state}')
#if(stm32.get_door_state() == True):
# stm32.lock_door()
#else:
# stm32.unlock_door()
#time.sleep(0.01)
SERIAL_PORT = "COM12"
CAMERA_INDEX = 0
cam = cv2.VideoCapture(CAMERA_INDEX)
stm32 = access_control(SERIAL_PORT)
global img
global frame_ready
frame_ready = False
def read_webcam():
global img
global frame_ready
while True:
ret, img = cam.read()
frame_ready = True
threading.Thread(target=read_webcam).start()
while True:
while not frame_ready:
time.sleep(1)
#Try to identify face
faces = fp.identify_face(img, target_condidence=0.4)
if(len(faces)>0):
print("Door Unlocked!, Locking in 5 seconds")
stm32.unlock_door()
time.sleep(5)
stm32.lock_door()
print("Door Locked!")

View File

@ -0,0 +1,26 @@
from access_control import access_control
from line_notify import LineNotify
import time
stm32 = access_control("COM12")
time.sleep(1)
while True:
cmd = input("Enter Command : ")
if(cmd == 'lock'):
stm32.lock_door()
if(cmd == 'unlock'):
stm32.unlock_door()
#stm32.unlock_door()
time.sleep(1)
#door_state = False
#while True:
#print(stm32._in_payloads)
#if(door_state != stm32.get_door_state()):
# door_state = stm32.get_door_state()
# notify = LineNotify("olK1QXriiuKgfxB6xkj7SIFfj9jsXfpl2PqmjCDuBRw")
# notify.send(f'door is {door_state}')
#if(stm32.get_door_state() == True):
# stm32.lock_door()
#else:
# stm32.unlock_door()
#time.sleep(0.01)

View File

@ -4,17 +4,29 @@ import cv2
import base64
import numpy as np
from deepface import DeepFace
import face_recognition as face
import os
app = Flask(__name__)
face_encodings: list = []
face_names: list = []
def init_face() -> None:
for file in os.scandir("faces"):
face_name = file.name.split('.')
face_name = '.'.join(face_name[0:len(face_name)-1])
face_names.append(face_name)
face_image = face.load_image_file(file.path)
face_encodings.append(face.face_encodings(face_image)[0])
@app.route('/')
def home():
def home() -> str:
return '<h1>Ching Chong Bing Bong Ding Dong!!</h1>'
@app.route('/process_image', methods=['POST'])
def process_image():
def process_image() -> str:
print(request.data)
request_data = json.loads(request.data.decode("utf-8"))
img_nparr = np.frombuffer(base64.b64decode(request_data['image']), np.uint8)
@ -25,6 +37,30 @@ def process_image():
except:
return []
@app.route('/identify_face', methods=['POST'])
def identify_face() -> str:
request_data = json.loads(request.data.decode("utf-8"))
target_confidence: float = request_data['target_confidence']
img_nparr = np.frombuffer(base64.b64decode(request_data['image']), np.uint8)
img = cv2.imdecode(img_nparr,cv2.IMREAD_COLOR)
img = cv2.resize(img, (0,0), fx=0.5,fy=0.5)
img = np.ascontiguousarray(img[:, :, ::-1])
face_locations = face.face_locations(img)
face_encodings_img = face.face_encodings(img, face_locations)
response: list = []
for face_encoding in face_encodings_img:
face_distances = face.face_distance(face_encodings, face_encoding)
index = np.argmin(face_distances)
confidence = 1-face_distances[index]
if confidence >= target_confidence:
response.append({'name':face_names[index],'confidence': confidence})
return response
if __name__ == '__main__':
init_face()
print(face_names)
print(face_encodings)
app.run()

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

View File

@ -1,3 +1,4 @@
flask
opencv-python
deepface
face_recognition

View File

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1436984317184984730" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1557335828660111611" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1436984317184984730" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1557335828660111611" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

View File

@ -59,18 +59,12 @@ UART_HandleTypeDef huart2;
/* Definitions for mainTask */
osThreadId_t mainTaskHandle;
const osThreadAttr_t mainTask_attributes = {
.name = "mainTask",
.stack_size = 128 * 4,
.priority = (osPriority_t) osPriorityNormal,
};
const osThreadAttr_t mainTask_attributes = { .name = "mainTask", .stack_size =
128 * 4, .priority = (osPriority_t) osPriorityNormal, };
/* Definitions for doorHandler */
osThreadId_t doorHandlerHandle;
const osThreadAttr_t doorHandler_attributes = {
.name = "doorHandler",
.stack_size = 128 * 4,
.priority = (osPriority_t) osPriorityLow,
};
const osThreadAttr_t doorHandler_attributes = { .name = "doorHandler",
.stack_size = 128 * 4, .priority = (osPriority_t) osPriorityLow, };
/* USER CODE BEGIN PV */
uint8_t uart_buffer[10];
uint8_t uart_index = 0;
@ -101,207 +95,201 @@ void startDoorHandleTask(void *argument);
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
* @brief The application entry point.
* @retval int
*/
int main(void) {
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART2_UART_Init();
/* USER CODE BEGIN 2 */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART2_UART_Init();
/* USER CODE BEGIN 2 */
memset(uart_buffer, 0, 10);
/* USER CODE END 2 */
/* USER CODE END 2 */
/* Init scheduler */
osKernelInitialize();
/* Init scheduler */
osKernelInitialize();
/* USER CODE BEGIN RTOS_MUTEX */
/* USER CODE BEGIN RTOS_MUTEX */
/* add mutexes, ... */
/* USER CODE END RTOS_MUTEX */
/* USER CODE END RTOS_MUTEX */
/* USER CODE BEGIN RTOS_SEMAPHORES */
/* USER CODE BEGIN RTOS_SEMAPHORES */
/* add semaphores, ... */
/* USER CODE END RTOS_SEMAPHORES */
/* USER CODE END RTOS_SEMAPHORES */
/* USER CODE BEGIN RTOS_TIMERS */
/* USER CODE BEGIN RTOS_TIMERS */
/* start timers, add new ones, ... */
/* USER CODE END RTOS_TIMERS */
/* USER CODE END RTOS_TIMERS */
/* USER CODE BEGIN RTOS_QUEUES */
/* USER CODE BEGIN RTOS_QUEUES */
/* add queues, ... */
/* USER CODE END RTOS_QUEUES */
/* USER CODE END RTOS_QUEUES */
/* Create the thread(s) */
/* creation of mainTask */
mainTaskHandle = osThreadNew(StartMainTask, NULL, &mainTask_attributes);
/* Create the thread(s) */
/* creation of mainTask */
mainTaskHandle = osThreadNew(StartMainTask, NULL, &mainTask_attributes);
/* creation of doorHandler */
doorHandlerHandle = osThreadNew(startDoorHandleTask, NULL, &doorHandler_attributes);
/* creation of doorHandler */
doorHandlerHandle = osThreadNew(startDoorHandleTask, NULL,
&doorHandler_attributes);
/* USER CODE BEGIN RTOS_THREADS */
/* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */
/* USER CODE END RTOS_THREADS */
/* USER CODE END RTOS_THREADS */
/* USER CODE BEGIN RTOS_EVENTS */
/* USER CODE BEGIN RTOS_EVENTS */
/* add events, ... */
/* USER CODE END RTOS_EVENTS */
/* USER CODE END RTOS_EVENTS */
/* Start scheduler */
osKernelStart();
/* Start scheduler */
osKernelStart();
/* We should never get here as control is now taken by the scheduler */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
/* We should never get here as control is now taken by the scheduler */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1) {
}
/* USER CODE END WHILE */
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
/* USER CODE BEGIN 3 */
/* USER CODE END 3 */
/* USER CODE END 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void) {
RCC_OscInitTypeDef RCC_OscInitStruct = { 0 };
RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 };
/** Configure the main internal regulator output voltage
*/
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/** Configure the main internal regulator output voltage
*/
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
RCC_OscInitStruct.PLL.PLLM = 16;
RCC_OscInitStruct.PLL.PLLN = 336;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4;
RCC_OscInitStruct.PLL.PLLQ = 4;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
RCC_OscInitStruct.PLL.PLLM = 16;
RCC_OscInitStruct.PLL.PLLN = 336;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4;
RCC_OscInitStruct.PLL.PLLQ = 4;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
Error_Handler();
}
/** Initializes the CPU, AHB and APB buses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
/** Initializes the CPU, AHB and APB buses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
{
Error_Handler();
}
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) {
Error_Handler();
}
}
/**
* @brief USART2 Initialization Function
* @param None
* @retval None
*/
static void MX_USART2_UART_Init(void)
{
* @brief USART2 Initialization Function
* @param None
* @retval None
*/
static void MX_USART2_UART_Init(void) {
/* USER CODE BEGIN USART2_Init 0 */
/* USER CODE BEGIN USART2_Init 0 */
/* USER CODE END USART2_Init 0 */
/* USER CODE END USART2_Init 0 */
/* USER CODE BEGIN USART2_Init 1 */
/* USER CODE BEGIN USART2_Init 1 */
/* USER CODE END USART2_Init 1 */
huart2.Instance = USART2;
huart2.Init.BaudRate = 9600;
huart2.Init.WordLength = UART_WORDLENGTH_8B;
huart2.Init.StopBits = UART_STOPBITS_1;
huart2.Init.Parity = UART_PARITY_NONE;
huart2.Init.Mode = UART_MODE_TX_RX;
huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart2) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN USART2_Init 2 */
/* USER CODE END USART2_Init 1 */
huart2.Instance = USART2;
huart2.Init.BaudRate = 9600;
huart2.Init.WordLength = UART_WORDLENGTH_8B;
huart2.Init.StopBits = UART_STOPBITS_1;
huart2.Init.Parity = UART_PARITY_NONE;
huart2.Init.Mode = UART_MODE_TX_RX;
huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart2) != HAL_OK) {
Error_Handler();
}
/* USER CODE BEGIN USART2_Init 2 */
/* USER CODE END USART2_Init 2 */
/* USER CODE END USART2_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void) {
GPIO_InitTypeDef GPIO_InitStruct = { 0 };
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOA, LD2_Pin|Door_Lock_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOA, LD2_Pin | Door_Lock_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin : B1_Pin */
GPIO_InitStruct.Pin = B1_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(B1_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pin : B1_Pin */
GPIO_InitStruct.Pin = B1_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(B1_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : LD2_Pin Door_Lock_Pin */
GPIO_InitStruct.Pin = LD2_Pin|Door_Lock_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pins : LD2_Pin Door_Lock_Pin */
GPIO_InitStruct.Pin = LD2_Pin | Door_Lock_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pin : Door_Sensor_Pin */
GPIO_InitStruct.Pin = Door_Sensor_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(Door_Sensor_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pin : Door_Sensor_Pin */
GPIO_InitStruct.Pin = Door_Sensor_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(Door_Sensor_GPIO_Port, &GPIO_InitStruct);
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
@ -315,9 +303,8 @@ static void MX_GPIO_Init(void)
* @retval None
*/
/* USER CODE END Header_StartMainTask */
void StartMainTask(void *argument)
{
/* USER CODE BEGIN 5 */
void StartMainTask(void *argument) {
/* USER CODE BEGIN 5 */
memset(uart_buffer, 0, 10);
/* USER CODE END 2 */
@ -346,14 +333,14 @@ void StartMainTask(void *argument)
}
uart_index = 0;
memset(uart_buffer, 0, 10);
} else if (uart_index > sizeof(uart_buffer)-1) {
} else if (uart_index > sizeof(uart_buffer) - 1) {
memset(uart_buffer, 0, 10);
uart_index=0;
uart_index = 0;
}
}
vTaskDelay(1);
}
/* USER CODE END 5 */
/* USER CODE END 5 */
}
/* USER CODE BEGIN Header_startDoorHandleTask */
@ -363,9 +350,8 @@ void StartMainTask(void *argument)
* @retval None
*/
/* USER CODE END Header_startDoorHandleTask */
void startDoorHandleTask(void *argument)
{
/* USER CODE BEGIN startDoorHandleTask */
void startDoorHandleTask(void *argument) {
/* USER CODE BEGIN startDoorHandleTask */
/* Infinite loop */
for (;;) {
door_state = HAL_GPIO_ReadPin(DOOR_SENSOR_BANK, DOOR_SENSOR_PIN);
@ -374,6 +360,7 @@ void startDoorHandleTask(void *argument)
if (door_state == DOOR_STATE_CLOSED) {
HAL_GPIO_WritePin(DOOR_LOCK_PIN, DOOR_LOCK_BANK, 1);
door_lock_state = DOOR_LOCK_LOCKED;
door_lock_waiting = false;
} else {
if (!door_lock_waiting) {
door_lock_command_time = HAL_GetTick();
@ -387,6 +374,7 @@ void startDoorHandleTask(void *argument)
}
} else {
HAL_GPIO_WritePin(DOOR_LOCK_PIN, DOOR_LOCK_BANK, 1);
door_lock_waiting = false;
door_lock_state = DOOR_LOCK_LOCKED;
}
}
@ -394,49 +382,58 @@ void startDoorHandleTask(void *argument)
} else if (door_lock_state_command == DOOR_LOCK_UNLOCKED) {
HAL_GPIO_WritePin(DOOR_LOCK_PIN, DOOR_LOCK_BANK, 0);
door_lock_state = DOOR_LOCK_UNLOCKED;
door_lock_waiting = false;
}
}
if(!door_lock_state_command && door_lock_waiting) {
door_lock_waiting = false;
}
if (alarm_active && !door_lock_state_command) {
HAL_GPIO_WritePin(ALARM_BANK, ALARM_PIN, 0);
alarm_active = false;
}
if (!door_state && door_lock_state) {
HAL_GPIO_WritePin(ALARM_BANK, ALARM_PIN, 1);
alarm_active = true;
}
//HAL_GPIO_WritePin(DOOR_LOCK_PIN, DOOR_LOCK_BANK, uart_buffer[1]);
vTaskDelay(100);
vTaskDelay(50);
}
/* USER CODE END startDoorHandleTask */
/* USER CODE END startDoorHandleTask */
}
/**
* @brief Period elapsed callback in non blocking mode
* @note This function is called when TIM1 interrupt took place, inside
* HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
* a global variable "uwTick" used as application time base.
* @param htim : TIM handle
* @retval None
*/
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
/* USER CODE BEGIN Callback 0 */
* @brief Period elapsed callback in non blocking mode
* @note This function is called when TIM1 interrupt took place, inside
* HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
* a global variable "uwTick" used as application time base.
* @param htim : TIM handle
* @retval None
*/
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
/* USER CODE BEGIN Callback 0 */
/* USER CODE END Callback 0 */
if (htim->Instance == TIM1) {
HAL_IncTick();
}
/* USER CODE BEGIN Callback 1 */
/* USER CODE END Callback 0 */
if (htim->Instance == TIM1) {
HAL_IncTick();
}
/* USER CODE BEGIN Callback 1 */
/* USER CODE END Callback 1 */
/* USER CODE END Callback 1 */
}
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void) {
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1) {
}
/* USER CODE END Error_Handler_Debug */
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT

View File

@ -1,8 +1,8 @@
../Core/Src/main.c:107:5:main 1
../Core/Src/main.c:189:6:SystemClock_Config 3
../Core/Src/main.c:236:13:MX_USART2_UART_Init 2
../Core/Src/main.c:269:13:MX_GPIO_Init 1
../Core/Src/main.c:318:6:StartMainTask 8
../Core/Src/main.c:366:6:startDoorHandleTask 8
../Core/Src/main.c:415:6:HAL_TIM_PeriodElapsedCallback 2
../Core/Src/main.c:432:6:Error_Handler 1
../Core/Src/main.c:101:5:main 1
../Core/Src/main.c:183:6:SystemClock_Config 3
../Core/Src/main.c:227:13:MX_USART2_UART_Init 2
../Core/Src/main.c:258:13:MX_GPIO_Init 1
../Core/Src/main.c:306:6:StartMainTask 8
../Core/Src/main.c:353:6:startDoorHandleTask 14
../Core/Src/main.c:414:6:HAL_TIM_PeriodElapsedCallback 2
../Core/Src/main.c:430:6:Error_Handler 1

View File

@ -1,8 +1,8 @@
../Core/Src/main.c:107:5:main 8 static
../Core/Src/main.c:189:6:SystemClock_Config 88 static
../Core/Src/main.c:236:13:MX_USART2_UART_Init 8 static
../Core/Src/main.c:269:13:MX_GPIO_Init 48 static
../Core/Src/main.c:318:6:StartMainTask 24 static
../Core/Src/main.c:366:6:startDoorHandleTask 16 static
../Core/Src/main.c:415:6:HAL_TIM_PeriodElapsedCallback 16 static
../Core/Src/main.c:432:6:Error_Handler 4 static,ignoring_inline_asm
../Core/Src/main.c:101:5:main 8 static
../Core/Src/main.c:183:6:SystemClock_Config 88 static
../Core/Src/main.c:227:13:MX_USART2_UART_Init 8 static
../Core/Src/main.c:258:13:MX_GPIO_Init 48 static
../Core/Src/main.c:306:6:StartMainTask 24 static
../Core/Src/main.c:353:6:startDoorHandleTask 16 static
../Core/Src/main.c:414:6:HAL_TIM_PeriodElapsedCallback 16 static
../Core/Src/main.c:430:6:Error_Handler 4 static,ignoring_inline_asm

File diff suppressed because it is too large Load Diff

View File

@ -4531,7 +4531,7 @@ LOAD C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext
0x0000000008000000 g_pfnVectors
0x0000000008000198 . = ALIGN (0x4)
.text 0x00000000080001a0 0x54a8
.text 0x00000000080001a0 0x5528
0x00000000080001a0 . = ALIGN (0x4)
*(.text)
.text 0x00000000080001a0 0x40 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o
@ -4556,543 +4556,543 @@ LOAD C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext
0x0000000008000760 0xf4 ./Core/Src/main.o
0x0000000008000760 StartMainTask
.text.startDoorHandleTask
0x0000000008000854 0x100 ./Core/Src/main.o
0x0000000008000854 0x17c ./Core/Src/main.o
0x0000000008000854 startDoorHandleTask
.text.HAL_TIM_PeriodElapsedCallback
0x0000000008000954 0x24 ./Core/Src/main.o
0x0000000008000954 HAL_TIM_PeriodElapsedCallback
0x00000000080009d0 0x24 ./Core/Src/main.o
0x00000000080009d0 HAL_TIM_PeriodElapsedCallback
.text.Error_Handler
0x0000000008000978 0xa ./Core/Src/main.o
0x0000000008000978 Error_Handler
*fill* 0x0000000008000982 0x2
0x00000000080009f4 0xa ./Core/Src/main.o
0x00000000080009f4 Error_Handler
*fill* 0x00000000080009fe 0x2
.text.HAL_MspInit
0x0000000008000984 0x58 ./Core/Src/stm32f4xx_hal_msp.o
0x0000000008000984 HAL_MspInit
0x0000000008000a00 0x58 ./Core/Src/stm32f4xx_hal_msp.o
0x0000000008000a00 HAL_MspInit
.text.HAL_UART_MspInit
0x00000000080009dc 0x90 ./Core/Src/stm32f4xx_hal_msp.o
0x00000000080009dc HAL_UART_MspInit
0x0000000008000a58 0x90 ./Core/Src/stm32f4xx_hal_msp.o
0x0000000008000a58 HAL_UART_MspInit
.text.HAL_InitTick
0x0000000008000a6c 0xe4 ./Core/Src/stm32f4xx_hal_timebase_tim.o
0x0000000008000a6c HAL_InitTick
0x0000000008000ae8 0xe4 ./Core/Src/stm32f4xx_hal_timebase_tim.o
0x0000000008000ae8 HAL_InitTick
.text.NMI_Handler
0x0000000008000b50 0x6 ./Core/Src/stm32f4xx_it.o
0x0000000008000b50 NMI_Handler
0x0000000008000bcc 0x6 ./Core/Src/stm32f4xx_it.o
0x0000000008000bcc NMI_Handler
.text.HardFault_Handler
0x0000000008000b56 0x6 ./Core/Src/stm32f4xx_it.o
0x0000000008000b56 HardFault_Handler
0x0000000008000bd2 0x6 ./Core/Src/stm32f4xx_it.o
0x0000000008000bd2 HardFault_Handler
.text.MemManage_Handler
0x0000000008000b5c 0x6 ./Core/Src/stm32f4xx_it.o
0x0000000008000b5c MemManage_Handler
0x0000000008000bd8 0x6 ./Core/Src/stm32f4xx_it.o
0x0000000008000bd8 MemManage_Handler
.text.BusFault_Handler
0x0000000008000b62 0x6 ./Core/Src/stm32f4xx_it.o
0x0000000008000b62 BusFault_Handler
0x0000000008000bde 0x6 ./Core/Src/stm32f4xx_it.o
0x0000000008000bde BusFault_Handler
.text.UsageFault_Handler
0x0000000008000b68 0x6 ./Core/Src/stm32f4xx_it.o
0x0000000008000b68 UsageFault_Handler
0x0000000008000be4 0x6 ./Core/Src/stm32f4xx_it.o
0x0000000008000be4 UsageFault_Handler
.text.DebugMon_Handler
0x0000000008000b6e 0xe ./Core/Src/stm32f4xx_it.o
0x0000000008000b6e DebugMon_Handler
0x0000000008000bea 0xe ./Core/Src/stm32f4xx_it.o
0x0000000008000bea DebugMon_Handler
.text.TIM1_UP_TIM10_IRQHandler
0x0000000008000b7c 0x14 ./Core/Src/stm32f4xx_it.o
0x0000000008000b7c TIM1_UP_TIM10_IRQHandler
0x0000000008000bf8 0x14 ./Core/Src/stm32f4xx_it.o
0x0000000008000bf8 TIM1_UP_TIM10_IRQHandler
.text.SystemInit
0x0000000008000b90 0x24 ./Core/Src/system_stm32f4xx.o
0x0000000008000b90 SystemInit
0x0000000008000c0c 0x24 ./Core/Src/system_stm32f4xx.o
0x0000000008000c0c SystemInit
.text.Reset_Handler
0x0000000008000bb4 0x50 ./Core/Startup/startup_stm32f411retx.o
0x0000000008000bb4 Reset_Handler
0x0000000008000c30 0x50 ./Core/Startup/startup_stm32f411retx.o
0x0000000008000c30 Reset_Handler
.text.Default_Handler
0x0000000008000c04 0x2 ./Core/Startup/startup_stm32f411retx.o
0x0000000008000c04 RTC_Alarm_IRQHandler
0x0000000008000c04 EXTI2_IRQHandler
0x0000000008000c04 SPI4_IRQHandler
0x0000000008000c04 TIM1_CC_IRQHandler
0x0000000008000c04 DMA2_Stream5_IRQHandler
0x0000000008000c04 DMA1_Stream5_IRQHandler
0x0000000008000c04 PVD_IRQHandler
0x0000000008000c04 SDIO_IRQHandler
0x0000000008000c04 TAMP_STAMP_IRQHandler
0x0000000008000c04 EXTI3_IRQHandler
0x0000000008000c04 I2C3_ER_IRQHandler
0x0000000008000c04 EXTI0_IRQHandler
0x0000000008000c04 I2C2_EV_IRQHandler
0x0000000008000c04 DMA1_Stream2_IRQHandler
0x0000000008000c04 FPU_IRQHandler
0x0000000008000c04 DMA2_Stream2_IRQHandler
0x0000000008000c04 SPI1_IRQHandler
0x0000000008000c04 TIM1_BRK_TIM9_IRQHandler
0x0000000008000c04 DMA2_Stream3_IRQHandler
0x0000000008000c04 USART6_IRQHandler
0x0000000008000c04 DMA2_Stream0_IRQHandler
0x0000000008000c04 TIM4_IRQHandler
0x0000000008000c04 I2C1_EV_IRQHandler
0x0000000008000c04 DMA1_Stream6_IRQHandler
0x0000000008000c04 DMA1_Stream1_IRQHandler
0x0000000008000c04 TIM3_IRQHandler
0x0000000008000c04 RCC_IRQHandler
0x0000000008000c04 Default_Handler
0x0000000008000c04 EXTI15_10_IRQHandler
0x0000000008000c04 ADC_IRQHandler
0x0000000008000c04 DMA1_Stream7_IRQHandler
0x0000000008000c04 SPI5_IRQHandler
0x0000000008000c04 TIM5_IRQHandler
0x0000000008000c04 DMA2_Stream7_IRQHandler
0x0000000008000c04 I2C3_EV_IRQHandler
0x0000000008000c04 EXTI9_5_IRQHandler
0x0000000008000c04 RTC_WKUP_IRQHandler
0x0000000008000c04 SPI2_IRQHandler
0x0000000008000c04 DMA1_Stream0_IRQHandler
0x0000000008000c04 EXTI4_IRQHandler
0x0000000008000c04 WWDG_IRQHandler
0x0000000008000c04 TIM2_IRQHandler
0x0000000008000c04 OTG_FS_WKUP_IRQHandler
0x0000000008000c04 TIM1_TRG_COM_TIM11_IRQHandler
0x0000000008000c04 EXTI1_IRQHandler
0x0000000008000c04 USART2_IRQHandler
0x0000000008000c04 I2C2_ER_IRQHandler
0x0000000008000c04 DMA2_Stream1_IRQHandler
0x0000000008000c04 FLASH_IRQHandler
0x0000000008000c04 DMA2_Stream4_IRQHandler
0x0000000008000c04 USART1_IRQHandler
0x0000000008000c04 OTG_FS_IRQHandler
0x0000000008000c04 SPI3_IRQHandler
0x0000000008000c04 DMA1_Stream4_IRQHandler
0x0000000008000c04 I2C1_ER_IRQHandler
0x0000000008000c04 DMA2_Stream6_IRQHandler
0x0000000008000c04 DMA1_Stream3_IRQHandler
*fill* 0x0000000008000c06 0x2
0x0000000008000c80 0x2 ./Core/Startup/startup_stm32f411retx.o
0x0000000008000c80 RTC_Alarm_IRQHandler
0x0000000008000c80 EXTI2_IRQHandler
0x0000000008000c80 SPI4_IRQHandler
0x0000000008000c80 TIM1_CC_IRQHandler
0x0000000008000c80 DMA2_Stream5_IRQHandler
0x0000000008000c80 DMA1_Stream5_IRQHandler
0x0000000008000c80 PVD_IRQHandler
0x0000000008000c80 SDIO_IRQHandler
0x0000000008000c80 TAMP_STAMP_IRQHandler
0x0000000008000c80 EXTI3_IRQHandler
0x0000000008000c80 I2C3_ER_IRQHandler
0x0000000008000c80 EXTI0_IRQHandler
0x0000000008000c80 I2C2_EV_IRQHandler
0x0000000008000c80 DMA1_Stream2_IRQHandler
0x0000000008000c80 FPU_IRQHandler
0x0000000008000c80 DMA2_Stream2_IRQHandler
0x0000000008000c80 SPI1_IRQHandler
0x0000000008000c80 TIM1_BRK_TIM9_IRQHandler
0x0000000008000c80 DMA2_Stream3_IRQHandler
0x0000000008000c80 USART6_IRQHandler
0x0000000008000c80 DMA2_Stream0_IRQHandler
0x0000000008000c80 TIM4_IRQHandler
0x0000000008000c80 I2C1_EV_IRQHandler
0x0000000008000c80 DMA1_Stream6_IRQHandler
0x0000000008000c80 DMA1_Stream1_IRQHandler
0x0000000008000c80 TIM3_IRQHandler
0x0000000008000c80 RCC_IRQHandler
0x0000000008000c80 Default_Handler
0x0000000008000c80 EXTI15_10_IRQHandler
0x0000000008000c80 ADC_IRQHandler
0x0000000008000c80 DMA1_Stream7_IRQHandler
0x0000000008000c80 SPI5_IRQHandler
0x0000000008000c80 TIM5_IRQHandler
0x0000000008000c80 DMA2_Stream7_IRQHandler
0x0000000008000c80 I2C3_EV_IRQHandler
0x0000000008000c80 EXTI9_5_IRQHandler
0x0000000008000c80 RTC_WKUP_IRQHandler
0x0000000008000c80 SPI2_IRQHandler
0x0000000008000c80 DMA1_Stream0_IRQHandler
0x0000000008000c80 EXTI4_IRQHandler
0x0000000008000c80 WWDG_IRQHandler
0x0000000008000c80 TIM2_IRQHandler
0x0000000008000c80 OTG_FS_WKUP_IRQHandler
0x0000000008000c80 TIM1_TRG_COM_TIM11_IRQHandler
0x0000000008000c80 EXTI1_IRQHandler
0x0000000008000c80 USART2_IRQHandler
0x0000000008000c80 I2C2_ER_IRQHandler
0x0000000008000c80 DMA2_Stream1_IRQHandler
0x0000000008000c80 FLASH_IRQHandler
0x0000000008000c80 DMA2_Stream4_IRQHandler
0x0000000008000c80 USART1_IRQHandler
0x0000000008000c80 OTG_FS_IRQHandler
0x0000000008000c80 SPI3_IRQHandler
0x0000000008000c80 DMA1_Stream4_IRQHandler
0x0000000008000c80 I2C1_ER_IRQHandler
0x0000000008000c80 DMA2_Stream6_IRQHandler
0x0000000008000c80 DMA1_Stream3_IRQHandler
*fill* 0x0000000008000c82 0x2
.text.HAL_Init
0x0000000008000c08 0x44 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o
0x0000000008000c08 HAL_Init
0x0000000008000c84 0x44 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o
0x0000000008000c84 HAL_Init
.text.HAL_IncTick
0x0000000008000c4c 0x28 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o
0x0000000008000c4c HAL_IncTick
0x0000000008000cc8 0x28 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o
0x0000000008000cc8 HAL_IncTick
.text.HAL_GetTick
0x0000000008000c74 0x18 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o
0x0000000008000c74 HAL_GetTick
0x0000000008000cf0 0x18 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o
0x0000000008000cf0 HAL_GetTick
.text.__NVIC_SetPriorityGrouping
0x0000000008000c8c 0x48 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
0x0000000008000d08 0x48 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
.text.__NVIC_GetPriorityGrouping
0x0000000008000cd4 0x1c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
0x0000000008000d50 0x1c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
.text.__NVIC_EnableIRQ
0x0000000008000cf0 0x3c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
0x0000000008000d6c 0x3c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
.text.__NVIC_SetPriority
0x0000000008000d2c 0x54 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
0x0000000008000da8 0x54 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
.text.NVIC_EncodePriority
0x0000000008000d80 0x66 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
0x0000000008000dfc 0x66 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
.text.HAL_NVIC_SetPriorityGrouping
0x0000000008000de6 0x16 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
0x0000000008000de6 HAL_NVIC_SetPriorityGrouping
0x0000000008000e62 0x16 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
0x0000000008000e62 HAL_NVIC_SetPriorityGrouping
.text.HAL_NVIC_SetPriority
0x0000000008000dfc 0x38 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
0x0000000008000dfc HAL_NVIC_SetPriority
0x0000000008000e78 0x38 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
0x0000000008000e78 HAL_NVIC_SetPriority
.text.HAL_NVIC_EnableIRQ
0x0000000008000e34 0x1c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
0x0000000008000e34 HAL_NVIC_EnableIRQ
0x0000000008000eb0 0x1c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
0x0000000008000eb0 HAL_NVIC_EnableIRQ
.text.HAL_GPIO_Init
0x0000000008000e50 0x308 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o
0x0000000008000e50 HAL_GPIO_Init
0x0000000008000ecc 0x308 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o
0x0000000008000ecc HAL_GPIO_Init
.text.HAL_GPIO_ReadPin
0x0000000008001158 0x30 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o
0x0000000008001158 HAL_GPIO_ReadPin
0x00000000080011d4 0x30 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o
0x00000000080011d4 HAL_GPIO_ReadPin
.text.HAL_GPIO_WritePin
0x0000000008001188 0x32 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o
0x0000000008001188 HAL_GPIO_WritePin
*fill* 0x00000000080011ba 0x2
0x0000000008001204 0x32 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o
0x0000000008001204 HAL_GPIO_WritePin
*fill* 0x0000000008001236 0x2
.text.HAL_RCC_OscConfig
0x00000000080011bc 0x4f0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x00000000080011bc HAL_RCC_OscConfig
0x0000000008001238 0x4f0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x0000000008001238 HAL_RCC_OscConfig
.text.HAL_RCC_ClockConfig
0x00000000080016ac 0x1cc ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x00000000080016ac HAL_RCC_ClockConfig
0x0000000008001728 0x1cc ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x0000000008001728 HAL_RCC_ClockConfig
.text.HAL_RCC_GetSysClockFreq
0x0000000008001878 0x20c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x0000000008001878 HAL_RCC_GetSysClockFreq
0x00000000080018f4 0x20c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x00000000080018f4 HAL_RCC_GetSysClockFreq
.text.HAL_RCC_GetHCLKFreq
0x0000000008001a84 0x18 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x0000000008001a84 HAL_RCC_GetHCLKFreq
0x0000000008001b00 0x18 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x0000000008001b00 HAL_RCC_GetHCLKFreq
.text.HAL_RCC_GetPCLK1Freq
0x0000000008001a9c 0x28 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x0000000008001a9c HAL_RCC_GetPCLK1Freq
0x0000000008001b18 0x28 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x0000000008001b18 HAL_RCC_GetPCLK1Freq
.text.HAL_RCC_GetPCLK2Freq
0x0000000008001ac4 0x28 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x0000000008001ac4 HAL_RCC_GetPCLK2Freq
0x0000000008001b40 0x28 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x0000000008001b40 HAL_RCC_GetPCLK2Freq
.text.HAL_RCC_GetClockConfig
0x0000000008001aec 0x64 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x0000000008001aec HAL_RCC_GetClockConfig
0x0000000008001b68 0x64 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
0x0000000008001b68 HAL_RCC_GetClockConfig
.text.HAL_TIM_Base_Init
0x0000000008001b50 0x9e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001b50 HAL_TIM_Base_Init
0x0000000008001bcc 0x9e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001bcc HAL_TIM_Base_Init
.text.HAL_TIM_Base_MspInit
0x0000000008001bee 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001bee HAL_TIM_Base_MspInit
*fill* 0x0000000008001c02 0x2
0x0000000008001c6a 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001c6a HAL_TIM_Base_MspInit
*fill* 0x0000000008001c7e 0x2
.text.HAL_TIM_Base_Start_IT
0x0000000008001c04 0xc4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001c04 HAL_TIM_Base_Start_IT
0x0000000008001c80 0xc4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001c80 HAL_TIM_Base_Start_IT
.text.HAL_TIM_IRQHandler
0x0000000008001cc8 0x210 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001cc8 HAL_TIM_IRQHandler
0x0000000008001d44 0x210 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001d44 HAL_TIM_IRQHandler
.text.HAL_TIM_OC_DelayElapsedCallback
0x0000000008001ed8 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001ed8 HAL_TIM_OC_DelayElapsedCallback
0x0000000008001f54 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001f54 HAL_TIM_OC_DelayElapsedCallback
.text.HAL_TIM_IC_CaptureCallback
0x0000000008001eec 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001eec HAL_TIM_IC_CaptureCallback
0x0000000008001f68 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001f68 HAL_TIM_IC_CaptureCallback
.text.HAL_TIM_PWM_PulseFinishedCallback
0x0000000008001f00 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001f00 HAL_TIM_PWM_PulseFinishedCallback
0x0000000008001f7c 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001f7c HAL_TIM_PWM_PulseFinishedCallback
.text.HAL_TIM_TriggerCallback
0x0000000008001f14 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001f14 HAL_TIM_TriggerCallback
0x0000000008001f90 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001f90 HAL_TIM_TriggerCallback
.text.TIM_Base_SetConfig
0x0000000008001f28 0x100 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001f28 TIM_Base_SetConfig
0x0000000008001fa4 0x100 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
0x0000000008001fa4 TIM_Base_SetConfig
.text.HAL_TIMEx_CommutCallback
0x0000000008002028 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o
0x0000000008002028 HAL_TIMEx_CommutCallback
0x00000000080020a4 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o
0x00000000080020a4 HAL_TIMEx_CommutCallback
.text.HAL_TIMEx_BreakCallback
0x000000000800203c 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o
0x000000000800203c HAL_TIMEx_BreakCallback
0x00000000080020b8 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o
0x00000000080020b8 HAL_TIMEx_BreakCallback
.text.HAL_UART_Init
0x0000000008002050 0x9a ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
0x0000000008002050 HAL_UART_Init
0x00000000080020cc 0x9a ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
0x00000000080020cc HAL_UART_Init
.text.HAL_UART_Transmit
0x00000000080020ea 0x124 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
0x00000000080020ea HAL_UART_Transmit
0x0000000008002166 0x124 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
0x0000000008002166 HAL_UART_Transmit
.text.HAL_UART_Receive
0x000000000800220e 0x144 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
0x000000000800220e HAL_UART_Receive
0x000000000800228a 0x144 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
0x000000000800228a HAL_UART_Receive
.text.UART_WaitOnFlagUntilTimeout
0x0000000008002352 0xdc ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
*fill* 0x000000000800242e 0x2
0x00000000080023ce 0xdc ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
*fill* 0x00000000080024aa 0x2
.text.UART_SetConfig
0x0000000008002430 0x4e8 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
0x00000000080024ac 0x4e8 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
.text.__NVIC_SetPriority
0x0000000008002918 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x0000000008002994 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
.text.SysTick_Handler
0x000000000800296c 0x20 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x000000000800296c SysTick_Handler
0x00000000080029e8 0x20 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x00000000080029e8 SysTick_Handler
.text.SVC_Setup
0x000000000800298c 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
*fill* 0x000000000800299e 0x2
0x0000000008002a08 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
*fill* 0x0000000008002a1a 0x2
.text.osKernelInitialize
0x00000000080029a0 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x00000000080029a0 osKernelInitialize
0x0000000008002a1c 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x0000000008002a1c osKernelInitialize
.text.osKernelStart
0x00000000080029e8 0x4c ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x00000000080029e8 osKernelStart
0x0000000008002a64 0x4c ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x0000000008002a64 osKernelStart
.text.osThreadNew
0x0000000008002a34 0x124 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x0000000008002a34 osThreadNew
0x0000000008002ab0 0x124 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x0000000008002ab0 osThreadNew
.text.vApplicationGetIdleTaskMemory
0x0000000008002b58 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x0000000008002b58 vApplicationGetIdleTaskMemory
0x0000000008002bd4 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x0000000008002bd4 vApplicationGetIdleTaskMemory
.text.vApplicationGetTimerTaskMemory
0x0000000008002b8c 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x0000000008002b8c vApplicationGetTimerTaskMemory
0x0000000008002c08 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
0x0000000008002c08 vApplicationGetTimerTaskMemory
.text.vListInitialise
0x0000000008002bc0 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/list.o
0x0000000008002bc0 vListInitialise
0x0000000008002c3c 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/list.o
0x0000000008002c3c vListInitialise
.text.vListInitialiseItem
0x0000000008002c00 0x1a ./Middlewares/Third_Party/FreeRTOS/Source/list.o
0x0000000008002c00 vListInitialiseItem
0x0000000008002c7c 0x1a ./Middlewares/Third_Party/FreeRTOS/Source/list.o
0x0000000008002c7c vListInitialiseItem
.text.vListInsertEnd
0x0000000008002c1a 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/list.o
0x0000000008002c1a vListInsertEnd
0x0000000008002c96 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/list.o
0x0000000008002c96 vListInsertEnd
.text.vListInsert
0x0000000008002c62 0x72 ./Middlewares/Third_Party/FreeRTOS/Source/list.o
0x0000000008002c62 vListInsert
0x0000000008002cde 0x72 ./Middlewares/Third_Party/FreeRTOS/Source/list.o
0x0000000008002cde vListInsert
.text.uxListRemove
0x0000000008002cd4 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/list.o
0x0000000008002cd4 uxListRemove
0x0000000008002d50 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/list.o
0x0000000008002d50 uxListRemove
.text.xQueueGenericReset
0x0000000008002d28 0xd0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008002d28 xQueueGenericReset
0x0000000008002da4 0xd0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008002da4 xQueueGenericReset
.text.xQueueGenericCreateStatic
0x0000000008002df8 0xf0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008002df8 xQueueGenericCreateStatic
0x0000000008002e74 0xf0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008002e74 xQueueGenericCreateStatic
.text.prvInitialiseNewQueue
0x0000000008002ee8 0x46 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
*fill* 0x0000000008002f2e 0x2
0x0000000008002f64 0x46 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
*fill* 0x0000000008002faa 0x2
.text.xQueueGenericSend
0x0000000008002f30 0x1fc ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008002f30 xQueueGenericSend
0x0000000008002fac 0x1fc ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008002fac xQueueGenericSend
.text.xQueueGenericSendFromISR
0x000000000800312c 0x136 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x000000000800312c xQueueGenericSendFromISR
*fill* 0x0000000008003262 0x2
0x00000000080031a8 0x136 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x00000000080031a8 xQueueGenericSendFromISR
*fill* 0x00000000080032de 0x2
.text.xQueueReceive
0x0000000008003264 0x1c0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008003264 xQueueReceive
0x00000000080032e0 0x1c0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x00000000080032e0 xQueueReceive
.text.prvCopyDataToQueue
0x0000000008003424 0xd4 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x00000000080034a0 0xd4 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
.text.prvCopyDataFromQueue
0x00000000080034f8 0x4c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008003574 0x4c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
.text.prvUnlockQueue
0x0000000008003544 0xa4 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x00000000080035c0 0xa4 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
.text.prvIsQueueEmpty
0x00000000080035e8 0x2c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008003664 0x2c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
.text.prvIsQueueFull
0x0000000008003614 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008003690 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
.text.vQueueAddToRegistry
0x0000000008003644 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008003644 vQueueAddToRegistry
0x00000000080036c0 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x00000000080036c0 vQueueAddToRegistry
.text.vQueueWaitForMessageRestricted
0x0000000008003698 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008003698 vQueueWaitForMessageRestricted
0x0000000008003714 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
0x0000000008003714 vQueueWaitForMessageRestricted
.text.xTaskCreateStatic
0x0000000008003700 0xba ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003700 xTaskCreateStatic
0x000000000800377c 0xba ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x000000000800377c xTaskCreateStatic
.text.xTaskCreate
0x00000000080037ba 0x8a ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x00000000080037ba xTaskCreate
0x0000000008003836 0x8a ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003836 xTaskCreate
.text.prvInitialiseNewTask
0x0000000008003844 0x14c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x00000000080038c0 0x14c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
.text.prvAddNewTaskToReadyList
0x0000000008003990 0xe0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003a0c 0xe0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
.text.vTaskDelay
0x0000000008003a70 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003a70 vTaskDelay
0x0000000008003aec 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003aec vTaskDelay
.text.vTaskStartScheduler
0x0000000008003ad8 0xe0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003ad8 vTaskStartScheduler
0x0000000008003b54 0xe0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003b54 vTaskStartScheduler
.text.vTaskSuspendAll
0x0000000008003bb8 0x1c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003bb8 vTaskSuspendAll
0x0000000008003c34 0x1c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003c34 vTaskSuspendAll
.text.xTaskResumeAll
0x0000000008003bd4 0x13c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003bd4 xTaskResumeAll
0x0000000008003c50 0x13c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003c50 xTaskResumeAll
.text.xTaskGetTickCount
0x0000000008003d10 0x20 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003d10 xTaskGetTickCount
0x0000000008003d8c 0x20 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003d8c xTaskGetTickCount
.text.xTaskIncrementTick
0x0000000008003d30 0x174 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003d30 xTaskIncrementTick
0x0000000008003dac 0x174 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003dac xTaskIncrementTick
.text.vTaskSwitchContext
0x0000000008003ea4 0xc8 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003ea4 vTaskSwitchContext
0x0000000008003f20 0xc8 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003f20 vTaskSwitchContext
.text.vTaskPlaceOnEventList
0x0000000008003f6c 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003f6c vTaskPlaceOnEventList
0x0000000008003fe8 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003fe8 vTaskPlaceOnEventList
.text.vTaskPlaceOnEventListRestricted
0x0000000008003fb4 0x58 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008003fb4 vTaskPlaceOnEventListRestricted
0x0000000008004030 0x58 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008004030 vTaskPlaceOnEventListRestricted
.text.xTaskRemoveFromEventList
0x000000000800400c 0xc8 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x000000000800400c xTaskRemoveFromEventList
0x0000000008004088 0xc8 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008004088 xTaskRemoveFromEventList
.text.vTaskInternalSetTimeOutState
0x00000000080040d4 0x2c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x00000000080040d4 vTaskInternalSetTimeOutState
0x0000000008004150 0x2c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008004150 vTaskInternalSetTimeOutState
.text.xTaskCheckForTimeOut
0x0000000008004100 0xc4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008004100 xTaskCheckForTimeOut
0x000000000800417c 0xc4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x000000000800417c xTaskCheckForTimeOut
.text.vTaskMissedYield
0x00000000080041c4 0x18 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x00000000080041c4 vTaskMissedYield
0x0000000008004240 0x18 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008004240 vTaskMissedYield
.text.prvIdleTask
0x00000000080041dc 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008004258 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
.text.prvInitialiseTaskLists
0x000000000800420c 0x80 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008004288 0x80 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
.text.prvCheckTasksWaitingTermination
0x000000000800428c 0x5c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008004308 0x5c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
.text.prvDeleteTCB
0x00000000080042e8 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008004364 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
.text.prvResetNextTaskUnblockTime
0x0000000008004350 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x00000000080043cc 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
.text.xTaskGetSchedulerState
0x0000000008004390 0x3c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008004390 xTaskGetSchedulerState
0x000000000800440c 0x3c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x000000000800440c xTaskGetSchedulerState
.text.xTaskPriorityDisinherit
0x00000000080043cc 0xdc ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x00000000080043cc xTaskPriorityDisinherit
0x0000000008004448 0xdc ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008004448 xTaskPriorityDisinherit
.text.prvAddCurrentTaskToDelayedList
0x00000000080044a8 0xa8 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
0x0000000008004524 0xa8 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
.text.xTimerCreateTimerTask
0x0000000008004550 0x90 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x0000000008004550 xTimerCreateTimerTask
0x00000000080045cc 0x90 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x00000000080045cc xTimerCreateTimerTask
.text.xTimerGenericCommand
0x00000000080045e0 0x9c ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x00000000080045e0 xTimerGenericCommand
0x000000000800465c 0x9c ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x000000000800465c xTimerGenericCommand
.text.prvProcessExpiredTimer
0x000000000800467c 0x98 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x00000000080046f8 0x98 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
.text.prvTimerTask
0x0000000008004714 0x24 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x0000000008004790 0x24 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
.text.prvProcessTimerOrBlockTask
0x0000000008004738 0x9c ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x00000000080047b4 0x9c ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
.text.prvGetNextExpireTime
0x00000000080047d4 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x0000000008004850 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
.text.prvSampleTimeNow
0x000000000800481c 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x0000000008004898 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
.text.prvInsertTimerInActiveList
0x000000000800485c 0x84 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x00000000080048d8 0x84 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
.text.prvProcessReceivedCommands
0x00000000080048e0 0x1c4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x000000000800495c 0x1c4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
.text.prvSwitchTimerLists
0x0000000008004aa4 0xc8 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x0000000008004b20 0xc8 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
.text.prvCheckForValidListAndQueue
0x0000000008004b6c 0x80 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
0x0000000008004be8 0x80 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
.text.pxPortInitialiseStack
0x0000000008004bec 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004bec pxPortInitialiseStack
0x0000000008004c68 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004c68 pxPortInitialiseStack
.text.prvTaskExitError
0x0000000008004c54 0x58 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
*fill* 0x0000000008004cac 0x4
0x0000000008004cd0 0x58 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
*fill* 0x0000000008004d28 0x8
.text.SVC_Handler
0x0000000008004cb0 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004cb0 SVC_Handler
0x0000000008004d30 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004d30 SVC_Handler
.text.prvPortStartFirstTask
0x0000000008004cd8 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004d58 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
.text.xPortStartScheduler
0x0000000008004d00 0x144 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004d00 xPortStartScheduler
0x0000000008004d80 0x144 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004d80 xPortStartScheduler
.text.vPortEnterCritical
0x0000000008004e44 0x60 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004e44 vPortEnterCritical
0x0000000008004ec4 0x60 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004ec4 vPortEnterCritical
.text.vPortExitCritical
0x0000000008004ea4 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004ea4 vPortExitCritical
*fill* 0x0000000008004ef8 0x8
0x0000000008004f24 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004f24 vPortExitCritical
*fill* 0x0000000008004f78 0x8
.text.PendSV_Handler
0x0000000008004f00 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004f00 PendSV_Handler
0x0000000008004f80 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004f80 PendSV_Handler
.text.xPortSysTickHandler
0x0000000008004f68 0x44 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004f68 xPortSysTickHandler
0x0000000008004fe8 0x44 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004fe8 xPortSysTickHandler
.text.vPortSetupTimerInterrupt
0x0000000008004fac 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008004fac vPortSetupTimerInterrupt
0x000000000800502c 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x000000000800502c vPortSetupTimerInterrupt
.text.vPortEnableVFP
0x0000000008004ff4 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008005074 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
.text.vPortValidateInterruptPriority
0x0000000008005008 0x80 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008005008 vPortValidateInterruptPriority
0x0000000008005088 0x80 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
0x0000000008005088 vPortValidateInterruptPriority
.text.pvPortMalloc
0x0000000008005088 0x198 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
0x0000000008005088 pvPortMalloc
0x0000000008005108 0x198 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
0x0000000008005108 pvPortMalloc
.text.vPortFree
0x0000000008005220 0xc4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
0x0000000008005220 vPortFree
0x00000000080052a0 0xc4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
0x00000000080052a0 vPortFree
.text.prvHeapInit
0x00000000080052e4 0xc4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
0x0000000008005364 0xc4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
.text.prvInsertBlockIntoFreeList
0x00000000080053a8 0xb4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
.text.memset 0x000000000800545c 0x10 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-memset.o)
0x000000000800545c memset
0x0000000008005428 0xb4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
.text.memset 0x00000000080054dc 0x10 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-memset.o)
0x00000000080054dc memset
.text._reclaim_reent
0x000000000800546c 0xac C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-reent.o)
0x000000000800546c _reclaim_reent
0x00000000080054ec 0xac C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-reent.o)
0x00000000080054ec _reclaim_reent
.text.__libc_init_array
0x0000000008005518 0x48 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-init.o)
0x0000000008005518 __libc_init_array
0x0000000008005598 0x48 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-init.o)
0x0000000008005598 __libc_init_array
.text.__retarget_lock_acquire_recursive
0x0000000008005560 0x2 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-lock.o)
0x0000000008005560 __retarget_lock_acquire_recursive
0x00000000080055e0 0x2 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-lock.o)
0x00000000080055e0 __retarget_lock_acquire_recursive
.text.__retarget_lock_release_recursive
0x0000000008005562 0x2 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-lock.o)
0x0000000008005562 __retarget_lock_release_recursive
.text.memcpy 0x0000000008005564 0x1c C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-memcpy-stub.o)
0x0000000008005564 memcpy
.text._free_r 0x0000000008005580 0x98 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-freer.o)
0x0000000008005580 _free_r
0x00000000080055e2 0x2 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-lock.o)
0x00000000080055e2 __retarget_lock_release_recursive
.text.memcpy 0x00000000080055e4 0x1c C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-memcpy-stub.o)
0x00000000080055e4 memcpy
.text._free_r 0x0000000008005600 0x98 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-freer.o)
0x0000000008005600 _free_r
.text.__malloc_lock
0x0000000008005618 0xc C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-mlock.o)
0x0000000008005618 __malloc_lock
0x0000000008005698 0xc C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-mlock.o)
0x0000000008005698 __malloc_lock
.text.__malloc_unlock
0x0000000008005624 0xc C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-mlock.o)
0x0000000008005624 __malloc_unlock
0x00000000080056a4 0xc C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-mlock.o)
0x00000000080056a4 __malloc_unlock
*(.glue_7)
.glue_7 0x0000000008005630 0x0 linker stubs
.glue_7 0x00000000080056b0 0x0 linker stubs
*(.glue_7t)
.glue_7t 0x0000000008005630 0x0 linker stubs
.glue_7t 0x00000000080056b0 0x0 linker stubs
*(.eh_frame)
.eh_frame 0x0000000008005630 0x0 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o
.eh_frame 0x00000000080056b0 0x0 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o
*(.init)
.init 0x0000000008005630 0x4 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crti.o
0x0000000008005630 _init
.init 0x0000000008005634 0x8 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtn.o
.init 0x00000000080056b0 0x4 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crti.o
0x00000000080056b0 _init
.init 0x00000000080056b4 0x8 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtn.o
*(.fini)
.fini 0x000000000800563c 0x4 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crti.o
0x000000000800563c _fini
.fini 0x0000000008005640 0x8 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtn.o
0x0000000008005648 . = ALIGN (0x4)
0x0000000008005648 _etext = .
.fini 0x00000000080056bc 0x4 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crti.o
0x00000000080056bc _fini
.fini 0x00000000080056c0 0x8 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtn.o
0x00000000080056c8 . = ALIGN (0x4)
0x00000000080056c8 _etext = .
.vfp11_veneer 0x0000000008005648 0x0
.vfp11_veneer 0x0000000008005648 0x0 linker stubs
.vfp11_veneer 0x00000000080056c8 0x0
.vfp11_veneer 0x00000000080056c8 0x0 linker stubs
.v4_bx 0x0000000008005648 0x0
.v4_bx 0x0000000008005648 0x0 linker stubs
.v4_bx 0x00000000080056c8 0x0
.v4_bx 0x00000000080056c8 0x0 linker stubs
.iplt 0x0000000008005648 0x0
.iplt 0x0000000008005648 0x0 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o
.iplt 0x00000000080056c8 0x0
.iplt 0x00000000080056c8 0x0 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o
.rodata 0x0000000008005648 0x90
0x0000000008005648 . = ALIGN (0x4)
.rodata 0x00000000080056c8 0x90
0x00000000080056c8 . = ALIGN (0x4)
*(.rodata)
.rodata 0x0000000008005648 0x18 ./Core/Src/main.o
.rodata 0x0000000008005660 0x5 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
*fill* 0x0000000008005665 0x3
.rodata 0x0000000008005668 0xd ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
.rodata 0x00000000080056c8 0x18 ./Core/Src/main.o
.rodata 0x00000000080056e0 0x5 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
*fill* 0x00000000080056e5 0x3
.rodata 0x00000000080056e8 0xd ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
*(.rodata*)
*fill* 0x0000000008005675 0x3
*fill* 0x00000000080056f5 0x3
.rodata.mainTask_attributes
0x0000000008005678 0x24 ./Core/Src/main.o
0x0000000008005678 mainTask_attributes
0x00000000080056f8 0x24 ./Core/Src/main.o
0x00000000080056f8 mainTask_attributes
.rodata.doorHandler_attributes
0x000000000800569c 0x24 ./Core/Src/main.o
0x000000000800569c doorHandler_attributes
0x000000000800571c 0x24 ./Core/Src/main.o
0x000000000800571c doorHandler_attributes
.rodata.AHBPrescTable
0x00000000080056c0 0x10 ./Core/Src/system_stm32f4xx.o
0x00000000080056c0 AHBPrescTable
0x0000000008005740 0x10 ./Core/Src/system_stm32f4xx.o
0x0000000008005740 AHBPrescTable
.rodata.APBPrescTable
0x00000000080056d0 0x8 ./Core/Src/system_stm32f4xx.o
0x00000000080056d0 APBPrescTable
0x00000000080056d8 . = ALIGN (0x4)
0x0000000008005750 0x8 ./Core/Src/system_stm32f4xx.o
0x0000000008005750 APBPrescTable
0x0000000008005758 . = ALIGN (0x4)
.ARM.extab 0x00000000080056d8 0x0
0x00000000080056d8 . = ALIGN (0x4)
.ARM.extab 0x0000000008005758 0x0
0x0000000008005758 . = ALIGN (0x4)
*(.ARM.extab* .gnu.linkonce.armextab.*)
0x00000000080056d8 . = ALIGN (0x4)
0x0000000008005758 . = ALIGN (0x4)
.ARM 0x00000000080056d8 0x8
0x00000000080056d8 . = ALIGN (0x4)
0x00000000080056d8 __exidx_start = .
.ARM 0x0000000008005758 0x8
0x0000000008005758 . = ALIGN (0x4)
0x0000000008005758 __exidx_start = .
*(.ARM.exidx*)
.ARM.exidx 0x00000000080056d8 0x8 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard\libgcc.a(_udivmoddi4.o)
0x00000000080056e0 __exidx_end = .
0x00000000080056e0 . = ALIGN (0x4)
.ARM.exidx 0x0000000008005758 0x8 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard\libgcc.a(_udivmoddi4.o)
0x0000000008005760 __exidx_end = .
0x0000000008005760 . = ALIGN (0x4)
.rel.dyn 0x00000000080056e0 0x0
.rel.iplt 0x00000000080056e0 0x0 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o
.rel.dyn 0x0000000008005760 0x0
.rel.iplt 0x0000000008005760 0x0 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o
.preinit_array 0x00000000080056e0 0x0
0x00000000080056e0 . = ALIGN (0x4)
0x00000000080056e0 PROVIDE (__preinit_array_start = .)
.preinit_array 0x0000000008005760 0x0
0x0000000008005760 . = ALIGN (0x4)
0x0000000008005760 PROVIDE (__preinit_array_start = .)
*(.preinit_array*)
0x00000000080056e0 PROVIDE (__preinit_array_end = .)
0x00000000080056e0 . = ALIGN (0x4)
0x0000000008005760 PROVIDE (__preinit_array_end = .)
0x0000000008005760 . = ALIGN (0x4)
.init_array 0x00000000080056e0 0x4
0x00000000080056e0 . = ALIGN (0x4)
0x00000000080056e0 PROVIDE (__init_array_start = .)
.init_array 0x0000000008005760 0x4
0x0000000008005760 . = ALIGN (0x4)
0x0000000008005760 PROVIDE (__init_array_start = .)
*(SORT_BY_NAME(.init_array.*))
*(.init_array*)
.init_array 0x00000000080056e0 0x4 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o
0x00000000080056e4 PROVIDE (__init_array_end = .)
0x00000000080056e4 . = ALIGN (0x4)
.init_array 0x0000000008005760 0x4 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o
0x0000000008005764 PROVIDE (__init_array_end = .)
0x0000000008005764 . = ALIGN (0x4)
.fini_array 0x00000000080056e4 0x4
0x00000000080056e4 . = ALIGN (0x4)
.fini_array 0x0000000008005764 0x4
0x0000000008005764 . = ALIGN (0x4)
[!provide] PROVIDE (__fini_array_start = .)
*(SORT_BY_NAME(.fini_array.*))
*(.fini_array*)
.fini_array 0x00000000080056e4 0x4 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o
.fini_array 0x0000000008005764 0x4 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o
[!provide] PROVIDE (__fini_array_end = .)
0x00000000080056e8 . = ALIGN (0x4)
0x00000000080056e8 _sidata = LOADADDR (.data)
0x0000000008005768 . = ALIGN (0x4)
0x0000000008005768 _sidata = LOADADDR (.data)
.data 0x0000000020000000 0x60 load address 0x00000000080056e8
.data 0x0000000020000000 0x60 load address 0x0000000008005768
0x0000000020000000 . = ALIGN (0x4)
0x0000000020000000 _sdata = .
*(.data)
@ -5120,11 +5120,11 @@ LOAD C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext
0x0000000020000060 . = ALIGN (0x4)
0x0000000020000060 _edata = .
.igot.plt 0x0000000020000060 0x0 load address 0x0000000008005748
.igot.plt 0x0000000020000060 0x0 load address 0x00000000080057c8
.igot.plt 0x0000000020000060 0x0 C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o
0x0000000020000060 . = ALIGN (0x4)
.bss 0x0000000020000060 0x4bf4 load address 0x0000000008005748
.bss 0x0000000020000060 0x4bf4 load address 0x00000000080057c8
0x0000000020000060 _sbss = .
0x0000000020000060 __bss_start__ = _sbss
*(.bss)
@ -5275,7 +5275,7 @@ LOAD C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext
0x0000000020004c54 __bss_end__ = _ebss
._user_heap_stack
0x0000000020004c54 0x3004 load address 0x0000000008005748
0x0000000020004c54 0x3004 load address 0x00000000080057c8
0x0000000020004c58 . = ALIGN (0x8)
*fill* 0x0000000020004c54 0x4
[!provide] PROVIDE (end = .)
@ -5570,27 +5570,27 @@ LOAD C:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext
.debug_macro 0x0000000000003164 0x233 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
.debug_macro 0x0000000000003397 0x1c0 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
.debug_line 0x0000000000000000 0x157ed
.debug_line 0x0000000000000000 0xc35 ./Core/Src/main.o
.debug_line 0x0000000000000c35 0x795 ./Core/Src/stm32f4xx_hal_msp.o
.debug_line 0x00000000000013ca 0x7b4 ./Core/Src/stm32f4xx_hal_timebase_tim.o
.debug_line 0x0000000000001b7e 0x7e3 ./Core/Src/stm32f4xx_it.o
.debug_line 0x0000000000002361 0x7c8 ./Core/Src/system_stm32f4xx.o
.debug_line 0x0000000000002b29 0x7a ./Core/Startup/startup_stm32f411retx.o
.debug_line 0x0000000000002ba3 0xa2e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o
.debug_line 0x00000000000035d1 0xcdd ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
.debug_line 0x00000000000042ae 0xb66 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o
.debug_line 0x0000000000004e14 0xda7 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
.debug_line 0x0000000000005bbb 0x34f4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
.debug_line 0x00000000000090af 0x19c6 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o
.debug_line 0x000000000000aa75 0x2ad0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
.debug_line 0x000000000000d545 0x244f ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
.debug_line 0x000000000000f994 0x797 ./Middlewares/Third_Party/FreeRTOS/Source/list.o
.debug_line 0x000000000001012b 0x1761 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
.debug_line 0x000000000001188c 0x1e51 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
.debug_line 0x00000000000136dd 0xdfb ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
.debug_line 0x00000000000144d8 0x957 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
.debug_line 0x0000000000014e2f 0x9be ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
.debug_line 0x0000000000000000 0x15830
.debug_line 0x0000000000000000 0xc78 ./Core/Src/main.o
.debug_line 0x0000000000000c78 0x795 ./Core/Src/stm32f4xx_hal_msp.o
.debug_line 0x000000000000140d 0x7b4 ./Core/Src/stm32f4xx_hal_timebase_tim.o
.debug_line 0x0000000000001bc1 0x7e3 ./Core/Src/stm32f4xx_it.o
.debug_line 0x00000000000023a4 0x7c8 ./Core/Src/system_stm32f4xx.o
.debug_line 0x0000000000002b6c 0x7a ./Core/Startup/startup_stm32f411retx.o
.debug_line 0x0000000000002be6 0xa2e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o
.debug_line 0x0000000000003614 0xcdd ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o
.debug_line 0x00000000000042f1 0xb66 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o
.debug_line 0x0000000000004e57 0xda7 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o
.debug_line 0x0000000000005bfe 0x34f4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o
.debug_line 0x00000000000090f2 0x19c6 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o
.debug_line 0x000000000000aab8 0x2ad0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.o
.debug_line 0x000000000000d588 0x244f ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
.debug_line 0x000000000000f9d7 0x797 ./Middlewares/Third_Party/FreeRTOS/Source/list.o
.debug_line 0x000000000001016e 0x1761 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o
.debug_line 0x00000000000118cf 0x1e51 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o
.debug_line 0x0000000000013720 0xdfb ./Middlewares/Third_Party/FreeRTOS/Source/timers.o
.debug_line 0x000000000001451b 0x957 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
.debug_line 0x0000000000014e72 0x9be ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
.debug_str 0x0000000000000000 0x9856e
.debug_str 0x0000000000000000 0x8fada ./Core/Src/main.o